diff --git a/.editorconfig b/.editorconfig
index 217e8914d..aa5c662b6 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,21 +1,14 @@
-# EditorConfig helps developers define and maintain consistent
-# coding styles between different editors and IDEs
-# editorconfig.org
+# EditorConfig is awesome: http://EditorConfig.org
root = true
-
[*]
-
-# Change these settings to your own preference
indent_style = tab
indent_size = 2
-
-# We recommend you to keep these unchanged
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
-[{package.json,.travis.yml}]
+[{*.json,*.yml}]
indent_style = space
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 000000000..07e7ff392
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,15 @@
+Thank you for your interest in contributing to this library!
+
+## Using the issue tracker
+
+The issue tracker on GitHub is the preferred channel for bug reports, feature requests, and discussions about pdfmake library.
+
+Bug reports require example for reproduce issue runnable on [playground](http://pdfmake.org/playground.html) or https://jsfiddle.net/ or a similar service.
+
+## Pull requests
+
+**Please do not commit changes in `build` folder.**
+
+**Please do not commit changes in `package.json` file if is not related to the pull request changes.**
+
+Use [EditorConfig](https://editorconfig.org/) in your IDE for keep code style. Do not make code style changes unless it is related to the pull request.
diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml
new file mode 100644
index 000000000..1c6bccffd
--- /dev/null
+++ b/.github/workflows/node.js.yml
@@ -0,0 +1,26 @@
+# 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: Node.js CI
+
+on: [push, pull_request]
+
+jobs:
+ build:
+
+ runs-on: ${{ matrix.os }}
+
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ubuntu-latest, windows-latest, macos-latest]
+ node-version: [18.x, 20.x, 22.x]
+
+ 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 install
+ - run: npm test
diff --git a/.gitignore b/.gitignore
index 358ef2952..557914a1d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,5 +6,7 @@ doc
*.iml
*.ipr
*.iws
-test-env
nbproject
+package-lock.json
+yarn.lock
+/js
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 4fe6dc88a..000000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "libs/FileSaver.js"]
- path = libs/FileSaver.js
- url = https://github.com/eligrey/FileSaver.js
diff --git a/.jshintrc b/.jshintrc
deleted file mode 100644
index 9a8b4c2ab..000000000
--- a/.jshintrc
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- // Details: https://github.com/victorporof/Sublime-JSHint#using-your-own-jshintrc-options
- // Example: https://github.com/jshint/jshint/blob/master/examples/.jshintrc
- // Documentation: http://www.jshint.com/docs/
- "browser": true,
- "esnext": true,
- "globals": { "module": true, "define": true, "require": true },
- "globalstrict": true,
- "quotmark": true,
- "smarttabs": true,
- "trailing": true,
- "undef": true,
- "unused": true,
- "mocha": true
-}
diff --git a/.npmignore b/.npmignore
index a383ff78b..6f789122e 100644
--- a/.npmignore
+++ b/.npmignore
@@ -1,9 +1,15 @@
.git*
+.idea/
+dev-playground/
docs/
examples/
tests/
-test-env/
+build/fonts/
+package-lock.json
yarn.lock
-composer.json
-bower.json
-.travis.yml
+.editorconfig
+eslint.config.mjs
+build-fonts.js
+build-examples.js
+babel.config.json
+webpack.config.js
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index e79f494b4..000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-language: node_js
-node_js:
- - 6
- - node
-
-os:
- - linux
- - osx
-
-sudo: false
-
-cache:
- yarn: true
- directories:
- - node_modules
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 000000000..01f6670f0
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,121 @@
+# Changelog
+
+## Unreleased
+
+- Used fetch API for downloading fonts and images
+
+## 0.3.0-beta.18 - 2025-05-09
+
+- Added `section` node
+- Fixed crash that occurred when using automatic page height
+- Fixed text overflow with some non-wrappable texts
+
+## 0.3.0-beta.17 - 2025-04-29
+
+- Fixed DoS via repeatedly redirect URL in file embedding
+
+## 0.3.0-beta.16 - 2025-04-26
+
+- Update pdfkit to 0.17.0
+- Update Roboto font (version 3.011)
+- Fixed URL resolving for same URL in browser
+- Fixed sharing URL resolver for not available URLs
+
+## 0.3.0-beta.15 - 2025-01-01
+
+- Reverted to the original `pdfkit` package, moving away from `@foliojs-fork`
+- Update pdfkit to 0.16.0
+- Fixed a potential issue in the minimized library when detecting the orientation of JPEG images
+
+## 0.3.0-beta.14 - 2024-12-23
+
+- Fixed big size pdfmake bundle for browser
+
+## 0.3.0-beta.13 - 2024-12-15
+
+- Update pdfkit to 0.15.2
+- Fixed speed in Node.js if is fetching URL for image or font redirected
+- Fixed aspect ratio for image with exif orientation tag
+- Fixed font size calculation for watermark if is page orientation is changed
+
+## 0.3.0-beta.12 - 2024-11-03
+
+- Added support PDF/A and PDF/UA (see [documentation](https://pdfmake.github.io/docs/0.3/document-definition-object/pdfa/))
+- Added support `link`, `linkToPage` and `linkToDestination` for SVG
+- Update pdfkit to 0.15.1
+- Fixed bug with how page breaks provoked by cells with rowspan were handled
+- Fixed find where previous cell started with row span and col span combination
+- Fixed calculating correctly the 'y' at the end of a rowSpan with dontBreakRows
+
+## 0.3.0-beta.11 - 2024-10-09
+
+- Fixed drawing top horizontal line of the table with page break
+
+## 0.3.0-beta.10 - 2024-09-22
+
+- Drop support Internet Explorer 11 (Microsoft will not support from 2022)
+- Minimal supported version Node.js 18 LTS
+- Update Roboto font (version 3.010)
+- Fixed page break in a column group
+- Fixed saving margins in an unbreakable block
+- Fixed fillColor items in unbreakable blocks
+- Fixed calculating correctly the 'y' at the end of a rowSpan with dontBreakRows
+- Fixed margins (top/bottom) of nodes and row height are considered for breaking page
+- Fixed margins after page break
+- Fixed margins of nodes with relativePosition or absolutePosition are ignored and don't interfere with the regular flow of the layout
+
+## 0.3.0-beta.9 - 2024-08-09
+
+- Fixed and validates input values headerRows and keepWithHeaderRows
+- Fixed numbering nested ordered lists
+- Speed up StyleContextStack.autopush() for large tables
+- Fixed widths of table columns with percentages
+- Fixed storing the correct context in the ending cell of a row span when there were nested column groups (columns or tables)
+
+## 0.3.0-beta.8 - 2024-03-07
+
+- Removed unused brfs dependency
+
+## 0.3.0-beta.7 - 2024-01-01
+
+- Minimal supported version Node.js 16 LTS
+- Added padding option for QR code
+- Allow the document language to be specified
+- Fixed cover image size inside table
+- Fixed "Cannot read properties of undefined (reading 'bottomMost')" if table contains too few rows
+- Fixed invalid source-maps in built js file
+
+## 0.3.0-beta.6 - 2023-11-09
+
+- Update pdfkit to 0.14.0
+- Update Roboto font (version 3.008)
+
+## 0.3.0-beta.5 - 2023-02-19
+
+- Fixed document buffer size. Node.js 18+ allow max 1 GiB.
+
+## 0.3.0-beta.4 - 2022-12-17
+
+- Minimal supported version Node.js 14 LTS
+- Fixed theoretical vulnerability CVE-2022-46161 (**It was never part of version released as npm package or cdnjs or bower or packagist!**)
+
+## 0.3.0-beta.3 - 2022-10-09
+
+- Updated Roboto font (version 3.005)
+- Fixed calculating auto page height
+- Fixed TrueType Collection loading from URL
+- Fixed refetching fonts from URL
+
+## 0.3.0-beta.2 - 2022-04-01
+
+- Attachments embedding
+- Support passing headers to request for loading font files and images via URL addresses
+
+## 0.3.0-beta.1 - 2022-01-01
+
+- Port code base to ES6+
+- Unify interface for node and browser **(breaking change)**
+- All methods return promise instead of using callback **(breaking change)**
+- Change including virtual font storage in client-side **(breaking change)**
+- Change parameters of `pageBreakBefore` function **(breaking change)**
+- Support for loading font files and images via URL adresses (https:// or http:// protocol) in Node.js (client and server side now)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index d4bd75d69..000000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,9 +0,0 @@
-Thank you for your interest in contributing to this library!
-
-## Using the issue tracker
-
-The issue tracker on GitHub is the preferred channel for bug reports, feature requests, and discussions.
-
-## Pull requests
-
-**Please do not commit changes in `build` folder.**
diff --git a/LICENSE b/LICENSE
index b67084dfe..57ddc7c39 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,7 @@
The MIT License (MIT)
-Copyright (c) 2014 bpampuch
+Copyright (c) 2014-2015 bpampuch
+ 2016-2025 liborm85
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
diff --git a/README.md b/README.md
index f67a8d86c..afcb3e568 100644
--- a/README.md
+++ b/README.md
@@ -1,27 +1,23 @@
-# pdfmake [![Build Status][travis_img]][travis_url] [![GitHub][github_img]][github_url] [![npm][npm_img]][npm_url] [![Bower][bower_img]][bower_url] [![Packagist][packagist_img]][packagist_url] [![CDNJS][cdnjs_img]][cndjs_url]
+# pdfmake [![Node.js CI][githubactions_img]][githubactions_url] [![GitHub][github_img]][github_url] [![npm][npm_img]][npm_url] [![CDNJS][cdnjs_img]][cndjs_url]
-[travis_img]: https://travis-ci.org/bpampuch/pdfmake.png?branch=master
-[travis_url]: https://travis-ci.org/bpampuch/pdfmake
+[githubactions_img]: https://github.com/bpampuch/pdfmake/actions/workflows/node.js.yml/badge.svg?branch=master
+[githubactions_url]: https://github.com/bpampuch/pdfmake/actions
-[github_img]: https://img.shields.io/github/release/bpampuch/pdfmake.svg
+[github_img]: https://img.shields.io/github/release/bpampuch/pdfmake.svg?colorB=0E7FBF
[github_url]: https://github.com/bpampuch/pdfmake/releases/latest
[npm_img]: https://img.shields.io/npm/v/pdfmake.svg?colorB=0E7FBF
[npm_url]: https://www.npmjs.com/package/pdfmake
-[bower_img]: https://img.shields.io/bower/v/pdfmake.svg?colorB=0E7FBF
-[bower_url]: https://github.com/bpampuch/pdfmake
-
-[packagist_img]: https://img.shields.io/packagist/v/bpampuch/pdfmake.svg?colorB=0E7FBF
-[packagist_url]: https://packagist.org/packages/bpampuch/pdfmake
-
[cdnjs_img]: https://img.shields.io/cdnjs/v/pdfmake.svg?colorB=0E7FBF
[cndjs_url]: https://cdnjs.com/libraries/pdfmake
-Client/server side PDF printing in pure JavaScript
+PDF document generation library for server-side and client-side in pure JavaScript.
-Check out [the playground](http://bpampuch.github.io/pdfmake/playground.html)
+Check out [the playground](http://bpampuch.github.io/pdfmake/playground.html) and [examples](https://github.com/bpampuch/pdfmake/tree/master/examples).
+
+#### This is unstable master branch for version 0.3.x, for stable use version 0.2.x see [branch 0.2](https://github.com/bpampuch/pdfmake/tree/0.2) or older version 0.1.x see [branch 0.1](https://github.com/bpampuch/pdfmake/tree/0.1).
### Features
@@ -29,561 +25,56 @@ Check out [the playground](http://bpampuch.github.io/pdfmake/playground.html)
* text-alignments (left, right, centered, justified),
* numbered and bulleted lists,
* tables and columns
- * auto/fixed/star-sized widths,
- * col-spans and row-spans,
- * headers automatically repeated in case of a page-break,
+ * auto/fixed/star-sized widths,
+ * col-spans and row-spans,
+ * headers automatically repeated in case of a page-break,
* images and vector graphics,
* convenient styling and style inheritance,
* page headers and footers:
- * static or dynamic content,
- * access to current page number and page count,
-* background-layer
+ * static or dynamic content,
+ * access to current page number and page count,
+* background-layer,
* page dimensions and orientations,
* margins,
+* document sections,
* custom page breaks,
* font embedding,
* support for complex, multi-level (nested) structures,
-* helper methods for opening/printing/downloading the generated PDF.
-* setting of PDF metadata (e.g. author, subject)
-
-## Getting Started
-
-This document will walk you through the basics of pdfmake and will show you how to create PDF files in the browser. If you're interested in server-side printing check the examples folder.
-
-To begin with the default configuration, you should include two files:
-
-* **pdfmake.min.js**,
-* **vfs_fonts.js** - default font definition (it contains Roboto, you can however [use custom fonts instead](https://github.com/bpampuch/pdfmake/wiki/Custom-Fonts---client-side))
-
-```html
-
-
-
-
- my first pdfmake example
-
-
-
-
-...
-```
-
-You can get both files using npm:
-```
-npm install pdfmake
-```
-
-or bower:
-```
-bower install pdfmake
-```
-
-or copy them directly from the build directory from the repository. Otherwise you can always [build it from sources](#building-from-sources).
-
-### Document-definition-object
-
-pdfmake follows a declarative approach. It basically means, you'll never have to calculate positions manually or use commands like: ```writeText(text, x, y)```, ```moveDown``` etc..., as you would with a lot of other libraries.
-
-The most fundamental concept to be mastered is the document-definition-object which can be as simple as:
-
-```js
-var docDefinition = { content: 'This is an sample PDF printed with pdfMake' };
-```
-
-or become pretty complex (having multi-level tables, images, lists, paragraphs, margins, styles etc...).
-
-As soon as you have the document-definition-object, you're ready to create and open/print/download the PDF:
-
-```js
-// open the PDF in a new window
-pdfMake.createPdf(docDefinition).open();
-
-// print the PDF
-pdfMake.createPdf(docDefinition).print();
-
-// download the PDF
-pdfMake.createPdf(docDefinition).download();
-
-// put the PDF into your own page as URL data
-const pdfDocGenerator = pdfMake.createPdf(docDefinition);
-pdfDocGenerator.getDataUrl((dataUrl) => {
- const targetElement = document.querySelector('#iframeContainer');
- const iframe = document.createElement('iframe');
- iframe.src = dataUrl;
- targetElement.appendChild(iframe);
-});
-
-// get the PDF as base64 data
-const pdfDocGenerator = pdfMake.createPdf(docDefinition);
-pdfDocGenerator.getBase64((data) => {
- alert(data);
-});
-
-// or get the PDF as buffer
-const pdfDocGenerator = pdfMake.createPdf(docDefinition);
-pdfDocGenerator.getBuffer((buffer) => {
- // ...
-});
-```
-
-#### Styling
-pdfmake makes it possible to style any paragraph or its part:
-
-```js
-var docDefinition = {
- content: [
- // if you don't need styles, you can use a simple string to define a paragraph
- 'This is a standard paragraph, using default style',
-
- // using a { text: '...' } object lets you set styling properties
- { text: 'This paragraph will have a bigger font', fontSize: 15 },
-
- // if you set the value of text to an array instead of a string, you'll be able
- // to style any part individually
- {
- text: [
- 'This paragraph is defined as an array of elements to make it possible to ',
- { text: 'restyle part of it and make it bigger ', fontSize: 15 },
- 'than the rest.'
- ]
- }
- ]
-};
-```
-
-#### Style dictionaries
-It's also possible to define a dictionary of reusable styles:
-
-```js
-var docDefinition = {
- content: [
- { text: 'This is a header', style: 'header' },
- 'No styling here, this is a standard paragraph',
- { text: 'Another text', style: 'anotherStyle' },
- { text: 'Multiple styles applied', style: [ 'header', 'anotherStyle' ] }
- ],
-
- styles: {
- header: {
- fontSize: 22,
- bold: true
- },
- anotherStyle: {
- italics: true,
- alignment: 'right'
- }
- }
-};
-
-```
-
-To have a deeper understanding of styling in pdfmake, style inheritance and local-style-overrides check STYLES1, STYLES2 and STYLES3 examples in playground.
-
-#### Columns
-
-By default paragraphs are rendered as a vertical stack of elements (one below another). It is possible however to divide available space into columns.
-
-```js
-var docDefinition = {
- content: [
- 'This paragraph fills full width, as there are no columns. Next paragraph however consists of three columns',
- {
- columns: [
- {
- // auto-sized columns have their widths based on their content
- width: 'auto',
- text: 'First column'
- },
- {
- // star-sized columns fill the remaining space
- // if there's more than one star-column, available width is divided equally
- width: '*',
- text: 'Second column'
- },
- {
- // fixed width
- width: 100,
- text: 'Third column'
- },
- {
- // % width
- width: '20%',
- text: 'Fourth column'
- }
- ],
- // optional space between columns
- columnGap: 10
- },
- 'This paragraph goes below all columns and has full width'
- ]
-};
-
-```
-
-Column content is not limited to a simple text. It can actually contain any valid pdfmake element. Make sure to look at the COLUMNS example in playground.
-
-#### Tables
-
-Conceptually tables are similar to columns. They can however have headers, borders and cells spanning over multiple columns/rows.
-
-```js
-var docDefinition = {
- content: [
- {
- layout: 'lightHorizontalLines', // optional
- table: {
- // headers are automatically repeated if the table spans over multiple pages
- // you can declare how many rows should be treated as headers
- headerRows: 1,
- widths: [ '*', 'auto', 100, '*' ],
-
- body: [
- [ 'First', 'Second', 'Third', 'The last one' ],
- [ 'Value 1', 'Value 2', 'Value 3', 'Value 4' ],
- [ { text: 'Bold value', bold: true }, 'Val 2', 'Val 3', 'Val 4' ]
- ]
- }
- }
- ]
-};
-```
-
-##### Own table layouts
-
-Own table layouts must be defined before calling `pdfMake.createPdf(docDefinition)`.
-```js
-pdfMake.tableLayouts = {
- exampleLayout: {
- hLineWidth: function (i, node) {
- if (i === 0 || i === node.table.body.length) {
- return 0;
- }
- return (i === node.table.headerRows) ? 2 : 1;
- },
- vLineWidth: function (i) {
- return 0;
- },
- hLineColor: function (i) {
- return i === 1 ? 'black' : '#aaa';
- },
- paddingLeft: function (i) {
- return i === 0 ? 0 : 8;
- },
- paddingRight: function (i, node) {
- return (i === node.table.widths.length - 1) ? 0 : 8;
- }
- }
-};
-
-// download the PDF
-pdfMake.createPdf(docDefinition).download();
-```
-
-All concepts related to tables are covered by TABLES example in playground.
-
-#### Lists
-
-pdfMake supports both numbered and bulleted lists:
-
-```js
-var docDefinition = {
- content: [
- 'Bulleted list example:',
- {
- // to treat a paragraph as a bulleted list, set an array of items under the ul key
- ul: [
- 'Item 1',
- 'Item 2',
- 'Item 3',
- { text: 'Item 4', bold: true },
- ]
- },
-
- 'Numbered list example:',
- {
- // for numbered lists set the ol key
- ol: [
- 'Item 1',
- 'Item 2',
- 'Item 3'
- ]
- }
- ]
-};
-```
-
-#### Headers and footers
-
-Page headers and footers in pdfmake can be: *static* or *dynamic*.
-
-They use the same syntax:
-
-```js
-var docDefinition = {
- header: 'simple text',
-
- footer: {
- columns: [
- 'Left part',
- { text: 'Right part', alignment: 'right' }
- ]
- },
-
- content: (...)
-};
-```
+* table of contents,
+* helper methods for opening/printing/downloading the generated PDF,
+* setting of PDF metadata (e.g. author, subject).
-For dynamically generated content (including page numbers, page count and page size) you can pass a function to the header or footer:
-
-```js
-var docDefinition = {
- footer: function(currentPage, pageCount) { return currentPage.toString() + ' of ' + pageCount; },
- header: function(currentPage, pageCount, pageSize) {
- // you can apply any logic and return any valid pdfmake element
-
- return [
- { text: 'simple text', alignment: (currentPage % 2) ? 'left' : 'right' },
- { canvas: [ { type: 'rect', x: 170, y: 32, w: pageSize.width - 170, h: 40 } ] }
- ]
- },
- (...)
-};
-```
-
-#### Background-layer
-
-The background-layer will be added on every page.
-
-```js
-var docDefinition = {
- background: 'simple text',
-
- content: (...)
-};
-```
+## Documentation
-It may contain any other object as well (images, tables, ...) or be dynamically generated:
+**Documentation URL: https://pdfmake.github.io/docs/**
-```js
-var docDefinition = {
- background: function(currentPage) {
- return 'simple text on page ' + currentPage
- },
-
- content: (...)
-};
-```
-
-#### Margins
-
-Any element in pdfMake can have a margin:
-
-```js
-(...)
-// margin: [left, top, right, bottom]
-{ text: 'sample', margin: [ 5, 2, 10, 20 ] },
-
-// margin: [horizontal, vertical]
-{ text: 'another text', margin: [5, 2] },
-
-// margin: equalLeftTopRightBottom
-{ text: 'last one', margin: 5 }
-(...)
-```
-
-#### Stack of paragraphs
-
-You could have figured out by now (from the examples), that if you set the ```content``` key to an array, the document becomes a stack of paragraphs.
-
-You'll quite often reuse this structure in a nested element, like in the following example:
-```js
-var docDefinition = {
- content: [
- 'paragraph 1',
- 'paragraph 2',
- {
- columns: [
- 'first column is a simple text',
- [
- // second column consists of paragraphs
- 'paragraph A',
- 'paragraph B',
- 'these paragraphs will be rendered one below another inside the column'
- ]
- ]
- }
- ]
-};
-```
-
-The problem with an array is that you cannot add styling properties to it (to change fontSize for example).
-
-The good news is - array is just a shortcut in pdfMake for { stack: [] }, so if you want to restyle the whole stack, you can do it using the expanded definition:
-```js
-var docDefinition = {
- content: [
- 'paragraph 1',
- 'paragraph 2',
- {
- columns: [
- 'first column is a simple text',
- {
- stack: [
- // second column consists of paragraphs
- 'paragraph A',
- 'paragraph B',
- 'these paragraphs will be rendered one below another inside the column'
- ],
- fontSize: 15
- }
- ]
- }
- ]
-};
-```
+Source of documentation: https://github.com/pdfmake/docs **Improvements are welcome!**
-#### Images
-
-This is simple. Just use the ```{ image: '...' }``` node type.
-
-JPEG and PNG formats are supported.
-
-```js
-var docDefinition = {
- content: [
- {
- // you'll most often use dataURI images on the browser side
- // if no width/height/fit is provided, the original size will be used
- image: 'data:image/jpeg;base64,...encodedContent...'
- },
- {
- // if you specify width, image will scale proportionally
- image: 'data:image/jpeg;base64,...encodedContent...',
- width: 150
- },
- {
- // if you specify both width and height - image will be stretched
- image: 'data:image/jpeg;base64,...encodedContent...',
- width: 150,
- height: 150
- },
- {
- // you can also fit the image inside a rectangle
- image: 'data:image/jpeg;base64,...encodedContent...',
- fit: [100, 100]
- },
- {
- // if you reuse the same image in multiple nodes,
- // you should put it to to images dictionary and reference it by name
- image: 'mySuperImage'
- },
- {
- // under NodeJS (or in case you use virtual file system provided by pdfmake)
- // you can also pass file names here
- image: 'myImageDictionary/image1.jpg'
- }
- ],
-
- images: {
- mySuperImage: 'data:image/jpeg;base64,...content...'
- }
-};
-```
-
-
-#### Page dimensions, orientation and margins
-
-```js
-var docDefinition = {
- // a string or { width: number, height: number }
- pageSize: 'A5',
-
- // by default we use portrait, you can change it to landscape if you wish
- pageOrientation: 'landscape',
-
- // [left, top, right, bottom] or [horizontal, vertical] or just a number for equal margins
- pageMargins: [ 40, 60, 40, 60 ],
-};
-```
-
-If you set ```pageSize``` to a string, you can use one of the following values:
-* '4A0', '2A0', 'A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10',
-* 'B0', 'B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B8', 'B9', 'B10',
-* 'C0', 'C1', 'C2', 'C3', 'C4', 'C5', 'C6', 'C7', 'C8', 'C9', 'C10',
-* 'RA0', 'RA1', 'RA2', 'RA3', 'RA4',
-* 'SRA0', 'SRA1', 'SRA2', 'SRA3', 'SRA4',
-* 'EXECUTIVE', 'FOLIO', 'LEGAL', 'LETTER', 'TABLOID'
-
-To change page orientation within a document, add a page break with the new page orientation.
-
-```js
-{
- pageOrientation: 'portrait',
- content: [
- {text: 'Text on Portrait'},
- {text: 'Text on Landscape', pageOrientation: 'landscape', pageBreak: 'before'},
- {text: 'Text on Landscape 2', pageOrientation: 'portrait', pageBreak: 'after'},
- {text: 'Text on Portrait 2'},
- ]
-}
-```
-
-#### Document Metadata
-
-(From PdfKit Guide)
-PDF documents can have various metadata associated with them, such as the title, or author
-of the document. You can add that information by adding it to the document definition
+## Building from sources
-```js
-var docDefinition = {
- info: {
- title: 'awesome Document',
- author: 'john doe',
- subject: 'subject of document',
- keywords: 'keywords for document',
- },
- content: 'This is an sample PDF printed with pdfMake'
-}
+using npm:
```
-
-#### Compression
-
-Compression of PDF is enabled by default, use `compress: false` for disable:
-
-```js
-var docDefinition = {
- compress: false,
-
- content: (...)
-};
+git clone https://github.com/bpampuch/pdfmake.git
+cd pdfmake
+npm install
+npm run build
```
-## Building from sources
-
+using yarn:
```
git clone https://github.com/bpampuch/pdfmake.git
cd pdfmake
-npm install # or: yarn
-git submodule update --init libs/FileSaver.js
-npm run build # or: yarn run build
+yarn
+yarn run build
```
-## Coming soon
-Hmmm... let me know what you need ;)
-
-The goal is quite simple - make pdfmake useful for a looooooooot of people and help building responsive HTML5 apps with printing support.
-
-There's one thing on the roadmap for v2 (no deadline however) - make the library hackable, so you can write plugins to:
-* extend document-definition-model (with things like { chart: ... }),
-* add syntax translators (like the provided [ ... ] -> { stack: [ ... ] }
-* build custom DSLs on top of document-definition-model (this is actually possible at the moment).
-
-
## License
MIT
--------
+## Authors
+* [@bpampuch](https://github.com/bpampuch) (founder)
+* [@liborm85](https://github.com/liborm85)
-pdfmake is based on a truly amazing library pdfkit.org - credits to @devongovett
+pdfmake is based on a truly amazing library [pdfkit](https://github.com/devongovett/pdfkit) (credits to [@devongovett](https://github.com/devongovett)).
-big thanks to @yelouafi for making this library even better
+Thanks to all contributors.
diff --git a/babel.config.json b/babel.config.json
new file mode 100644
index 000000000..17b65405b
--- /dev/null
+++ b/babel.config.json
@@ -0,0 +1,13 @@
+{
+ "presets": [
+ [
+ "@babel/preset-env",
+ {
+ "targets": {
+ "node": "18.12"
+ },
+ "loose": true
+ }
+ ]
+ ]
+}
diff --git a/bower.json b/bower.json
deleted file mode 100644
index be46aac3c..000000000
--- a/bower.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "name": "pdfmake",
- "homepage": "https://bpampuch.github.io/pdfmake",
- "authors": [
- "Bartek Pampuch "
- ],
- "description": "Client/server side PDF printing in pure JavaScript",
- "main": ["build/pdfmake.js", "build/vfs_fonts.js"],
- "moduleType": [
- "globals"
- ],
- "keywords": [
- "pdf",
- "javascript",
- "printing",
- "layout"
- ],
- "license": "MIT",
- "ignore": [
- "**/.*",
- "dev-playground",
- "gulpfile.js",
- "webpack.config.js",
- "README.md",
- "bower.json",
- "examples",
- "node_modules",
- "package.json",
- "src",
- "tests",
- "yarn.lock",
- "composer.json",
- ".travis.yml"
- ]
-}
diff --git a/build-examples.js b/build-examples.js
new file mode 100644
index 000000000..22e5afec3
--- /dev/null
+++ b/build-examples.js
@@ -0,0 +1,31 @@
+const fs = require('fs');
+const exec = require('child_process').exec;
+
+var errCount = 0;
+var position = 0;
+process.chdir('examples');
+
+const items = fs.readdirSync('.');
+const files = items.filter(file => file.substring(file.length - 3, file.length) === '.js');
+
+files.forEach(function (file) {
+ exec(`node ${file}`, function (err, stdout, stderr) {
+ position++;
+ console.log('FILE: ', file, ` (${position}/${files.length})`);
+ console.log(stdout);
+
+ if (stderr) {
+ errCount++;
+ console.error(stderr);
+ } else if (err) {
+ errCount++;
+ console.error(err);
+ }
+
+ if (position === files.length) {
+ if (errCount) {
+ console.error('Errors count: ', errCount);
+ }
+ }
+ });
+});
diff --git a/build-vfs.js b/build-vfs.js
new file mode 100644
index 000000000..168eca129
--- /dev/null
+++ b/build-vfs.js
@@ -0,0 +1,44 @@
+const fs = require('fs');
+
+const vfsBefore = "var vfs = ";
+const vfsAfter = "; var _global = typeof window === 'object' ? window : typeof global === 'object' ? global : typeof self === 'object' ? self : this; if (typeof _global.pdfMake !== 'undefined' && typeof _global.pdfMake.addVirtualFileSystem !== 'undefined') { _global.pdfMake.addVirtualFileSystem(vfs); } if (typeof module !== 'undefined') { module.exports = vfs; }";
+const sourcePath = process.argv[2];
+const vfsFilename = process.argv[3] ? process.argv[3] : './build/vfs_fonts.js';
+
+var vfs = {};
+
+if (sourcePath === undefined) {
+ console.error('Usage: node build-vfs.js path [filename]');
+ console.log('');
+ console.log('Parameters:');
+ console.log(' path Source path with fonts.');
+ console.log(' filename Optional. Output vfs file. Default: ./build/vfs_fonts.js');
+ console.log('');
+ console.log('Examples:');
+ console.log(' node build-vfs.js "examples/fonts"');
+ console.log(' node build-vfs.js "examples/fonts" "./build/vfs_fonts.js"');
+ return;
+}
+
+if (!fs.existsSync(sourcePath)) {
+ console.error('Source path "' + sourcePath + '" not found.');
+ return;
+}
+
+console.log('Source path:', sourcePath);
+console.log('');
+
+var files = fs.readdirSync(sourcePath);
+
+files.forEach(function (file) {
+ var fileBase64 = fs.readFileSync(sourcePath + '/' + file).toString('base64');
+ console.log('FILE:', file);
+
+ vfs[file] = fileBase64;
+});
+
+const vfsFileContent = vfsBefore + JSON.stringify(vfs, null, 2) + vfsAfter;
+fs.writeFileSync(vfsFilename, vfsFileContent);
+
+console.log('');
+console.log('Builded ' + files.length + ' files to ' + vfsFilename + '.');
diff --git a/build/fonts/Roboto.js b/build/fonts/Roboto.js
new file mode 100644
index 000000000..254412f36
--- /dev/null
+++ b/build/fonts/Roboto.js
@@ -0,0 +1,27 @@
+
+
+var fontContainer = {
+ vfs: {
+ 'Roboto-Regular.ttf': { data: "AAEAAAARAQAABAAQR0RFRqcXo6wAAcMkAAACWEdQT1MB9nz6AAHFfAAAeJJHU1VCzzL7wgACPhAAABX6T1MvMpeDsYsAAAGYAAAAYGNtYXBnX+zQAAAWoAAABopjdnQgO/gmfQAAL4QAAAD+ZnBnbagFhDIAAB0sAAAPhmdhc3AACAAZAAHDGAAAAAxnbHlmpUQY8gAAOtwAAYRyaGVhZAtjdKEAAAEcAAAANmhoZWEKugrLAAABVAAAACRobXR4BSSe4QAAAfgAABSobG9jYebohTMAADCEAAAKVm1heHAI2hDGAAABeAAAACBuYW1lVOeDDwABv1AAAAOmcG9zdP9tAGQAAcL4AAAAIHByZXB5WM7TAAAstAAAAs4AAQAAAAMC0XueoplfDzz1ABsIAAAAAADE8BEuAAAAAOP3FVz6Gv3VCTEIcwAAAAkAAgAAAAAAAAABAAAHbP4MAAAJSvoa/koJMQABAAAAAAAAAAAAAAAAAAAFKgABAAAFKgCpABUAdgAHAAIAEAAvAJoAAALmD3UAAwABAAQEiQGQAAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAEdPT0cAQAAA//0GAP4AAGYHmgIAIAABnwAAAAAEOgWwAAAAIAADA4wAZAAAAAAAAAAAAfwAAAH8AAACEAChApAAiQTtAHcEfwBuBdwAaQT6AGYBZgBoAr0AhgLJACcDcgAcBIoATgGTAB0CNgAmAhwAkANNABMEfwBzBH8AqwR/AF4EfwBfBH8ANQR/AJoEfwCFBH8ATgR/AHEEfwBkAfAAhQGxACkEEQBIBGQAmAQvAIcDyABLBy8AbQU4AB0E/ACpBTUAeAVAAKkEjACpBGwAqQVzAHoFtQCpAi0AtwRqADUFBQCpBE8AqQb8AKkFtQCpBYEAdwUMAKkFgQBuBO4AqQTAAFEExgAyBTAAjAUYAB0HGQA9BQQAOgTOAA8EywBXAh8AkwNJACkCHwAKA1gAQAOcAAQCeQA5BFoAbQR+AIwEMABdBIMAXwQ+AF0CyAA9BH4AYQRoAI0B8gCOAer/vgQOAI0B8gCcBwQAiwRrAI0EkABcBH4AjASMAF8CtgCNBCEAXwKeAAkEaQCJA+AAIQYDACsD+AAqA8kAFgP4AFkCtQBAAfQAsAK1ABQFcQCDAfQAiwRhAGkEpwBbBbUAaQQ0AA8B7ACUBOgAWwNZAGUGSQBcA5QAkwPBAGUEbgB/BkoAWwOrAI8C/QCDBEcAYQLvAEIC7wA/AoIAewSJAJsD6gBEAhcAlAH8AHQC7wB7A6QAewPAAGcF3ABVBjUAUAY5AHADygBEB3r/8QRFAFkFgQB3BLoApwTCAIwGwgBPBLEAfgSSAEcEiQBcBJwAlQTIAF8FmwAeAfsAnAR0AJsETwAjAioAIwWLAKIEiQCSB6EAaQdEAGEB/AChBYcAXgK6/+MFfwBmBJMAXAWQAIwE8wCJAgT/tAQ4AGMDxACqA44AjgOrAI8DawCCAfIAjgKuAHkCKwAyA8YAewL8AF8CWgB/AAD8pwAA/W4AAPyKAAD9XQAA/CcAAP04Ag4AuAQMAHICFwCUBHMAsgWkACAFcgBnBT8AMgSSAHgFtQCyBJIARgW7AE4FiQBaBVIAcgSGAGQEvQChBAMALwSJAGEEUQBkBCUAbQSJAJIEjwB7ApgAwwRvACYD7ABmBMUAKQSJAJIETgBlBIgAYQQsAFEEXgCQBaMAWAWaAGAGlwB6BKIAegRD/9oGSABLBgAAKwVlAHsIkgAyCKUAsgaDAD4FtACwBQsAowYEADMHQwAbBMAAUAW1ALIFqgAwBQgATQYtAFQF2gCvBXoAlweHALAHwACwBhIAEQbrALIFBQCjBWUAlAcnALcFGABaBG0AYgSTAJ4DXACbBNQALgYhABYEEABYBJ4AnQRTAJ0EoAAsBe8AngSdAJ0EngCdA9kAKAXOAGQEvgCdBFoAaAZ5AJ0GnwCSBPcAHgY2AJ4EWACeBE4AZAaIAJ4EZAAvBGj/5wROAGcGyQAnBuQAnQSJ//0EngCdBwkAnAYsAIEEV//bBywAuAX5AJoE0wAoBEcADwcMAMoGDAC9BtIAkwXiAJcJBQC3B9EAnAQkAFAD2wBMBXIAZwSMAFwFCwAWBAQALwVyAGcEiQBcBwEAnAYkAH4HCQCcBiwAgQUyAHYESABkBP4AdAAA/GYAAPxwAAD9ZQAA/aQAAPoaAAD6KwYJALIE7QCdBFf/2wUbAKkEigCMBGQAogORAJIE2wCyBAYAkgeiABsGYQAWBZoAsgS4AJ0FCgCkBH4AmwaMAEUFhAA/Bf8AqQTZAJ0HzwCpBbQAkggxALAG9ACSBe8AcQTUAG4FGAA6BCoAKgctADQFXQAfBbwAlwSWAGgFcACXBGsAhAVwAIkGMAA/BL7/3QUKAKQEWgCbBf4AMATvACwFswCyBIkAkgYSAKkE7ACdB08AqQY+AJ4FhwBeBKgAaASoAGoEuAA5A6sAOgUuADoEQAAqBPcAVwaVAFoG5QBkBlcANgUsADEESgBTBAgAeQfCAEUGdgA/B/sAqgaiAJAE9wB2BB4AZgWuACQFIQBGBWUAlwYCADAE8wAsBSsAjwMhAHAEFAAACCkAAAQUAAAIKQAAArkAAAIKAAABXAAABH8AAAIwAAABogAAAQAAAADRAAAAAAAAAjQAJgI0ACYFQACiBj8AkAOmAA0BmgBhAZoAMAGYACQBmgBPAtQAaQLcADwCwgAkBGoARgSQAFcCswCLA8QAlAVaAJQBfwBSB6oARAJnAGwCZwBaA6MAPALvAFEC7wA2Au8AXALvAFYC7wA7Au8ATwLvAEoDOABQAvgAUAL4AFAB8QBUAfEAUANhAHoC7wBRAu8AewLvAEIC7wA/Au8ANgLvAFwC7wBWAu8AOwLvAE8C7wBKAzgAUAL4AFAC+ABQAfEAVAHxAFAEpwBbBlYAHwaRAKcIdgCpBesAHwYrAIwEfwBfBdoAHwQjACsEdAAhBUgAXQVPAB8F6AB7A84AaAg6AKIFAQBoBRgAmAYmAFQG1wBlBs8AZAZqAFoEkABqBY8AqQSvAEYEkwCoBMUAPwg6AGMCDf+vBIIAZQRkAJgEEQA9BC8AhAQIACwCTAC1ApAAbwIEAF0E8wA9BG8AIASLAD0G1AA9BtQAPQTuAD0GmwBfAAAAAAg0AFsINQBcAu8AQgLvAHsC7wBRBBAAVgQQAGEEEABCBA8AcgQQAIEEEAAxBBAATwQQAE8EEACZBBAAYwQjAEgEKwAOBFQAJwYVADEEaAAUBH0AdQQnACkEIABEBEoAigS8AFoEXQCLBLwAYATjAIsGAgCLA7UAiwRVAIsDzwAsAekAmATkAIsErABkA8wAiwQgAEQENAAxA6EADgOvAIsEaAAUBLwAYARoABQDiQA+BM8AiwPwAEAFZwBhBRcAYQTzAHYFcwAnBHwAYQdCACgHUACLBXQAKQTOAIsEWgCLBSUALgYLAB8EQABIBOwAiwROAIwEwQAoBCAAIwUpAIsEagA9BlEAiwasAIsFHQAJBfEAiwRPAIsEfABLBncAiwSHAFAEEgALBkgAHwR5AIwFCgCMBTcAJAXDAGAEXwAOBKgAJwZiACcEagA9BGoAiwXEAAIEywBeBEAASAS8AGAENAAxA+QAQwgiAIsEqwAoAu8APwLvADYC7wBcAu8AVgLvADsC7wBPAu8ASgOXAI8CtQCfA+YAiwQ6AB8ExABkBUwAsgUkALIEFACTBT0AsgQPAJMEgACLBHwAYQRRAIsEhgAUAf4AnwOlAIIAAPyjA/AAbwP0/10EDwBpA/UAaQOvAIsDoACCA58AggLvAFEC7wA2Au8AXALvAFYC7wA7Au8ATwLvAEoFggB+Ba8AfgWTALIF4AB+BeMAfgPVAKAEggCDBFgADwTPAD4EawBlBC4ASgOlAIQBkgBoBqQAYAS6AIIB/P+2BH8AOwR/AHMEfwAiBH8AdgR/AHYEfwA2BH8AfgR/AF4EfwBxBH8A9AIG/7QCBP+0AfsAnAH7//kB+wCcBFEAiwUAAHgEIQA7BH4AjAQzAF0EkwBbBIwAWwSfAFoEjgCMBJwAWwQ+AF0EfgBhBHAAWgN5AFcE1gBoA7UAAQY6AAkD+QCLBLwAYATjADAE4wCLAfwAAAI2ACYFXgAlBV4AJQSGAAEExgAyAp7/9AU4AB0FOAAdBTgAHQU4AB0FOAAdBTgAHQU4AB0FNQB4BIwAqQSMAKkEjACpBIwAqQIt/98CLQCxAi3/6gIt/9UFtQCpBYEAdwWBAHcFgQB3BYEAdwWBAHcFMACMBTAAjAUwAIwFMACMBM4ADwRaAG0EWgBtBFoAbQRaAG0EWgBtBFoAbQRaAG0EMABdBD4AXQQ+AF0EPgBdBD4AXQH7/8QB+wCWAfv/zwH7/7oEawCNBJAAXASQAFwEkABcBJAAXASQAFwEaQCJBGkAiQRpAIkEaQCJA8kAFgPJABYFOAAdBFoAbQU4AB0EWgBtBTgAHQRaAG0FNQB4BDAAXQU1AHgEMABdBTUAeAQwAF0FNQB4BDAAXQVAAKkFGQBfBIwAqQQ+AF0EjACpBD4AXQSMAKkEPgBdBIwAqQQ+AF0EjACpBD4AXQVzAHoEfgBhBXMAegR+AGEFcwB6BH4AYQVzAHoEfgBhBbUAqQRoAI0CLf+2Afv/mwIt/80B+/+yAi3/7AH7/9ECLQAXAfL/+gItAKoGlwC3A9wAjgRqADUCBP+0BQUAqQQOAI0ETwCiAfIAkwRPAKkB8gBWBE8AqQKIAJwETwCpAs4AnAW1AKkEawCNBbUAqQRrAI0FtQCpBGsAjQRr/7sFgQB3BJAAXAWBAHcEkABcBYEAdwSQAFwE7gCpArYAjQTuAKkCtgBTBO4AqQK2AGQEwABRBCEAXwTAAFEEIQBfBMAAUQQhAF8EwABRBCEAXwTAAFEEIQBfBMYAMgKeAAkExgAyAp4ACQTGADICxgAJBTAAjARpAIkFMACMBGkAiQUwAIwEaQCJBTAAjARpAIkFMACMBGkAiQUwAIwEaQCJBxkAPQYDACsEzgAPA8kAFgTOAA8EywBXA/gAWQTLAFcD+ABZBMsAVwP4AFkHev/xBsIATwWBAHcEiQBcBID/vQSA/70EJwApBIYAFASGABQEhgAUBIYAFASGABQEhgAUBIYAFAR8AGED5gCLA+YAiwPmAIsD5gCLAen/vAHpAI4B6f/HAen/sgTjAIsEvABgBLwAYAS8AGAEvABgBLwAYAR9AHUEfQB1BH0AdQR9AHUEKwAOBIYAFASGABQEhgAUBHwAYQR8AGEEfABhBHwAYQSAAIsD5gCLA+YAiwPmAIsD5gCLA+YAiwSsAGQErABkBKwAZASsAGQE5ACLAen/kwHp/6oB6f/JAekABQHpAIcDzwAsBFUAiwO1AIMDtQCLA7UAiwO1AIsE4wCLBOMAiwTjAIsEvABgBLwAYAS8AGAESgCKBEoAigRKAIoEIABEBCAARAQgAEQEIABEBCcAKQQnACkEJwApBH0AdQR9AHUEfQB1BH0AdQR9AHUEfQB1BhUAMQQrAA4EKwAOBCMASAQjAEgEIwBIBTgAHQTw/4wGGf+aApH/oAWV//oFMv92BWb//AKY/5sFOAAdBPwAqQSMAKkEywBXBbUAqQItALcFBQCpBvwAqQW1AKkFgQB3BQwAqQTGADIEzgAPBQQAOgIt/9UEzgAPBIYAZARRAGQEiQCSApgAwwReAJAEdACbBJAAXASJAJsD4AAhBHAAWgKY/+QEXgCQBJAAXAReAJAGlwB6BIwAqQRzALIEwABRAi0AtwIt/9UEagA1BSQAsgUFAKkFCABNBTgAHQT8AKkEcwCyBIwAqQW1ALIG/ACpBbUAqQWBAHcFtQCyBQwAqQU1AHgExgAyBQQAOgRaAG0EPgBdBJ4AnQSQAFwEfgCMBDAAXQPJABYD+AAqBD4AXQNcAJsEIQBfAfIAjgH7/7oB6v++BFMAnQPJABYHGQA9BgMAKwcZAD0GAwArBxkAPQYDACsEzgAPA8kAFgFmAGgCkACJBCAAoQIE/7QBmgAwBvwAqQcEAIsFOAAdBFoAbQSMAKkFtQCyBD4AXQSeAJ0FiQBaBZoAYAULABYEBP/7CFkAXAlKAHcEwABQBBAAWAU1AHgEMABdBM4ADwQDAC8CLQC3B0MAGwYhABYCLQC3BTgAHQRaAG0FOAAdBFoAbQd6//EGwgBPBIwAqQQ+AF0FhwBeBDgAYwQ4AGMHQwAbBiEAFgTAAFAEEABYBbUAsgSeAJ0FtQCyBJ4AnQWBAHcEkABcBXIAZwSMAFwFcgBnBIwAXAVlAJQETgBkBQgATQPJABYFCABNA8kAFgUIAE0DyQAWBXoAlwRaAGgG6wCyBjYAngSDAF8FOAAdBFoAbQU4AB0EWgBtBTgAHQRaAG0FOAAdBFr/yQU4AB0EWgBtBTgAHQRaAG0FOAAdBFoAbQU4AB0EWgBtBTgAHQRaAG0FOAAdBFoAbQU4AB0EWgBtBTgAHQRaAG0EjACpBD4AXQSMAKkEPgBdBIwAqQQ+AF0EjACpBD4AXQSM/+4EPv+4BIwAqQQ+AF0EjACpBD4AXQSMAKkEPgBdAi0AtwH7AJwCLQCkAfIAhgWBAHcEkABcBYEAdwSQAFwFgQB3BJAAXAWBAEYEkP/CBYEAdwSQAFwFgQB3BJAAXAWBAHcEkABcBX8AZgSTAFwFfwBmBJMAXAV/AGYEkwBcBX8AZgSTAFwFfwBmBJMAXAUwAIwEaQCJBTAAjARpAIkFkACMBPMAiQWQAIwE8wCJBZAAjATzAIkFkACMBPMAiQWQAIwE8wCJBM4ADwPJABYEzgAPA8kAFgTOAA8DyQAWBKEAXwTGADID2QAoBXoAlwRaAGgEcwCyA1wAmwYwAD8Evv/dBGgAjQUF/9QFBf/UBHMAAwNc//0FOAALBCj/0wTOAA8EAwAvBQQAOgP4ACoEUQBkBGwAEgY/AJAEfwBeBH8AXwR/ADUEfwCaBJMAmQSnAIUEkwBkBKcAhwVzAHoEfgBhBbUAqQRrAI0FOAAdBFoAOgSMAF8EPgApAi3/CwH7/vAFgQB3BJAAMwTuAFYCtv+MBTAAjARpACsEp/84BPwAqQR+AIwFQACpBIMAXwVAAKkEgwBf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AUT/7wFF/9IBR//hAUn/4QFT/9EBVf/RAVf/0QFc/9EBXf/0AV7/7wFi/9QBY//1AWT/5wFs/9IBbf/JAYX/ygGG/8oBiP/KAYn/ygGK/8oD0f/tA93/0gPe//QD4f/RA+P/0QPl/+YD5v/vA+j/0QPt/9ED7v/mA/f/ygP4/8oD+//KBAP/0QQG/9QEB//mBA7/0wQP/+YEEf/0BBL/7wQf//QEIP/vBCT/0QQm/9EEL//tBDD/5gQx/+0EMv/mBDP/7QQ0/+YENf/hBDj/0QST/9IElf/hBJj/0QSi/9MAKQBH/+wASP/sAEn/7ABL/+wAVf/sAJT/7ACZ/+wCvf/sAr7/7AK//+wCwP/sAsH/7ALZ/+wC2//sAt3/7ALf/+wC4f/sAuP/7ALl/+wC5//sAun/7ALr/+wC7f/sAu//7ALx/+wC8//sBFP/7ARV/+wEV//sBFn/7ARb/+wEXf/sBF//7ARh/+wEdf/sBHf/7AR5/+wEff/sBLj/7ATF/+wEx//sADYABgAQAAsAEAANABQAQQASAEf/6ABI/+gASf/oAEv/6ABV/+gAYQATAJT/6ACZ/+gBhQAQAYYAEAGIABABiQAQAYoAEAK9/+gCvv/oAr//6ALA/+gCwf/oAtn/6ALb/+gC3f/oAt//6ALh/+gC4//oAuX/6ALn/+gC6f/oAuv/6ALt/+gC7//oAvH/6ALz/+gD9wAQA/gAEAP7ABAEU//oBFX/6ARX/+gEWf/oBFv/6ARd/+gEX//oBGH/6AR1/+gEd//oBHn/6AR9/+gEuP/oBMX/6ATH/+gASgBH/8UASP/FAEn/xQBL/8UATAAgAE8AIABQACAAU/+AAFX/xQBX/5AAWwALAJT/xQCZ/8UB3P+QAr3/xQK+/8UCv//FAsD/xQLB/8UCx/+AAsj/gALJ/4ACyv+AAsv/gALZ/8UC2//FAt3/xQLf/8UC4f/FAuP/xQLl/8UC5//FAun/xQLr/8UC7f/FAu//xQLx/8UC8//FAxX/gAMX/4ADGf+AAyH/kAMj/5ADJf+QAyf/kAMp/5AEU//FBFX/xQRX/8UEWf/FBFv/xQRd/8UEX//FBGH/xQRn/4AEaf+ABGv/gARt/4AEb/+ABHH/gARz/4AEdf/FBHf/xQR5/8UEe/+ABH3/xQS4/8UEvP+ABMX/xQTH/8UEyQAgBMsAIATNACAE2v+QAAEA9AAEAAYACwAMACUAJwAoACkAKgAvADAAMwA0ADUANgA4ADoAOwA8AD0APgA/AEkASgBMAE8AUQBSAFMAVgBYAFoAWwBdAF8AlgCdALIBhQGGAYgBiQGKAfMB9QH2AfgB+wIGAksCTgJgAmICYwKWApcCmQKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKsAq0CrgKvArACtQK+Ar8CwALBAsYCxwLIAskCygLLAtAC0QLSAtQC1gLYAtoC3ALeAuAC4gLjAuQC5QLmAucC6ALpAuoC6wL1AwMDBQMHAwkDCwMOAxADEgMTAxQDFQMWAxcDGAMZAxsDHQMfAyoDLAMuAzwDPgM/A0ADQQNDA0UDSwNMA00DTgNPA1ADUQNSA1MDVANfA2ADYQNiA2MDaQNqA2sDcAOCA4MDhAOFA4kDigOLA5QD7wPxA/MD9QP2A/cD+AP7A/0D/gQ6BDwEPgRABEIERARGBEgESgRMBE4EUARSBFMEVARVBFYEVwRYBFkEWgRbBFwEXQReBF8EYARhBGYEZwRoBGkEagRrBGwEbQRuBG8EcARxBHIEcwR7BIwEjQSOBI8EkASRBLQEtQS3BLsEvAS+BMQExgTJBMoEzATOBNEE0wTUBNUE2ATbBN4E3wTgBOEE4gTkAAEANQAGAAsAlgCxALIAswC0AL0AwQDHAYUBhgGIAYkBigIGAgcCCAOiA6MDpAOlA6YDpwOqA6sDrAOtA64DrwOwA7EDsgOzA7QDtQO2A7cDuAO5A7wDwAPCA8YD9wP4A/sE5gTnBOsE7gT0BPkApwAQ/xYAEv8WACX/VgAu/vgAOAAUAEX/3gBH/+sASP/rAEn/6wBL/+sAU//rAFX/6wBW/+YAWf/qAFr/6ABd/+gAlP/rAJn/6wCb/+oAsv9WAYf/FgGL/xYBj/8WAZD/FgIG/8ACTv/AApv/VgKc/1YCnf9WAp7/VgKf/1YCoP9WAqH/VgK2/94Ct//eArj/3gK5/94Cuv/eArv/3gK8/94Cvf/rAr7/6wK//+sCwP/rAsH/6wLH/+sCyP/rAsn/6wLK/+sCy//rAsz/6gLN/+oCzv/qAs//6gLQ/+gC0f/oAtL/VgLT/94C1P9WAtX/3gLW/1YC1//eAtn/6wLb/+sC3f/rAt//6wLh/+sC4//rAuX/6wLn/+sC6f/rAuv/6wLt/+sC7//rAvH/6wLz/+sDAf74AxX/6wMX/+sDGf/rAyoAFAMsABQDLgAUAzH/6gMz/+oDNf/qAzf/6gM5/+oDO//qAz//6ANO/8ADT//AA1D/wANR/8ADUv/AA1P/wANU/8ADaf/AA2r/wANr/8AD9v/oA/7/VgP//94EOv9WBDv/3gQ8/1YEPf/eBD7/VgQ//94EQP9WBEH/3gRC/1YEQ//eBET/VgRF/94ERv9WBEf/3gRI/1YESf/eBEr/VgRL/94ETP9WBE3/3gRO/1YET//eBFD/VgRR/94EU//rBFX/6wRX/+sEWf/rBFv/6wRd/+sEX//rBGH/6wRn/+sEaf/rBGv/6wRt/+sEb//rBHH/6wRz/+sEdf/rBHf/6wR5/+sEe//rBH3/6wR//+oEgf/qBIP/6gSF/+oEh//qBIn/6gSL/+oEjf/oBI//6ASR/+gEtf9WBLb/3gS4/+sEvP/rBMD/6gTF/+sEx//rBNsAFATf/+gE4f/oAAIAKACWAJYAFgCxALEADQCyALIAFwCzALMAAgC0ALQAAwC9AL0ACADBAMEABwDHAMcAFQIGAgYAEgIHAgcACQIIAggABQOiA6IAAwOjA6MABgOkA6UAAQOmA6YAAgOnA6cABAOqA6oAAwOrA6sACwOsA6wABgOtA60AEQOuA68AAQOwA7AADgOxA7IAAQOzA7MAAgO0A7QADwO1A7UAEAO2A7YABAO3A7cADAO4A7gAAQO5A7kABAO8A7wABwPAA8AACgPCA8IACAPGA8YACgTmBOYAAgTnBOcABQTrBOsACQTuBO4ABQT0BPQAEwT5BPkAFAACADIABgAGAAEACwALAAEAEAAQAAIAEQARAAMAEgASAAIAsgCyABMAswCzAAcAtAC0AAYAuwC7AAQAvQC9AAwAwQDBAAsAyADJAAQAywDLAAUBggGDAAMBhQGGAAEBhwGHAAIBiAGKAAEBiwGLAAIBjwGQAAICBgIGABECBwIHAA0CCAIIAAkClQKVAAMDogOiAAYDpgOmAAcDpwOnAAgDqgOqAAYDrQOtABADswOzAAcDtgO2AAgDtwO3AA8DuQO5AAgDugO6AAQDvAO8AAsDvgO+AAUDwAPAAA4DwgPCAAwDxQPFAAUDxgPGAA4DxwPHAAUD9wP4AAED+wP7AAEEqASoAAME5wTnAAkE6wTrAA0E7ATsAAoE7gTuAAkE+gT6AAoE+wT7ABIE/QT9AAoAAQCGAAYACwCWALIA1ADVANcA2gDcAN0A3gDgAOEA4gDjAOQA5QDmAOwA7gD3APwA/gD/AQQBBQEKAQ0BGAEZARoBLgEvATABMwE0ATUBNwE5ATsBQwFEAVQBVgFYAVwBXQFeAYUBhgGIAYkBigIGAhoCKQIqAisDyQPKA8wDzQPOA88D0APRA9ID0wPUA9UD1wPYA9kD2wPcA90D3gPfA+AD4gPjA+QD5QPmA+cD6APuA/cD+AP7BAAEAgQGBAcEDAQNBA4EDwQQBBEEEgQTBBQEFQQWBBcEGgQbBB0EHgQfBCAEJwQoBCwELgQvBDAEMQQyBDMENASTBJcEmASbBJ0EngSgBKIFBAUGBQ0FEQACAGsABgAGAAEACwALAAEAlgCWABwAsgCyAB0A1ADVAAkA2gDaAAMA3gDeAAoA5ADkAAkA5gDmAAkA7ADsAAsA7gDuAAQA9wD3AAwA/AD8AA0A/gD+AA0A/wD/AAwBBAEFAA0BCgEKAA0BDQENAA8BGAEYABABGQEZABYBGgEaAAIBLgEuAAwBLwEvAAgBMAEwAAsBMwEzAAMBNAE0AAQBNQE1AAUBNwE3AAUBOQE5AAUBQwFDAAMBRAFEAAQBWAFYABEBXAFcAAsBXQFdAAMBXgFeAAQBhQGGAAEBiAGKAAECBgIGABgCGgIaAAcCKQIrAAcDyQPJAA4DygPKAAgDzgPOAB4DzwPQAAUD0QPRAAoD0gPSAA8D0wPTAB8D1APUAAgD1QPVAA4D2QPZABED2wPbACAD3APcABMD3QPdABQD3gPeAAMD3wPfABID4APgAAYD4gPiABAD4wPjAAwD5APkABUD5QPlAAID5gPmAAQD5wPnAAYD6APoAAsD7gPuAAID9wP4AAED+wP7AAEEAAQAAA4EAgQCAAYEBgQGABYEBwQHAAIEDAQMABMEDQQNABUEDgQOABcEDwQPAAIEEQQRAAMEEgQSAAQEFAQUAA8EFQQVABIEFgQWAA8EFwQXABIEGgQaAA4EGwQbAAYEHQQeAAYEHwQfAAMEIAQgAAQEJwQnABEEKAQoABAELAQsABAELgQuAAwELwQvAAoEMAQwAAIEMQQxAAoEMgQyAAIEMwQzAAoENAQ0AAIEkwSTABQElwSXAAgEmASYAAsEmwSbACEEnQSdAAkEngSeAAgEoASgAAUEogSiABcFBAUEAAcFBgUGABkFDQUNABoFEQURABsAAgBaAAYABgAAAAsACwABACUAKQACACwANAAHADgAPgAQAEUARwAXAEkASQAaAEwATAAbAFEAVAAcAFYAVgAgAFoAWgAhAFwAXgAiAIoAigAlAJYAlgAmALIAsgAnAYUBhgAoAYgBigAqAfMB8wAtAfgB+AAuAfsB/AAvAgYCBgAxAksCSwAyAk4CTgAzAmACYAA0AmICYwA1ApYClwA3ApkCmQA5ApsCwQA6AsYCywBhAtAC4ABnAuIC6wB4AvQC9gCCAvgC+ACFAvoC+gCGAvwC/ACHAv4C/gCIAwEDAQCJAwMDAwCKAwUDBQCLAwcDBwCMAwkDCQCNAwsDCwCOAw0DGQCPAxsDGwCcAx0DHQCdAx8DHwCeAyoDKgCfAywDLACgAy4DLgChAzADMACiAzIDMgCjAzQDNACkAzYDNgClAzgDOACmAzoDOgCnAzwDPACoAz4DRgCpA0sDVACyA18DYwC8A2kDawDBA3ADcADEA4EDhQDFA4kDiwDKA5QDlADNA+8D7wDOA/ED8QDPA/MD8wDQA/UD+ADRA/sD/wDVBDoEYgDaBGQEZAEDBGYEcwEEBHsEewESBH4EfgETBIAEgAEUBIwEkQEVBLMEtwEbBLkEuQEgBLsEvAEhBL4EvgEjBMIExAEkBMYExgEnBMgEygEoBMwEzAErBM4EzgEsBNAE1gEtBNgE2AE0BNsE2wE1BN0E4gE2BOQE5QE8AAIAoAAGAAYABAALAAsABAAQABAACAARABEACwASABIACACyALIAGwDSANIACgDTANMAAwDUANQADQDWANYACgDaANoABgDdAN0ADQDeAN4ADgDhAOEAEQDsAOwAAQDuAO4ABwDwAPEAAQDyAPIAEgDzAPUAAQD3APcAAgD4APgAAQD5APkAFAD6APsAAQD+AP4AAQEAAQAAAQEDAQMAAgEEAQQAEgEFAQUAAQEIAQgAAwENAQ0AEAEXARcAAwEYARgAEwEZARkAFwEaARoABQEbARsAAwEdAR0AAwEeAR4AAgEfAR8AAwEhASEAAwEiASIAAgErASsAAQEzATMABgE0ATQABwE2ATYAAQE5ATkACgE8ATwAAQE+AT4AAQFBAUEAAwFCAUIAAgFDAUMABgFEAUQABwFFAUUACgFHAUcAEQFIAUgAFAFQAVAADQFRAVEAEgFTAVMAAQFVAVUAAQFXAVcAAQFcAVwAAQFdAV0ABgFeAV4ABwFgAWEAAgFmAWYADQFqAWoAAwFrAWsAAgFvAW8ADQFwAXAAEgGCAYMACwGFAYYABAGHAYcACAGIAYoABAGLAYsACAGPAZAACAIGAgYAGQIPAg8ADAIQAhAACQITAhMADAIXAhcADwIoAigADwIrAisADAIsAiwACQItAi0AFgIuAi4ADwIvAi8ADAI1AjUACQKVApUACwPOA84AHAPRA9EADgPSA9IAEAPZA9kAAwPcA9wAAwPdA90ACgPeA94ABgPfA98AFQPgA+AAAgPhA+EAAQPiA+IAEwPjA+MAAQPkA+QAAgPlA+UABQPmA+YABwPnA+cAAgPoA+gAAQPpA+kAHQPtA+0AAQPuA+4ABQP3A/gABAP7A/sABAQCBAIAAgQDBAMAAQQGBAYAFwQHBAcABQQIBAgAAgQJBAkAAwQMBAwAAwQNBA0AAgQOBA4AGAQPBA8ABQQRBBEABgQSBBIABwQUBBQAEAQVBBUAFQQWBBYAEAQXBBcAFQQbBBsAAgQdBB4AAgQfBB8ABgQgBCAABwQkBCQAAQQmBCYAAQQnBCcAAwQoBCgAEwQpBCkAAwQqBCoAAgQrBCsAAwQsBCwAEwQvBC8ADgQwBDAABQQxBDEADgQyBDIABQQzBDMADgQ0BDQABQQ1BDUAEQQ2BDYAFAQ4BDgAAQQ5BDkAAgSTBJMACgSVBJUAEQSWBJYAFASYBJgAAQSiBKIAGASoBKgACwUGBQYAGgUNBQ0ACQUQBRAACQURBREADAUSBRIADwUVBRUACQUWBRYAFgNSKFIlBCWIIQ4h4CHmJaAhDihqJRwoaiTIHPok1CW4IRojVCU0IPwhAiXoJdYmAB1yJhIhmCYqJOwnDicUJYgmSBn6GXAmWiVeJnIg8CaKJGgmoiaoJsYmtCbeIWgkqiSwJJ4kpCb2IQ4oXiUQJY4ZdiHsIfIlrCRiKHYlKBl8GYIdBiTgJcQkjCNgJUAhRCGMJfQl4iYMJUAmHiGkJjYk+CNyJVIhJiZUGYgZjiZmJWomfiE4JpYeMiPYJXwm0ibAJuohdCS2JLwkOCRcJwIesCIQAAAZlAAAIhYAABmaAAAl9CRiGaAZpiiaJUAguiDAGawZshm4Gb4mKiTsJjYk+BnEGcoZ0BnWGdwZ4hnoGe4jwCOuKF4juiQaJA4kJiV8G8gAACI0IkAkkgAAAAAgkCCcIKIkwgAAIKggriC0AAAAAAAAGfQAACDSAAAhwgAAINgg3iWCAAAaeAAAGfoAABoAAAAh1CJYGgYAAAAAGgwaEgAAJHQAABoYAAAaHgAAGiQAABoqAAAaMAAAJJgAABo2AAAaPAAAIdoiZBpCAAAaSAAAGk4aVBpaAAAaYAAAGmYAACRuAAAabAAAGnIAACR6AAAahAAAGngAABp+AAAbIAAAGoQAABqKAAAakAAAGpYAABqcAAAaogAAIo4AACKUAAAaqAAAGq4AABq0AAAaugAAGsAaxhrMGtIa2AAAGt4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuQbpCCoGuoAAAAAAAAAAAAAAAAAAAAAGvAAAAAAJIAAACSGAAAAAAAAAAAAAAAAAAAAAAAAAAAa9iIuAAAAAAAAAAAliBr8GwIbCBsOAAAbFBsaGyAbJhssIQ4bMhs4AAAAACf4KEwn+ChMJ8gnzhs+KEAbRBtKJ7Agcie8J8IoKCdEIBIgJBtQG1YnsCe2J6ooIicmJywnniekH9wf4icgJ24nXCdiJ0onVifgJ+YflB+OG1wbYieMAAAAACcaG2gAABtuAAAn1CfaG3QAAAAAG3obgAAAJ/gAABuGAAAbjAAAG5IAABuYAAAbnhukG6oAAAAAJ/4bsBu2G7wAACiOJ5Ibwh1yJfQl4h7OJ7Yn7CfyJ4AnhiiCJ3obyCGMG8gbziiaJUAomhvUKJolQB/cH+Ib2igWG+Ab5ieqKCIn4CfmJyYnLCWgIQ4loCEOJcQkjCaKJGgmlh4yG+wlBBvsJQQi9CUEG/IlBCIEJQQb+CUEKFIlBCHgG/4hqiUcIaolHCMwJRwg5CUcHAQlNBwEJTQcCiU0IPYlNBwQJOwcFicUHBYnFCN4JxQcHCcUIoInFBwiJqgcIiaoHCgmqBwuJqgheiSkI5YlECOWJRAi+iUQI7QlECIKJRAcNCUQKF4lECHsHDohtiUoIbYlKCM8JSghLCUoHEAlQBxAJUAcRiVAIT4lQBxMJPgcUiVSHFIlUiOEJVIcWCVSIoglUhxeJXwcXiV8HGQlfBxqJXwhgCRcIsQkXBxwJQQcdiUQIwAlBCMMJRAoUiUEKF4lEBx8IeYcgiHyHIgh5hyOIfIclCHmHJoh8hygIeYcpiHyHKwhDiWsJGIcsiUcHLglKCIcJRwiIiUoHL4lHBzEJSgoaiUcKHYlKBzKJRwc0CUoHNYk1BzcJOAc4iTUHOgk4BzuJNQc9CTgHPodAB0GJOAdDCEaHRIkjB0YJTQjYCVAHR4lNB0kJUAdKiU0HTAlQCNUHTYjYCVAHTwlNB1CIQIdSAAAJegdTiX0HVQdWh1yHWAlQCYAHWYmDB1sJgAdciYMJUAmAB1yJgwlQCTmJOwk8iT4JiodeCY2HX4dhCTsHYok+CY2JPgdkCcUHZYlUh2cJxQdoiVSHagnFB2uJVIdtCVeHbolaiZaHcAmZh3GHcwlXh3SJWod2CDwHd4hOB3kIPAd6iE4JnId8CZ+HfYmch38Jn4eAh4IIPAeDiE4JooeFCaWHhomih4gJpYeJh4sJGgmlh4yHjgmqB4+JXweRCaoHkolfB5QJqgeViV8HlwmqB5iJXweaCaoHm4lfCaiJqgj2CV8HnQhaB56IXQegCSkHoYkXCCWJKQejCEOHpIesB6YIQ4enh6wHqQhDh6qHrAetgAAHrwAAB7CAAAeyAAAHs4nth7OJ7YnvCfCHtQneh7UJ3oe2id6HuAneh7mJ3oe7Cd6KIIneifsHvIe+CeSHvgnkh7+J5InOCeSHwQnVh8EJ1YfCidWJ1AnVh8QJywoHCgiKBwoIh8WKCIfHCgiHyIoIh8oIHIfKCByHy4gch80IHIoRihMHzoneh9AJ3oogid6H0Yn8h9MJ/IfUifyH1gn8h9eJ7YfZCeSH2onkh9wJ5IojieSH3Ynkh98H44fgh+OH4gfjh+UH5ofoCfmH6YnVh+sJ1YfsidWJ0ofuB++J1YfxCdiJyAfyh/QH+If3B/WH9wf4h/cH+If6CcsJyYf7h/0Jywf+igiIAAoIiAGKCIgDCAkIBIgGCAeICQgKidEIDAnRCgoIDYgPCdEJ7wgQiBIJ8InvCBOIFQgciBaIHIgYCByIGYgciBsIHInsCByIHgoQCB+KEwnMihMKEYoTCCEKEwgiihMKFIlBChqJRwluCEaI1QlNCcOJxQkniSkAAAgkCC0AAAoUiUEJYghDihqJRwm9iEOJbghGiNUJTQl6CXWJhIhmCYqJOwnDicUJYgmSCaKJGgkniSkJKoksCD2JTQgliSkIJwgoiTCAAAgqCCuILQAACDSAAAguiDAI3IlUibSJsAgxgAAIMwAACNyJVIg0gAAINgg3iDkJRwg6gAAJnIg8CNUJTQg9iU0IPwhAiXQJdYhCAAAKFIlBCWIIQ4kkgAAKGolHCEUAAAmEiGYJbghGicOJxQliCZIIeAh5iaKJGgkqiSwKF4lECh2JSghIAAAI3IlUiEmJlQh7CHyJDgkXCS2JLwhLCUoITIAACZ+ITgjYCVAIT4lQCFEIYwhSgAAIVAkXCFWIWghXCF0IVYhaCFcIXQhYiFoIW4hdCF6JKQhgCRcIYYhjCGSIZghniGkKFIlBCheJRAhqiUcIbAAACG2JSghvAAAIcIAACHIAAAhzgAAIdQiWCHaImQh4CHmIewh8iSeJKQjVCU0IfgAACH+AAAjVCU0IwAlBCMMJRAiBCUEIgolECIQAAAiFgAAIhwlHCIiJSgiKCIuIjQiQCI6IkAiRgAAIkwAACJSIlgiXiJkImoAACJwAAAidgAAInwAACKCJxQiiCVSIo4AACKUAAAimgAAIqAAACKmAAAirAAAIrIAACK4JFwivgAAIsQkXCLKAAAi0CRcItYAACLcAAAi4gAAIugAACWsJGIoUiMGKF4jEiLuJQQjoiUQKFIlBCheJRAoUiUEKF4lEChSJQQoXiUQKFIlBCheJRAi9CMGIvojEihSJQQoXiUQKFIlBCheJRAoUiUEKF4lEChSJQQoXiUQIwAjBiMMIxIoaiM2KHYjQiMYJRwjHiUoIyQlHCMqJSgoaiUcKHYlKChqJRwodiUoKGolHCh2JSgoaiUcKHYlKCMwIzYjPCNCI0glNCNOJUAjVCNaI2AooCcOI34jciOKI2YnFCNsJVInDicUI3IlUicOJxQjciVSJw4nFCNyJVInDicUI3IlUiN4I34jhCOKI5AjriOWI7ojkCOuI5YjuiOcI64joiO6I6gjriO0I7ojwCPGKF4jzCaiI9Ij2CPeI+QmqCPqJXwj8CQOI/YlfCPwJA4j9iV8I/wkDiQCJXwkCCQOJBQlfCQaJCAkJiQsJJ4kMiQ4JD4kRCSkJEokXCRQJKQkViRcJawkYiaKJGgkbgAAJHQAACR6AAAkkgAAJJgAAAAAJIAAACSGJcQkjCSSAAAkmAAAJfQl4iSeJKQkqiSwJLYkvCTCAAAoaiTIJM4k1CTaJOAk5iTsJPIk+CT+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AAgE1QTVABwE1gTWABUE2ATYABME2wTbABAE3QTdAAcE3gTeABkE3wTfAAsE4ATgABkE4QThAAsE4gTiABEE5ATkABQE5QTlABcAAgEJAAYABgANAAsACwANABAAEAASABEAEQAVABIAEgASACUAJQADACcAJwABACsAKwABAC4ALgAaADMAMwABADUANQABADcANwAQADgAOAATADkAOQAIADoAOgAZADsAOwARADwAPAAdAD0APQAOAD4APgAUAEUARQAEAEcASQACAEsASwACAFEAUgAJAFMAUwAHAFQAVAAJAFUAVQACAFcAVwAPAFkAWQAGAFoAWgAMAFwAXAAhAF0AXQAMAF4AXgAXAIMAgwABAJMAkwABAJQAlAACAJgAmAABAJkAmQACAJsAmwAGALIAsgAgAYIBgwAVAYUBhgANAYcBhwASAYgBigANAYsBiwASAY8BkAASAdwB3AAPAe4B7gAYAe8B7wAeAfAB8AAbAfIB8gAKAfMB8wAcAfQB9AAWAfYB9gAFAfgB+AAFAgACAAAFAgYCBgAfAkwCTAAFAk4CTgALAmACYQABAmMCZAABApUClQAVApsCoQADAqICogABAqwCsAABArECtAAIArUCtQAOArYCvAAEAr0CwQACAsYCxgAJAscCywAHAswCzwAGAtAC0QAMAtIC0gADAtMC0wAEAtQC1AADAtUC1QAEAtYC1gADAtcC1wAEAtgC2AABAtkC2QACAtoC2gABAtsC2wACAtwC3AABAt0C3QACAt4C3gABAt8C3wACAuEC4QACAuMC4wACAuUC5QACAucC5wACAukC6QACAusC6wACAuwC7AABAu0C7QACAu4C7gABAu8C7wACAvAC8AABAvEC8QACAvIC8gABAvMC8wACAwEDAQAaAw4DDgAJAxADEAAJAxIDEwAJAxQDFAABAxUDFQAHAxYDFgABAxcDFwAHAxgDGAABAxkDGQAHAyADIAAQAyEDIQAPAyIDIgAQAyMDIwAPAyQDJAAQAyUDJQAPAyYDJgAQAycDJwAPAygDKAAQAykDKQAPAyoDKgATAywDLAATAy4DLgATAzADMAAIAzEDMQAGAzIDMgAIAzMDMwAGAzQDNAAIAzUDNQAGAzYDNgAIAzcDNwAGAzgDOAAIAzkDOQAGAzoDOgAIAzsDOwAGAzwDPAARAz4DPgAOAz8DPwAMA0ADQAAOA0EDQQAUA0IDQgAXA0MDQwAUA0QDRAAXA0UDRQAUA0YDRgAXA0kDSQABA04DVAALA1UDVQAFA18DYwAFA2QDZwAKA2gDaAAYA2kDawALA2wDbwAFA3YDeQAFA4kDiwAFA48DkgAWA5QDlAAcA5YDmwAKA5wDnAAbA50DngAYA+8D7wARA/ED8QARA/MD8wARA/UD9QAOA/YD9gAMA/cD+AANA/sD+wANA/0D/QAJA/4D/gADA/8D/wAEBDoEOgADBDsEOwAEBDwEPAADBD0EPQAEBD4EPgADBD8EPwAEBEAEQAADBEEEQQAEBEIEQgADBEMEQwAEBEQERAADBEUERQAEBEYERgADBEcERwAEBEgESAADBEkESQAEBEoESgADBEsESwAEBEwETAADBE0ETQAEBE4ETgADBE8ETwAEBFAEUAADBFEEUQAEBFMEUwACBFUEVQACBFcEVwACBFkEWQACBFsEWwACBF0EXQACBF8EXwACBGEEYQACBGYEZgABBGcEZwAHBGgEaAABBGkEaQAHBGoEagABBGsEawAHBGwEbAABBG0EbQAHBG4EbgABBG8EbwAHBHAEcAABBHEEcQAHBHIEcgABBHMEcwAHBHQEdAABBHUEdQACBHYEdgABBHcEdwACBHgEeAABBHkEeQACBHoEegABBHsEewAHBHwEfAABBH0EfQACBH4EfgAIBH8EfwAGBIAEgAAIBIEEgQAGBIMEgwAGBIUEhQAGBIcEhwAGBIkEiQAGBIsEiwAGBIwEjAAOBI0EjQAMBI4EjgAOBI8EjwAMBJAEkAAOBJEEkQAMBKgEqAAVBLQEtAAJBLUEtQADBLYEtgAEBLgEuAACBLsEuwABBLwEvAAHBMAEwAAGBMUExQACBMcExwACBNEE0QAJBNME0wAJBNQE1AABBNkE2QAQBNoE2gAPBNsE2wATBN0E3QAIBN4E3gAZBN8E3wAMBOAE4AAZBOEE4QAMBOIE4gARBOQE5AAUBOUE5QAXAAH9q/6eAAH9qwAAAAH97gZpAAH9ygZpAAH95wY+AAH9sga5AAH+MwZAAAH97gUKAAH9ygUKAAH95wToAAH9sgT6AAH+MwUPAAH90gSmAAH+RASmAAH93AUBAAH+GgUBAAECuv/2AAECVv/2AAEB9gbaAAEBSgAKAAECGQUKAAEDlP5pAAECywaKAAECGQUJAAEC1AZMAAEC1AAKAAEBBgY8AAECagAKAAEBGAahAAEBGAAKAAEDuQZDAAEDuQAAAAEDsQUKAAEDsf//AAEBrAbaAAEA+AAKAAEClQZDAAECuAAAAAECUQUBAAECvAZAAAEDpQZMAAEC3QZMAAEC3gAKAAEChgZMAAEDegZMAAECtAZiAAEDlAZAAAECigZMAAECJQT1AAECtAT1AAEDDAT1AAECTgT1AAECHQT0AAEChAT1AAECLQAKAAEC8AT1AAECUgT1AAECWAT1AAEC5AbMAAECcwT1AAEDLAT1AAEDFAT1AAEDOwT1AAECDQT1AAECUgUIAAEDggYaAAEDBAT1AAEB0gbMAAECbQYIAAECBwTgAAECSgVQAAEDCQZAAAECnAZhAAECnP/2AAECPgUMAAECPv/2AAEC3QdjAAECTgYMAAECuwZRAAECQv/2AAECggZMAAECewYeAAECXgAKAAEBEwZMAAEBEwAKAAECxwZMAAECpgZhAAECpv/2AAECIwUKAAECI//2AAECZQZMAAECqwZhAAECq//2AAEDEgUoAAECMQUoAAECMQAKAAECVwUoAAECV//2AAECHQUoAAEB6QAKAAECVAUoAAEDBQUoAAECdgUoAAECWgAKAAECFAUoAAEC9AUoAAECIgUoAAEC5wUoAAECigUoAAECuwUoAAECu//2AAECdAUoAAECSQUoAAECUwAAAAECXwUoAAECbAZMAAEBCgThAAEBCv41AAEA+f41AAEDgAUKAAECDgUoAAEBwgAKAAECoAegAAECnwd5AAECoAffAAECqP4+AAEBFwerAAEBFwenAAEC1Qd5AAECwweiAAECwgd7AAECmwegAAECmwecAAECmwdgAAECRgaoAAECFf4+AAEA/AZnAAEA/AZjAAECPAZCAAECPwZpAAECPgZCAAECNwZpAAECNwZlAAECNwYpAAECoAdoAAECRgYxAAECqAfAAAECFQZpAAECqAe8AAECFQZlAAECpwd7AAECFAYkAAECqAeyAAECFQZbAAECYQedAAECawdzAAECNQYxAAECagdmAAECNAYkAAECawedAAECNQZbAAECoAe8AAECLAZlAAECoAedAAECLAZGAAECnwd7AAECKwYkAAECoAZhAAEC2v3zAAECLAUKAAECyAenAAEB9QemAAEBFgeEAAEBFwdzAAEA/AYvAAEBFweIAAEA/AZEAAEBF/5XAAEBFgdmAAEDVAeaAAEBCgY8AAEClP5WAAECEf5DAAEBCAebAAEA+QgAAAECbP4GAAEA+f4GAAECbAAKAAEC0P4GAAECM/4GAAEC1geSAAECPQZbAAECwwdqAAECPwYxAAECwwd/AAECPwZGAAECwweHAAECPwZOAAECYgegAAEBmAZpAAECY/4GAAEA9v4HAAECYgeSAAEBmAZbAAECbgeiAAECMgZpAAECbgeeAAECMgZlAAECdP5HAAECMv4+AAECdP37AAECMv3yAAECbgeUAAECMgZbAAECZv38AAEBxf38AAECZv5IAAEBxf5IAAECZAeRAAEBxQAAAAECmgd5AAECNgZCAAECmwdoAAECNwYxAAECmwd9AAECNwZGAAECmwffAAECNwaoAAECmweFAAECNwZOAAEDnAecAAEC+wZlAAECagebAAEB/AZlAAECaAegAAECAwZpAAECZwdbAAECAgYkAAECaAeSAAECAwZbAAECDgAKAAEDqwerAAEDWwZqAAECywfpAAECGQZoAAEB9AUoAAECRQaHAAECRQaDAAECRAZgAAECRQZHAAECRQbGAAECSv5EAAECGQaHAAECGQaDAAEA9AaHAAEA9AaDAAECbwZgAAECXgaDAAECXQZgAAECXgZHAAECQAaHAAECQAaDAAECQAZHAAECRQZPAAECRQZkAAECSwaHAAECSwaDAAECSgZCAAECSwZ5AAEB9AZ5AAECGQZPAAECGQZkAAECGAZCAAECGQZ5AAECSAaDAAECSAZkAAECRwZCAAECT//8AAECSAUoAAECT/34AAECZwaDAAEA8wZgAAEA9AZPAAEA9AZkAAEA9P5OAAEA8wZCAAEC3gaDAAECFP4CAAEA6QaHAAECD/4EAAEA6QUoAAECDwAIAAECcAaHAAECa/4AAAECcAZ5AAECXgZPAAECXgZkAAECXgZsAAECCAaHAAECCAUoAAECDf4EAAECCAZ5AAECDQAIAAECHwaHAAECHwaDAAECKP5IAAECHwZ5AAECE/3/AAECEgZ5AAECE/5LAAECPwZgAAECQAZPAAECQAZkAAECQAbGAAECQAZsAAECPgAAAAEDEgaDAAECFQaDAAECFAZCAAECFQZ5AAECpwAKAAECagdfAAECcQUKAAECJf/2AAECQgUKAAEA7wAKAAEBJgT1AAECTgUKAAECTgAKAAEBJgYUAAECHwYUAAECHwT1AAEDUATyAAEDS//2AAECawdrAAECcQerAAECdP//AAEBFwdrAAEDVAY/AAECAP/2AAEChgeIAAECZQAKAAEC3QeIAAECygAKAAECTgYxAAECdQUAAAECNQYpAAEBrwZUAAECMv/2AAEA/AYnAAEA3wZAAAECHQZTAAEB/AZGAAEDnAegAAEC+wZpAAEDnAdgAAEDmgAKAAEC+wYpAAEC/gAKAAECagefAAEB/AZpAAEBCgYyAAEAvv41AAEDegegAAEDfQAKAAEDjwZpAAEDgQAKAAECawerAAEC3QerAAECNQZpAAECTgZUAAECxwT1AAECbQc5AAECBwYRAAECXgZhAAECBgUJAAECqAZhAAECqP/2AAECFQUKAAECFf/2AAEDpQeIAAEDDAYxAAECoAdgAAECRgYpAAEDqwZMAAEDWwULAAECaweIAAECNQZGAAECewc9AAECowAAAAECLwULAAECLwYqAAECPQAAAAEDpQdrAAEDDAYUAAECXgeAAAECXv/2AAECBgYoAAECBv/3AAEC3QdzAAECTgYcAAEC3QdrAAECTgYUAAECwwdiAAECPwYpAAECzwZHAAECLwUMAAECzwdmAAECLwYrAAECtAeBAAECIwYpAAEChgdzAAEB/AYxAAEChgdrAAEB/AYpAAEChgeQAAEB/AZOAAECsAdrAAECDAYUAAEDegdrAAEDFAYUAAECoAgAAAECoAecAAECRgZlAAECoAd9AAECrv6eAAECRgZGAAEB9v6eAAECawgLAAECNQbJAAECageEAAECNAZCAAECawenAAECa/6oAAECNQZlAAECOP6eAAEBFwgLAAEA/AbHAAEBFwZMAAEBF/6nAAEA+wZAAAECwwgCAAECPwbJAAECPwUKAAECwweeAAECw/6eAAECPwZlAAECSP6dAAECvweaAAECRgZpAAECvwf6AAECRgbJAAECvgdzAAECtAAAAAECRQZCAAECRv/2AAECvwY7AAECtP6eAAECRv6UAAECmv6eAAECNwUKAAEB/f6eAAECmwgAAAECNwbJAAECtgerAAECRAZUAAECtggLAAECRAa0AAECtQeEAAECtP/3AAECQwYtAAECtgZMAAECtP6VAAECRAT1AAECM/6eAAECZ/6fAAEB/AUKAAECyP4AAAECagf/AAEB/AbJAAECaQd4AAEB+wZCAAECyP9iAAECaQAAAAECZgAAAAEB5wT1AAECsAZMAAECDAT1AAEDyf/6AAECw//9AAECTAAKAAECcQZMAAEBrwT1AAECagZAAAECZwABAAECjQZMAAEChQAKAAEB/AUAAAEB/wAKAAECJwUJAAECEwAKAAECoAfAAAEC2v/3AAECLAZpAAECKv5BAAEC1gegAAEC0AAKAAECPQZpAAECMwAKAAECoAdyAAECrgAAAAECRgY7AAEB9gAAAAECawd9AAECawAKAAECNQY7AAECOAAAAAEBFwd9AAEBFwAJAAEA/AY5AAEA+QAKAAECwwd0AAECPwY7AAECSP//AAECYgdyAAECYwAKAAEBmAY7AAEA9gALAAECmwdyAAECNwY7AAECMwAAAAECHAZMAAECXgZMAAECegZLAAECVv6UAAECaf6eAAECYQZMAAECZf4GAAECJQZMAAECaf38AAECyAZMAAECyv6oAAEB9QZLAAECTP6oAAECXQeaAAEClABaAAECJQeqAAECEQBHAAECXQY7AAEClP74AAECJQZLAAECEf7lAAEBCAY8AAECbP6oAAEA+QahAAEDegZBAAEDff6oAAEDjwUKAAEDgf6oAAEC1gZBAAEC0P6oAAECPQUKAAECM/6oAAECXgerAAECEgAKAAECdQZfAAEA5/5pAAECYgZBAAECY/6oAAEBmAUKAAEA9v6pAAECbgZDAAECdP6dAAECMgUKAAECMv6UAAECZAZAAAECZv6eAAEBOAXJAAEBxf6eAAECmwZBAAECmgAAAAECjgeEAAECjwAKAAEB+AY4AAEB+AAKAAECjwZMAAECj/6oAAEB+QUAAAEB+P6oAAEDnAZBAAEDmv6oAAEC+wUKAAEC/v6oAAECaAZBAAECZf6oAAECAwUKAAECDv6oAAECwwZDAAECwwAAAAECfQAKAAECBgUoAAECcAUoAAECawAEAAECFQZHAAECGQZHAAECFgaHAAECKAAAAAEA9AUoAAEA9AZHAAEA9AAEAAEC3gUoAAEByf/2AAECBgaHAAECFAAGAAECFAZkAAECUAAAAAECEQUoAAECGAAKAAECFgUoAAECGQAIAAECdgZkAAEC/QUo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BboF8gcCBfgFvgcQBjQGPAX+BogHVgXCBnQGRAYEB2YGCgZMBpQGEAceBcYFygYWBywFzgXSBdYGVAZcBhwGoAc6BdoGfgZkBiIHSAYoBmwGrAYuBd4F4gXmBeoGuAbEBtAG3AboBe4AAgcEAOsCjQJOAk0CTAJLAkMCAQIAAf8B/gH9AfwB+wH6AfkB+AH3AfYB9QH0AfMB8gHxAfAB7wHuAe0CfwKPA0wCkQKQA0sB/gKOApMCbQTuBO8CBQIGBPAE8QTyAgcE8wIIAgkCCgT4AgsCCwT5BPoCDAINAg4CFQUHBQgCFgIXAhgCGQIaAhsFCwUMBQ4FEQUaAh0CHgIfAiACIQIiAiMCJAIlAiYCDwIQAhECEgITAhQCVgIoAikCKgIrBRQCLAIuAi8CMAIyAjQCkgNNA04DTwNQA1EDUgNTA1QDVQNWA1cDWANZA1oDWwNcA10DXgNfA2ADYQNiA2MDZANlA2YDZwNoA54DaQNqA2sDbANtA24DbwNwA3EDcgNzA3QDdQN2A3cDeAN5A3oDewN8A30DfgUbA4ADgQOCA4MDhAOFA4YDhwOIA4kDigOLA4wDjQOOA48DkAORBR4DkgOTA5UDlAOWA5cDmAOZA5oDmwOcA50DnwOgA6EFHAUdBOcE6ATpBOoE9AT3BPUE9gT7BPwE/QTrBOwE7QUGBQkFCgUNBQ8FEAIcBRIE/gT/BQAFAQUCBQMFBAUFBR8FIAUhBSIFEwUVBRYCMwUYAjUFGQUXAjECJwItBScFKAACBwIA+wICAo0B7AHrAeoB6QHoAecB5gHlAeQB4wJOAk0CTAJLAkMCAQIAAf8B/gH9AfwB+wH6AfkB+AH3AfYB9QH0AfMB8gHxAfAB7wHuAe0CAwIEAo8CkQKQApICjgKTAm0CBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGwIcBRoCHQIeAh8CIAIhAiICIwIkAiUCJgJWAigCKQIqAisFFAIsAi4CLwIwAjECMgIzAjQCfwI2AjcCOQI4A0sDTANNA04DTwNQA1EDUgNTA1QDVQNWA1cDWANZA1oDWwNcA10DXgNfA2ADYQNiA2MDZANlA2YDZwNoA2kDagNrA2wDbQNuA28DcANxA3IDcwN0A3UDdgN3A3gDeQN6A3sDfAN9A34DfwUbA4ADgQOCA4MDhAOFA4YDhwOIA4kDigOLA4wDjQOOA48DkAORBR4DkgOTA5UDlAOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQUcBR0E5wToBOkE6gTrBOwE7QTuBO8E8ATxBPIE8wT0BPUE9gT3BPgE+QT6BPsE/AT9BP4E/wUABQEFAgUDAhoFBAUFBQYFBwUIBQkFCgULBQwFDQUOBQ8FEAURBRIFHwUgBSEFIgUTBRUFFgUYAjUFGQUXAicCLQUnBSgAAQABAXwAAQABAEsAAQABALsAAQABADYAAQABABMAAQACAyQDJQACBuYG2gACBugG2gABBvAAAQbyAAEG9AACAAEAFAAdAAAAAQACAC8ATwABAAMASQBLAoUAAgAAAAEG4AABAAYC1gLXAugC6QNrA3QAAQAGAE0ATgL9A+oD7ARlAAIAAwGVAZUAAAHgAeIAAQI6AkAABAACAAIAqACsAAEBJAEnAAEAAQAMACcAKAArADMANQBGAEcASABLAFMAVABVAAIAAgAUAB0AAAJwAnkACgACAAYATQBNAAYATgBOAAQC/QL9AAUD6gPqAAMD7APsAAIEZQRlAAEAAgAEABQAHQAAAoECgQAKAowCjAALBKkEsAAMAAIABgAaABoAAAAcABwAAQJlAmoAAgJuAm4ACAJwAnkACQKAAoAAEwABABQAGgAcAmUCZgJnAmgCaQJqAm4CgAKBAowEqQSqBKsErAStBK4ErwSwAAEF4AABBeIAAQXkAAEF5gABBegAAQXqAAEF7AABBe4AAQXwAAEF8gABBfQAAQX2AAEF+AABBfoAAQX8AAIF/gYEAAIGBAYKAAIGCgYQAAIGEAYWAAIGFgYcAAIGHAYiAAIGIgYoAAIGKAYuAAIGLgY0AAIGNAY6AAIGOgZAAAMGQAZGBkwAAwZKBlAGVgADBlQGWgZgAAMGXgZkBmoAAwZoBm4GdAADBnIGeAZ+AAMGfAaCBogAAwaGBowGkgAEBpAGlgacBqIABAaeBqQGqgawAAUGrAayBrgGvgbEAAUGvgbEBsoG0AbWAAUG0AbWBtwG4gboAAUG4gboBu4G9Ab6AAUG9Ab6BwAHBgcMAAUHBgcMBxIHGAceAAUHGAceByQHKgcwAAUHKgcwBzYHPAdCAAUHPAdCB0gHTgdUAAYHTgdUB1oHYAdmB2wABgdkB2oHcAd2B3wHggAGB3oHgAeGB4wHkgeYAAYHkAeWB5wHogeoB64ABgemB6wHsge4B74HxAAGB7wHwgfIB84H1AfaAAYH0gfYB94H5AfqB/AABwgwB+gH7gf0B/oIAAgGAAcIKAf8CAIICAgOCBQIGgABAOsACgBFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AhQCGAIcAiQCKAIsAjQCQAJIAlAC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4A6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wEAAQEBAgEDAQQBBQEGAQcBMAE0ATYBOAE6ATwBQgFEAUYBSgFNAVoCmAKaArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEC0wLVAtcC2QLbAt0C3wLhAuMC5QLnAukC6wLtAu8C8QLzAvUC9wL5AvsC/QMAAwIDBAMGAwgDCgMMAw4DEAMSAxUDFwMZAxsDHQMfAyEDIwMlAycDKQMrAy0DLwMxAzMDNQM3AzkDOwM9Az8DQgNEA0YDSANKA7oDuwO8A70DvwPAA8EDwgPDA8QDxQPGA8cDyAPfA+AD4QPiA+MD5APlA+YD5wPoA+kD6gPrA+wD7QPuA/AD8gP0A/YECwQNBA8EHQQkBCoEMASaBJsEnwSjBSQFJgABAPsACAAKABQAFQAWABcAGAAZABoAGwAcAB0AJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AGUAZwCBAIMAhACMAI8AkQCTALEAsgCzALQAtQC2ALcAuAC5ALoA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkBLwEzATUBNwE5ATsBQQFDAUUBSQFLAUwBWAFZAXEBsgG4Ab0BwAKWApcCmQKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKnAqgCqQKqAqsCrAKtAq4CrwKwArECsgKzArQCtQLSAtQC1gLYAtoC3ALeAuAC4gLkAuYC6ALqAuwC7gLwAvIC9AL2AvgC+gL8Av4C/wMBAwMDBQMHAwkDCwMNAw8DEQMUAxYDGAMaAxwDHgMgAyIDJAMmAygDKgMsAy4DMAMyAzQDNgM4AzoDPAM+A0ADQQNDA0UDRwNJA6IDowOkA6UDpgOnA6gDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuQPJA8oDywPMA80DzgPPA9AD0QPSA9MD1APVA9YD1wPYA9kD2gPbA9wD3QPeA+8D8QPzA/UECgQMBA4EIwQpBC8EmQSeBKIFIwUlAdcAAgBNAdgAAgBQAdkAAwBKAE0B2gADAEoAUAABAAEASgHWAAIASgHcAAIAWAHbAAIAWAABAAMASgBXAJUAAAABAAEAAQABAAAAAwTCAAIArQLYAAIAqQTIAAIArQTVAAIAqQTDAAIArQLZAAIAqQSyAAIAqQTJAAIArQRlAAIArQTWAAIAqQNHAAIAqQNJAAIAqQNIAAIAqQNKAAIAqQTBAAIAqQTGAAIB1QTEAAIArQSxAAIAqQLyAAIB1QP8AAIAqQTQAAIArQMqAAIB1QTbAAIArQTgAAIArQTeAAIAqgNBAAIAqQTkAAIArQTHAAIB1QTFAAIArQP9AAIAqQTRAAIArQMrAAIB1QTcAAIArQThAAIArQTfAAIAqgNCAAIAqQTlAAIArQTKAAIAqQMDAAIB1QTMAAIArQMFAAIAqQMHAAIB1QTOAAIArQMgAAIAqQMmAAIB1QTZAAIArQPxAAIAqQTiAAIArQPvAAIAqATLAAIAqQMEAAIB1QTNAAIArQMGAAIAqQMIAAIB1QTPAAIArQMhAAIAqQMnAAIB1QTaAAIArQPyAAIAqQTjAAIArQPwAAIAqAMaAAIAqQMcAAIB1QTXAAIArQS9AAIArAMbAAIAqQMdAAIB1QTYAAIArQS+AAIArAMNAAIAqQMPAAIB1QTSAAIArQSzAAIAqAKrAAIAqgK1AAIAqQSMAAIArQP1AAIAqASOAAIAqwSQAAIAqgMOAAIAqQMQAAIB1QTTAAIArQS0AAIAqALGAAIAqgLQAAIAqQSNAAIArQP2AAIAqASPAAIAqwSRAAIAqgLDAAIAqQLCAAIAqARjAAIAqwL3AAIAqgS6AAIArAR0AAIAqQR8AAIArQR2AAIAqAR4AAIAqwR6AAIAqgR1AAIAqQR9AAIArQR3AAIAqAR5AAIAqwR7AAIAqgSCAAIAqQSKAAIArQSEAAIAqASGAAIAqwSIAAIAqgSDAAIAqQSLAAIArQSFAAIAqASHAAIAqwSJAAIAqgKcAAIAqQQ6AAIArQKbAAIAqAQ8AAIAqwKeAAIAqgS1AAIArAKkAAIAqQRSAAIArQKjAAIAqARUAAIAqwRWAAIAqgS3AAIArAKoAAIAqQRkAAIArQKnAAIAqARiAAIAqwL2AAIAqgS5AAIArAK3AAIAqQQ7AAIArQK2AAIAqAQ9AAIAqwK5AAIAqgS2AAIArAK/AAIAqQRTAAIArQK+AAIAqARVAAIAqwRXAAIAqgS4AAIArALIAAIAqQRnAAIArQLHAAIAqARpAAIAqwLKAAIAqgS8AAIArALNAAIAqQR/AAIArQLMAAIAqASBAAIAqwMxAAIAqgTAAAIArAKtAAIAqQRmAAIArQKsAAIAqARoAAIAqwKvAAIAqgS7AAIArAKyAAIAqQR+AAIArQKxAAIAqASAAAIAqwMwAAIAqgS/AAIArATUAAMAqgCpBN0AAwCqAKkAAgARACUAKQAAACsALQAFAC8ANAAIADYAOwAOAD0APgAUAEUASQAWAEsATQAbAE8AVAAeAFYAWwAkAF0AXgAqAIEAgQAsAIMAgwAtAIYAhgAuAIkAiQAvAI0AjQAwAJgAmwAxANAA0AA1AAA=", encoding: 'base64' },
+ 'Roboto-Medium.ttf': { data: "AAEAAAARAQAABAAQR0RFRqcXo6wAAcNkAAACWEdQT1PNVc50AAHFvAAAeRBHU1VCzzL7wgACPswAABX6T1MvMpfnsYsAAAGYAAAAYGNtYXBnX+zQAAAWoAAABopjdnQgO/gmfQAAL4QAAAD+ZnBnbagFhDIAAB0sAAAPhmdhc3AACAAZAAHDWAAAAAxnbHlmGnjWewAAOtwAAYR2aGVhZAuddKAAAAEcAAAANmhoZWEK9grjAAABVAAAACRobXR4RitZaAAAAfgAABSobG9jYQPoojQAADCEAAAKVm1heHAI2hDGAAABeAAAACBuYW1lYZ+OkgABv1QAAAPicG9zdP9tAGQAAcM4AAAAIHByZXB5WM7TAAAstAAAAs4AAQAAAAMC0SNEu9FfDzz1ABkIAAAAAADE8BEuAAAAAOP3FVv6Jv3VCWEIcwAAAAkAAgAAAAAAAAABAAAHbP4MAAAJbvom/j4JYQABAAAAAAAAAAAAAAAAAAAFKgABAAAFKgCpABUAdgAHAAIAEAAvAJoAAALmD3UAAwABAAQEiQH0AAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAEdPT0cAQAAA//0GAP4AAGYHmgIAIAABnwAAAAAEOgWwAAAAIAADA4wAZAAAAAAAAAAAAf0AAAH9AAACHgCMAo4AYATTAFYEjABkBeQAZAUhAFUBVwBSAsUAgQLMACcDjAAcBHEAQgHKACICuABQAjkAhgMfAAEEjABoBIwAqgSMAFIEjABOBIwANwSMAH8EjABzBIwARASMAGcEjABdAhwAfwHrADMEEgA+BIAAjwQoAH4D5AA7By0AWwVOABEFDQCUBTkAZgU5AJQEhQCUBGgAlAVzAGsFrQCUAkQApQRyAC8FDgCUBFIAlAb/AJQFrQCUBYMAZQUbAJQFgwBgBQkAlATYAEsE4AAtBTwAgAUqABEHCwAvBQ0AJgTjAAgE0wBQAiwAhQNVABICLAALA24ANgOVAAICkAA4BFAAVgR/AH0ELQBOBIIAUARJAFEC0wArBIkAUgRyAHoCCgB8AgL/qwQsAH0CCgCMBvgAfAR0AHoEigBOBH8AfQSHAFAC1AB9BB4ASQKqAAoEcwB3A/gAFgXwACMEBgAfA+sADAQGAFECqwA4Af0ArwKrABwFTQB1Ah8AhQSCAGcEtQBfBZ4AXARAAA0B+ACJBPkAXAOSAGMGSQBaA5AAjgPjAFcEawB/BkoAWQPaAJ0DDwCBBEoAXAL1AD0C9QA3ApQAbwTBAJMD6gBJAkQAkAITAGwC9QCCA6cAeQPjAF4FygBfBiIAUwZcAGYD5QBGB37//ARCAEwFgQBpBM8AlQTrAIoGwgBIBKQAaASRAEMEhgBOBJEAgQTsAFAFsAAfAhcAkASaAI0EZAAgAlIAIAWXAJAEhgB9B7AAZQc+AFkCBwCJBY0AVQLQ/94FkQBbBJ0ATQWjAIAE5gB3AiX/rgQ5AFcD3gCQA6oAbgPaAJ0DfgB1AgoAgQKqAHgCTAApA84AdwMoAEsCcwCJAAD8kwAA/WIAAPx0AAD9OgAA/AgAAP0eAmsAzQQ7AG4CRACQBHQAmQXCABoFegBcBTUAIASMAGoFrgCZBIwARwX5AEwFsQBGBVkAbASEAFYEyACXBA0AHgSGAFEEZQBiBA8AWQSGAH0EpwB2AqUAowRoABUEGgBnBPwAMASGAIAEMwBQBI4AUAQqADwEXQB/BdEARgXMAFIGlABlBLQAeASH/+EGeQArBf0AJAVTAGcIgQAtCIwAmQZRAC0FpQCPBQcAkAX9ACYHqQAVBNsASQWmAJIFqAAsBQsAMgZfAE4F+ACOBYUAkQeaAJUH+gCVBiEAFQbwAJkFAgCQBUgAYwdiAKEE6AAXBIAAWgSLAI8DWwCDBPIAJwaHACAEFwBOBJIAhARsAI8ElAAgBgIAjwSRAIQEkgCEA/oAIwXUAFMEzwCEBGUAYAaNAIQG8QB9BSEAIAZvAI8EaQCPBDkAUAaCAJIEcAAuBHL/1wQ5AFIG1gAdBuQAhASG/+gEkgCEB1gAiAZqAHIEaP/hBygAmAYCAIYFFgAaBGMACwdLAKwGPQCaBuUAfgXdAIEJKgClB+4AkAQgACgD9QAyBXoAYASIAE0FGAAQBA0AHgV6AGAEhgBOB1QAiAZWAHUHWACIBmoAcgUQAGcERwBdBPsAcAAA/HAAAPx1AAD9gQAA/aYAAPomAAD6UQYgAJIFEwCEBGj/4QUQAJQEhgB9BGsAjwOjAH0E6gCZBCQAfQgjABUG4AAgBckAmQT7AI8FLgCRBKwAjQaUADQFoAA8BiAAlAUHAIQH3QCUBa0AfQhJAJcG7wB9BjcAZwUEAGAFOQAmBEEAHwcoACkFbwAnBfIAkQTcAGAFcACBBHQAdQWFAIkGGwAKBMT/ywUgAJEEeACNBh8ALAUUACAFrQCZBIYAfQYqAJQFEQCEB3UAlAZ0AI8FjQBVBKMAWwSkAF0EwwAsA6oAJAVpACYEcQAfBPkATwbzAGgG2wBfBlEAPQUoAC8EgwBKBEgAcwe8AEIGpAA/B/UAlAaeAHQFBgBcBC8AVQWoACEFHQBEBU4AfQZGACwFOwAgBVAAdAMbAGQEFAAACCkAAAQUAAAIKQAAArkAAAIKAAABXAAABH8AAAIwAAABogAAAQAAAADRAAAAAAAAArcAUAK3AFAFIwCcBioAewOaAAgBvwBlAboANwHOADUBowBLAwsAbQMTAEMDAAA1BFsAPwSaAF0CzACKA/0AjQWqAI0BzwBeB64AUAJ0AGwCaQBVA5kAKwL1AEwC9QA2AvUAUAL1AE4C9QA3AvUASwL1AEcDOQBQAvMAUALzAFACAwBTAgMAUANcAGcC9QBMAvUAggL1AD0C9QA3AvUANgL1AFAC9QBOAvUANwL1AEsC9QBHAzkAUALzAFAC8wBQAgMAUwIDAFAEtQBiBm4AIwa/AJkIlQCUBjsAIwabAH0EjABcBeoAIwQtACoEmwAkBWIATwV+ACsF5ABuA+MARQgpAJAFCABvBRQAlgY3AFwG3gBWBtAAXgasAFwEkwBhBYoApgTeAD8EgACcBJ0AOwhSAGECMv+nBJEAZQSAAI8EEgA9BCgAfQQOACUCUQCcAo4AZAHpAEcFGQArBK0AGgS9ACsHKAArBygAKwUPACsGtwBJAAAAAAgwAFkINQBcAvUAPQL1AIIC9QBMBB0ATwQdAFcEHQA4BB0AXwQdAGYEHQAzBB0APQQdAEMEHQCYBB0AWAQrAEEEPgAGBFwAEwYJACcEeQAIBIgAaQQ/ACUENwA/BGQAdQS9AE0EawB2BL0ATgTcAHYGBQB2A7cAdgReAHYD1gAmAf4AhgTdAHYEpwBWA8gAdgQ3AD8EaAA6A6UACgO8AHYEeQAIBL0ATgR5AAgDnQBGBNkAdgQeAEQFpgBPBVgATwTgAF4FkgAjBIAATwdWACQHWAB2BZkAJQTYAHYEcgB2BV4AJwZFABsERgBDBOIAdgRdAHYEywAkBEwAHwViAHYEjQBDBoQAdgcOAHYFYQAJBhYAdgRnAHYEgAA9Bo8AdgSEAEIEKAALBqMAGwSgAHYFDQB2BXQAIQX4AE4EVgAGBMQAEwaXACMEjQBDBI0AdgYAAA4EzgBNBEcAQwS9AE4EaAA6A/QARQgtAHYE9AAoAvUANwL1ADYC9QBQAvUATgL1ADcC9QBLAvUARwO2AI0CrgCYA+AAdgQ6AAwEtgBWBUEAmQUoAJkEMACBBTUAmQQoAIEEegB2BIAATwRgAHYEmgAIAf4AkAOhAHUAAPyeA/cAegP6/1EECwB5A/oAeQO8AHYDnQB1A50AdQL1AEwC9QA2AvUAUAL1AE4C9QA3AvUASwL1AEcFcwBpBZ4AaQV/AJkF2QBpBdoAaQQoAJYEggBrBFgADwS7ADQEawBnBC4AQgOhAHYBugBiBpgATgSvAG4CDP+nBIwAOASMAGgEjAAsBIwAYgSMAF8EjAA0BIwAbASMAFkEjABnBIwA5gIm/64CJf+uAhcAkAIX//oCFwCQBGAAdgTmAGAEMAA5BIgAfQQ+AE8ElQBOBJEATgSdAEkEkgB9BJoATgRJAFEEiQBQBFkANAOtAGEFDABfA8QABQZG/+wEBwB2BL0ATgUOADQE3AB2Af0AAAK4AFAFVwAXBVcAFwSQ//UE4AAtAqr/6wVOABEFTgARBU4AEQVOABEFTgARBU4AEQVOABEFOQBmBIUAlASFAJQEhQCUBIUAlAJE/8sCRAClAkT/ygJE/74FrQCUBYMAZQWDAGUFgwBlBYMAZQWDAGUFPACABTwAgAU8AIAFPACABOMACARQAFYEUABWBFAAVgRQAFYEUABWBFAAVgRQAFYELQBOBEkAUQRJAFEESQBRBEkAUQIX/7UCFwCQAhf/swIX/6gEdAB6BIoATgSKAE4EigBOBIoATgSKAE4EcwB3BHMAdwRzAHcEcwB3A+sADAPrAAwFTgARBFAAVgVOABEEUABWBU4AEQRQAFYFOQBmBC0ATgU5AGYELQBOBTkAZgQtAE4FOQBmBC0ATgU5AJQFGABQBIUAlARJAFEEhQCUBEkAUQSFAJQESQBRBIUAlARJAFEEhQCUBEkAUQVzAGsEiQBSBXMAawSJAFIFcwBrBIkAUgVzAGsEiQBSBa0AlARyAHoCRP+0Ahf/nQJE/9ECF/+7AkT/3QIX/8YCRAAYAgr//wJEAJ8GtQClBAsAfARyAC8CJf+uBQ4AlAQsAH0EUgCUAgoAjARSAJQCCgBZBFIAlAKgAIwEUgCUAuYAjAWtAJQEdAB6Ba0AlAR0AHoFrQCUBHQAegR0/6MFgwBlBIoATgWDAGUEigBOBYMAZQSKAE4FCQCUAtQAfQUJAJQC1ABSBQkAlALUADcE2ABLBB4ASQTYAEsEHgBJBNgASwQeAEkE2ABLBB4ASQTYAEsEHgBJBOAALQKqAAoE4AAtAqoACgTgAC0C0gAKBTwAgARzAHcFPACABHMAdwU8AIAEcwB3BTwAgARzAHcFPACABHMAdwU8AIAEcwB3BwsALwXwACME4wAIA+sADATjAAgE0wBQBAYAUQTTAFAEBgBRBNMAUAQGAFEHfv/8BsIASAWBAGkEhgBOBHr/pQR6/6UEPwAlBJoACASaAAgEmgAIBJoACASaAAgEmgAIBJoACASAAE8D4AB2A+AAdgPgAHYD4AB2Af7/qQH+AIYB/v+nAf7/nATcAHYEvQBOBL0ATgS9AE4EvQBOBL0ATgSIAGkEiABpBIgAaQSIAGkEPgAGBJoACASaAAgEmgAIBIAATwSAAE8EgABPBIAATwR6AGED4AB2A+AAdgPgAHYD4AB2A+AAdgSnAFYEpwBWBKcAVgSnAFYE3QB2Af7/kQH+/68B/v+6Af4AFwH+AH0D1gAmBF4AdgO3AHYDtwB2A7cAdgO3AHYE3AB2BNwAdgTcAHYEvQBOBL0ATgS9AE4EZAB1BGQAdQRkAHUENwA/BDcAPwQ3AD8ENwA/BD8AJQQ/ACUEPwAlBIgAaQSIAGkEiABpBIgAaQSIAGkEiABpBgkAJwQ+AAYEPgAGBCsAQQQrAEEEKwBBBU4AEQTp/0IGEf9KAqj/TgWX/7QFR/9BBW3/wgKl/4UFTgARBQ0AlASFAJQE0wBQBa0AlAJEAKUFDgCUBv8AlAWtAJQFgwBlBRsAlATgAC0E4wAIBQ0AJgJE/74E4wAIBIQAVgRlAGIEhgB9AqUAowRdAH8EmgCNBIoATgTBAJMD+AAWBFkANAKl/8MEXQB/BIoATgRdAH8GlABlBIUAlAR0AJkE2ABLAkQApQJE/74EcgAvBSgAmQUOAJQFCwAyBU4AEQUNAJQEdACZBIUAlAWmAJIG/wCUBa0AlAWDAGUFrgCZBRsAlAU5AGYE4AAtBQ0AJgRQAFYESQBRBJIAhASKAE4EfwB9BC0ATgPrAAwEBgAf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APD/+QDx//kA8//5APT/+QD1//kA9v/tAPj/+QD5/+0A+v/5APv/+QD8/9sA/v/5AQD/+QEF//kBK//5ATb/+QE6/+0BPP/5AT7/+QFI/+0BSv/tAVP/+QFV//kBV//5AVz/+QFt/+0D4f/5A+P/+QPo//kD7f/5BAP/+QQk//kEJv/5BDb/7QQ4//kElv/tBJj/+QAqAOz/7wDt/+4A7v/wAPD/7wDx/+8A8//vAPT/7wD1/+8A9v/uAPj/7wD6/+8A+//vAP7/7wEA/+8BBf/vAQn/9AEg//EBK//vATT/8AE2/+8BOv/vATz/7wE+/+8BRP/wAVP/7wFV/+8BV//vAVz/7wFe//ABbf/vA+H/7wPj/+8D5v/wA+j/7wPt/+8EA//vBBL/8AQg//AEJP/vBCb/7wQ4/+8EmP/vADMA0v++ANb/vgDm/8kA7P/1APD/9QDx//UA8//1APT/9QD1//UA9v/fAPj/9QD6//UA+//1AP7/9QEA//UBBf/1AQn/7QEa/+8BIP/rASv/9QE2//UBOf++ATr/3wE8//UBPv/1AUX/vgFM/+kBU//1AVX/9QFX//UBXP/1AWP/9QFt/+AD3f++A+H/9QPj//UD5f/vA+j/9QPt//UD7v/vBAP/9QQH/+8ED//vBCT/9QQm//UEMP/vBDL/7wQ0/+8EOP/1BJP/vgSY//UAAgBRACUAPgAAAEUAXgAaAIEAgQA0AIMAgwA1AIYAhgA2AIkAiQA3AIsAlgA4AJgAnQBEALEAsQBKALoAuwBLAL8AvwBNAMEAwQBOAMMAxABPAMcAxwBRAMsAywBSAM0AzgBTANAA0QBVANMA0wBXANoA3gBYAOEA4QBdAOUA5QBeAOcA6QBfAOsA+wBiAP0A/QBzAP8BAQB0AQMBAwB3AQgBCQB4ARYBGgB6ARwBHAB/ASABIgCAASoBKwCDATMBNACFATYBNgCHATsBPACIAUEBRACKAUcBSACOAUsBTQCQAVEBUQCTAVQBWACUAV0BXgCZAWIBYgCbAWQBZACcAWgBaACdAWoBbACeAW4BbgChAXABcACiAe0CAQCjAgUCBQC4Ag4CDgC5AhACEAC6AhcCGQC7AhsCHAC+Ah4CHgDAAiICIgDBAiQCJgDCAiwCLADFAjECMwDGAjUCNQDJAkMCQwDKAkYCRgDLAkgCSADMAksCTgDN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ANr/9ADe/+0A4f/hAOb/1ADs/+IA7v/vAPD/4gDx/+IA8//iAPT/4gD1/+IA9v/JAPj/4gD6/+IA+//iAP7/0QEA/+IBBf/iAQn/5QEZ/9QBGv/mASD/4wEr/+IBM//0ATT/7wE2/+IBOf/SATr/xAE8/+IBPv/iAUP/9AFE/+8BRf/SAUf/4QFJ/+EBU//iAVX/4gFX/+IBXP/iAV3/9AFe/+8BYv/UAWP/9QFk/+cBbP+qAW3/yQGF/8oBhv/KAYj/ygGJ/8oBiv/KA9H/7QPd/9ID3v/0A+H/4gPj/+ID5f/mA+b/7wPo/+ID7f/iA+7/5gP3/8oD+P/KA/v/ygQD/+IEBv/UBAf/5gQO/9MED//mBBH/9AQS/+8EH//0BCD/7wQk/+IEJv/iBC//7QQw/+YEMf/tBDL/5gQz/+0ENP/mBDX/4QQ4/+IEk//SBJX/4QSY/+IEov/TACkAR//sAEj/7ABJ/+wAS//sAFX/7ACU/+wAmf/sAr3/7AK+/+wCv//sAsD/7ALB/+wC2f/sAtv/7ALd/+wC3//sAuH/7ALj/+wC5f/sAuf/7ALp/+wC6//sAu3/7ALv/+wC8f/sAvP/7ART/+wEVf/sBFf/7ARZ/+wEW//sBF3/7ARf/+wEYf/sBHX/7AR3/+wEef/sBH3/7AS4/+wExf/sBMf/7AA2AAYAEAALABAADQAUAEEAEgBH/+gASP/oAEn/6ABL/+gAVf/oAGEAEwCU/+gAmf/oAYUAEAGGABABiAAQAYkAEAGKABACvf/oAr7/6AK//+gCwP/oAsH/6ALZ/+gC2//oAt3/6ALf/+gC4f/oAuP/6ALl/+gC5//oAun/6ALr/+gC7f/oAu//6ALx/+gC8//oA/cAEAP4ABAD+wAQBFP/6ARV/+gEV//oBFn/6ARb/+gEXf/oBF//6ARh/+gEdf/oBHf/6AR5/+gEff/oBLj/6ATF/+gEx//oAEoAR/+0AEj/tABJ/7QAS/+0AEwAFABPABQAUAAUAFP/egBV/7QAV/9kAFsACwCU/7QAmf+0Adz/ZAK9/7QCvv+0Ar//tALA/7QCwf+0Asf/egLI/3oCyf96Asr/egLL/3oC2f+0Atv/tALd/7QC3/+0AuH/tALj/7QC5f+0Auf/tALp/7QC6/+0Au3/tALv/7QC8f+0AvP/tAMV/3oDF/96Axn/egMh/2QDI/9kAyX/ZAMn/2QDKf9kBFP/tARV/7QEV/+0BFn/tARb/7QEXf+0BF//tARh/7QEZ/96BGn/egRr/3oEbf96BG//egRx/3oEc/96BHX/tAR3/7QEef+0BHv/egR9/7QEuP+0BLz/egTF/7QEx/+0BMkAFATLABQEzQAUBNr/ZAABAPQABAAGAAsADAAlACcAKAApACoALwAwADMANAA1ADYAOAA6ADsAPAA9AD4APwBJAEoATABPAFEAUgBTAFYAWABaAFsAXQBfAJYAnQCyAYUBhgGIAYkBigHzAfUB9gH4AfsCBgJLAk4CYAJiAmMClgKXApkCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCrAKtAq4CrwKwArUCvgK/AsACwQLGAscCyALJAsoCywLQAtEC0gLUAtYC2ALaAtwC3gLgAuIC4wLkAuUC5gLnAugC6QLqAusC9QMDAwUDBwMJAwsDDgMQAxIDEwMUAxUDFgMXAxgDGQMbAx0DHwMqAywDLgM8Az4DPwNAA0EDQwNFA0sDTANNA04DTwNQA1EDUgNTA1QDXwNgA2EDYgNjA2kDagNrA3ADggODA4QDhQOJA4oDiwOUA+8D8QPzA/UD9gP3A/gD+wP9A/4EOgQ8BD4EQARCBEQERgRIBEoETAROBFAEUgRTBFQEVQRWBFcEWARZBFoEWwRcBF0EXgRfBGAEYQRmBGcEaARpBGoEawRsBG0EbgRvBHAEcQRyBHMEewSMBI0EjgSPBJAEkQS0BLUEtwS7BLwEvgTEBMYEyQTKBMwEzgTRBNME1ATVBNgE2wTeBN8E4AThBOIE5AABADUABgALAJYAsQCyALMAtAC9AMEAxwGFAYYBiAGJAYoCBgIHAggDogOjA6QDpQOmA6cDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuQO8A8ADwgPGA/cD+AP7BOYE5wTrBO4E9AT5AKcAEP8HABL/BwAl/04ALv8NADgAFABF/94AR//rAEj/6wBJ/+sAS//rAFP/6wBV/+sAVv/mAFn/6gBa/+gAXf/oAJT/6wCZ/+sAm//qALL/TgGH/wcBi/8HAY//BwGQ/wcCBv/AAk7/wAKb/04CnP9OAp3/TgKe/04Cn/9OAqD/TgKh/04Ctv/eArf/3gK4/94Cuf/eArr/3gK7/94CvP/eAr3/6wK+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JWQZfBmCHTwlHCYMJMIjliV8IXohwiY8JiomVCV8JmYh2iZ+JTQmfiWOIVwmnBmIGY4mriWmJsYhbibeHm4kDiW4JxonCCcyIaok7CTyJG4kkidKHuwiRgAAGZQAACJMAAAZmgAAGaAkmBmmGawo3CV8IPAg9hmyGbgZvhnEJnIlKCZ+JTQZyhnQGdYZ3BniGegZ7hn0I/Aj3iP8I+okUCREJFwluBvaAAAiaiJ2JMgAAAAAIMAg0iDYJPgAACDeIOQg6gAAAAAAABn6AAAhCAAAIfgAACEOIRQlvgAAGgAAABoGAAAaDAAAIgoijhoSAAAAABoYGh4AACSqAAAaJAAAGioAABowAAAaNgAAGjwAACTOAAAaQgAAGkgAACIQIpoaTgAAGlQAABpaGmAaZgAAGmwAABpyAAAkpAAAGngAABp+AAAksAAAGpAAABqEAAAaigAAIiIAABqQAAAalgAAGpwAABqiAAAaqAAAGq4AACLEAAAiygAAGrQAABq6AAAawAAAGsYAABrMGtIa2BreGuQAABrqAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrwG7Aa9hr8AAAAAAAAAAAAAAAAAAAAABsCAAAAACS2AAAkvAAAAAAAAAAAAAAAAAAAAAAAAAAAGwgiZAAAAAAAAAAAGw4bFBsaGyAbJgAAGz4bRBssGzIbOB2uGz4bRAAAAAAoBCdoKDoojigQKBYbSiiCG1AlNCCWIJwoBCgKKGonkiduIE4bVhtcJ/gn/ifyKGQndCd6J+Yn7CASIBgnbie8J6onsCeYJ6QoKCguH8ofxBtiG2gn1AAAAAAnYhtuAAAbdAAAKBwoIht6AAAAABuAG4YAABuMAAAbkgAAG5gAABueAAAbpAAAG6obsBu2AAAAAChAG7wbwhvIAAAo0CfaG84b1CY8JiofCh+UKMQoNCfUJ84oxCfIG9ohwhvaG+Ao3CV8KNwb5ijcJXwb7BvyG/goWBv+HAQn8ihkHAocECd0J3ol6BziJegc4iYMJMIm0iSeJt4ebhwWJUAcFiVAIzAlQBwcJUAiOiVAHCIlQCiUJUAiFhwoIeAlWCHgJVgjbCVYIRolWBwuJXAcLiVwHDQlcCEsJXAcOiUoHEAnXBxAJ1wjqCdcHEYnXCK4J1wcTCbwHEwm8BxSJvAcWCbwIbAk2hxeJUwcXiVMIzYlTBxkJUwiQCVMHGolTCigJUwiIhxwIewlZCHsJWQjeCVkIWIlZBx2JXwcdiV8HHwlfCF0JXwcgiU0JS4ljiUuJY4jtCWOHIgljiK+JY4cjiW4HI4luByUJbgcmiW4IbYkkiL6JJIcoCVAHKYlTCM8JUAjSCVMKJQlQCigJUwcrCIcHLIiKBy4IhwcviIoHMQiHBzKIigc0CIcHNYiKBzcHOIl9CSYHOglWBzuJWQiUiVYIlglZBz0JVgc+iVkKKwlWCi4JWQdACVYHQYlZB0MJRAdEiUcHRglEB0eJRwdJCUQHSolHB0wHTYdPCUcHUIhUB1IJMIdTiVwHVQlfB1aJXAdYCV8HWYlcB1sJXwjih1yI5YlfB14JXAdfiE4HYQAACYwHYomPB2QHZYdrh2cJXwmSB2iJlQdqCZIHa4mVCV8JkgdriZUJXwlIiUoJS4lNCZyHbQmfh26HcAlKB3GJTQmfiU0HcwnXB3SJY4d2CdcHd4ljh3kJ1wd6iWOHfAlmh32JaYmoh38Jq4eAh4IJZoeDiWmHhQhJh4aIW4eICEmHiYhbia6Hiwmxh4yJroeOCbGHj4eRCEmHkohbibSHlAm3h5WJtIeXCbeHmIeaCSeJt4ebh50JvAeeiW4HoAm8B6GJbgejCbwHpIluB6YJvAeniW4HqQm8B6qJbgm6ibwJA4luB6wIZ4etiGqHrwk2h7CJJIgzCTaHsggxh7OHuwe1CDGHtoe7B7gIMYe5h7sHvIAAB74AAAe/gAAHwQAAB8KH5QfCh+UKAQoCh92J8gfdifIH3wnyB8QJ8gfFifIHxwnyCjEJ8goxB8iHygn2h8oJ9ofLifaJ4Yn2h80J6QfNCekHzonpCeeJ6QfQCd6KF4oZCheKGQfRihkH0woZB9SKGQfWCCcH1ggnB9eIJwfZCCcKIgojh9qJ8gfcCfIKMQnyB92KDQffCg0H4IoNB+IKDQfjh+UH5on2h+gJ9ofpifaKNAn2h+sJ9ofsh/EH7gfxB++H8Qfyh/QH9YoLh/cJ6Qf4iekH+gnpCeYH+4f9CekH/onsCduIAAgBiAYIBIgDCASIBggEiAYIB4neid0ICQgKid6IDAoZCA2KGQgPChkJ7YgTiduIEIgSCBOIFQnkiBaJ5IoaiBgIGYnkigEIGwguigKKAQgciB4IJwgfiCcIIQgnCCKIJwgkCCcIJYgnCCiKIIgqCiOJ4AojiCuJ2ggtCdoILonaCiUJUAorCVYJgAhUCOKJXAnVidcJNQk2gAAIMAg6gAAKJQlQCXEIUQorCVYJz4gxiYAIVAjiiVwJjAmHiZaIc4mciUoJ1YnXCXEJpAm0iSeJNQk2iTgJOYhLCVwIMwk2iDSINgk+AAAIN4g5CDqAAAhCAAAIPAg9iZ+JY4nGicIIPwAACECAAAmfiWOIQgAACEOIRQhGiVYISAAACa6ISYjiiVwISwlcCEyITgmGCYeIT4AACiUJUAlxCFEJMgAACisJVghSgAAJlohziYAIVAnVidcJcQmkCIWIhwm0iSeJOAk5iigJUwouCVkIVYAACZ+JY4hXCacIiIiKCRuJJIk7CTyIWIlZCFoAAAmxiFuI5YlfCF0JXwheiHCIYAAACGGJJIhjCGeIZIhqiGMIZ4hkiGqIZghniGkIaohsCTaIbYkkiG8IcIhyCHOIdQh2iiUJUAooCVMIeAlWCHmAAAh7CVkIfIAACH4AAAh/gAAIgQAACIKIo4iECKaIhYiHCIiIigk1CTaI4olcCIuAAAiNAAAI4olcCM8JUAjSCVMIjolQCJAJUwiRgAAIkwAACJSJVgiWCVkIl4iZCJqInYicCJ2InwAACKCAAAiiCKOIpQimiKgAAAipgAAIqwAACKyAAAiuCdcIr4ljiLEAAAiygAAItAAACLWAAAi3AAAIuIAACLoAAAi7iSSIvQAACL6JJIjAAAAIwYkkiMMAAAjEgAAIxgAACMeAAAl9CSYKJQjQiigI04jJCVAIyolTCiUJUAooCVMKJQlQCigJUwolCVAKKAlTCiUJUAooCVMIzAjQiM2I04olCVAKKAlTCiUJUAooCVMKJQlQCigJUwolCVAKKAlTCM8I0IjSCNOKKwjcii4JGIjVCVYI1olZCNgJVgjZiVkKKwlWCi4JWQorCVYKLglZCisJVgouCVkKKwlWCi4JWQjbCNyI3gkYiN+JXAjhCV8I4ojkCOWKOInViOuJn4juiOcJ1wjoiWOJ1YnXCZ+JY4nVidcJn4ljidWJ1wmfiWOJ1YnXCZ+JY4jqCOuI7QjuiPAI94jxiPqI8Aj3iPGI+ojzCPeI9Ij6iPYI94j5CPqI/Aj9iP8JAIm6iQIJA4kFCQaJvAkICW4JCYkRCQsJbgkJiREJCwluCQyJEQkOCW4JD4kRCRK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/aoAAAAB/ecGdAAB/doGdAAB/dUGWwAB/acGwwAB/i8GTwAB/ecFCgAB/doFCgAB/dUE6AAB/acFAwAB/i8FDQAB/eYEpgAB/k0EpgAB/fkFAQAB/h4FAQABArr/9gABAnj/9gABAd4GuAABAUoACgABAhkFCgABA4z+aQABAssGigABAhoFBwABAggGRwABAt4GSAABAt4ACgABAR8GPQABAmAACgABASoGmgABASoACgABA8wGQgABA8wAAAABA6gFCgABA6j//AABAZMGuAABAQQACgABAqgGQgABArwAAAABAlcFAQABAz8E/QABArwGQAABA9gGSAABAtMGSAABAsgACgABApMGSAABA4AGSAABAp8GVgABA5QGQAABAooGTAABAiEE9QABAr0E9QABA0gE/QABAksE/QABAjME/AABAoEE9QABAicACgABAvcE9QABAksE9QABAk8E9QABAugGzAABAmEE9QABAywE9QABAzoE/QABAzsE9QABAg0E9QABAkMFCQABA6cGQwABAzEE/QABAdMGzAABAn0GHQABAhkE7wABAkUFUAABAzcGQAABApkGYQABApn/9gABAkgFDAABAkj/9gABAtMHawABAksGIQABAtwGVwABAk4FCgABAk7/9gABAmYGTAABAogGGQABAlsGTAABAlsACgABARAGTAABARAACgABAsQGTAABAiAFCgABAiD/9gABAmIGTAABAqMGYQABAqP/9gABAwEFKAABAjkFKAABAlwFKAABAlz/9gABAhUFKAABAckACgABAk4FKAABAyQFKAABAm8FKAABAloACgABAjcFKAABAjUFKAABAwgFKAABAi4FKAABAwUFKAABAooFKAABAtwFKAABAtz/9gABAmYFKAABAkEFKAABAlAAAAABAl8FKAABAnIGTAABAnIACgABAQ0E6AABAQ3+NQABAQX+NQABAQEFKAABAhEACAABA2gFCgABAg4FKAABAcYACgABAn4FKAABAn4ACgABAqoHqgABAqkHkgABAqoH3AABAqv+NgABASIHsQABASIHpAABAtUHkgABAsIHrAABAsEHkwABAp4HqgABAp4HnQABAp4HbAABAjUGdAABAjQGWwABAjUGpQABAiH+NgABAQsGawABAQsGXQABAj4GWwABAj8GWwABAjoGdAABAjoGZgABAjoGNQABAqoHbwABAjUGOAABAqwHvwABAhYGdAABAqwHsQABAhYGZgABAqwHkgABAhYGRwABAqwHrgABAhYGYwABAjIHoQABAjUACgABAnQHdgABAioGOAABAnQHhQABAikGSAABAnQHoQABAioGZAABAq4HsQABAisGZgABAq4HmwABAisGUAABAq0HkgABAisGRwABAq4GVQABAtn99gABAisFCgABAs4HpAABAgIHxQABASEHmQABAQoGUgABASIHdgABAQsGLwABASIHjgABAQsGRwABASL+WgABASEHhQABA1cHmwABAQ0GRAABAo/+SAABAiT+NAABARQHpwABAQUIAwABAmL+BgABAQX+BgABAmIACgABAtP+AgABAjn+BgABAtYHmgABAj8GYwABAsIHcAABAj8GOAABAsIHiAABAj8GUAABAsIHjwABAj8GWAABAlsHqgABAZoGdAABAmT+BgABAP3+BwABAlsHmgABAZoGYwABAn0HrAABAh4GdAABAn0HngABAh4GZgABAoD+PAABAh7+MgABAoD9+wABAh798gABAn0HmwABAh4GYwABAm7+AAABAbn9/AABAm7+QAABAbn+PAABAm0HmQABAbkAAAABAp0HkgABAjoGWwABAp4HbwABAjoGOAABAp4HhwABAjoGUAABAp4H3AABAjoGpQABAp4HjgABAjoGWAABA5EHnQABAvQGZgABAnQHnAABAgMGZgABAm8HqgABAgcGdAABAm8HfgABAgYGRwABAm8HmgABAgcGYwABAg4ACgABA6kHtgABA10GdQABAssH9AABAhoGcQABAcQFKAABAk4GeQABAk8GUwABAk8GwwABAk3+PAABAiIGkgABAiIGhAABAP8GkgABAP8GhAABAm8GeQABAl0GhAABAlwGeQABAl0GUwABAkIGkgABAkIGhAABAkIGUwABAk8GVgABAk8GbgABAk8GkgABAk8GhAABAk8GZQABAk8GgQABAcQGgQABAcQACgABAiIGVgABAiIGbgABAiIGZQABAiIGgQABAlcGhAABAlcGbgABAlYGZQABAmX//wABAlcFKAABAmX9+wABAmUGhAABAP4GeQABAP8GVgABAP8GbgABAQD+VAABAP4GZQABAuIGhAABAgb+AwABAPUGkgABAgX+BAABAPUFKAABAgUACAABAnAGkgABAm79/QABAnAGgQABAl0GVgABAl0GbgABAl0GdgABAg7+BAABAgIGgQABAg4ACAABAi8GkgABAi8GhAABAjL+PAABAi8GgQABAhz+AwABAhz+QwABAkIGeQABAkIGVgABAkIGbgABAkIGwwABAkIGdgABAkIFKAABAkEAAAABAwEGhAABAhkGhAABAhwGkgABAhwGZQABAhwGgQABAqkACgABAm4ACgABAnQHawABAm4FCgABAg3/9gABAkIFCgABAPYACgABASYE9QABAlIFCgABAlIACgABASYGIAABAisGKAABAisE/QABA0wE+wABA0v/9gABAnQHcwABAmsHsQABAoD//wABASIHcwABA1cGPwABAgD/9gABApMHjgABAl0ACgABAtMHjgABAtAACgABAksGQwABAogFAAABAioGNQABAawGZgABAh7/9gABAQsGLAABAN8GQAABAjMGZgABAgMGUAABA5EHqgABAvQGdAABA5EHbAABA40ACgABAvQGNQABAvcACgABAnQHqgABAgMGdAABAQ0GQgABAL7+NQABA3sHqgABA34ACgABA4wGdAABA4QACgABAnQHsQABAtMHsQABAioGdAABAksGZgABAt8E9QABAn0HXgABAhkGMQABAmYGVQABAg4FCQABAqwGVQABAqv/+gABAhYFCgABAiH/+gABA9gHjgABA0gGQwABAqoHbAABAjUGNQABA6kGTAABA10FCwABAnQHjgABAioGUQABAogHRAABAqgAAAABAigFCwABAigGNgABAj4AAAABA9gHcwABA0gGKAABAmYHgAABAmr/9gABAg4GNAABAg7/9wABAtMHdgABAksGKwABAtMHcwABAksGKAABAsIHbQABAj8GNQABAtIGRAABAjMFCwABAtIHcAABAjMGNgABAp8HgQABAhYGNQABApMHdgABAgMGOAABApMHcwABAgMGNQABApMHlQABAgMGWAABAtQHcwABAikGKAABA4AHcwABAzoGKAABAqoIAQABAjUGygABAqoHnQABAjUGZgABAqoHhwABArT+mAABAjUGUAABAef+nQABAnQICAABAioGygABAnQHmQABAikGXAABAnQHpAABAnX+ngABAioGZgABASIICAABAQsGwQABASIGSAABASL+mgABAQYGQAABAsIIAgABAj8GygABAsIHngABAsT+lAABAj8GZgABAkT+kAABAsEHqQABAkMGdAABAsEIAAABAkMGygABAsEHkQABAq8AAAABAkMGWwABAkP/9gABAsEGPwABAq/+lAABAkMFCgABAkP+igABAp3+lAABAjoFCgABAej+lAABAp4IAQABAjoGygABAsIHtgABAkIGXwABAsIIDAABAkIGtQABAsEHnQABAsD/9wABAkEGRgABAsIGTAABAsD+iwABAkIE9QABAjj+lAABAnD+pgABAgMFCgABAvf+DwABAnQIAAABAgMGygABAnMHkQABAgMGWwABAvj/egABAlkAAAABAm4ABAABAf0E9QABAtQGSAABAikE/QABA7j//AABAskAAwABAkkACgABAmsGSAABAawE/QABAnQGQAABAnEAEgABAocGTAABAokADQABAgUFAAABAgYACgABAjoFCQABAnQGTAABAhMACgABAq4HvwABAtn/+gABAisGdAABAir+QQABAtYHqgABAtMABgABAj8GdAABAjkACgABAqoHggABArQAAwABAjUGTAABAegACAABAnQHiQABAnYACgABAioGTAABAjkAAAABASIHiQABASIABgABAQsGQwABAQUACgABAsIHgwABAj8GTAABAkX//AABAlsHggABAmQACgABAZoGTAABAP0ACwABAp4HggABAjoGTAABAjgAAAABAj4GTAABAloGTAABAl3+ngABAosGRwABAnj+igABAjT+ngABAln+lAABAjIGSAABAjX+BgABAggGSAABAln9/AABAs4GSAABAtD+ngABAgIGaQABAkn+ngABAlkHpgABAo8ATAABAl8HsQABAiQAOAABAlkGPQABAo7+4QABAl8GRwABAiT+zQABARQGPQABAmH+ngABAQUGmgABA3sGQQABA37+ngABA4wFCgABA4T+ngABAtYGQQABAtL+mwABAj8FCgABAjn+ngABAloHtgABAhIACgABAogGagABAPP+aQABAlsGQQABAmP+ngABAZoFCgABAP3+nwABAn0GQgABAoD+lAABAh4FCgABAh7+igABAm0GQAABAm7+mAABAUQFxwABAbn+lAABAp4GQQABAp0AAAABApYHnQABApYACgABAgEGUQABAgAACgABApYGTAABApb+ngABAgIFAAABAgD+ngABA5EGQQABA43+ngABAvQFCgABAvb+ngABAm8GQQABAm3+ngABAgcFCgABAg7+ngABAsIGQgABAsUAAAABAnMACgABAhwACgABAgIFKAABAnAFKAABAm4AAQABAhkGUwABAiIGUwABAgsGkgABAjIAAAABAP8FKAABAP8GUwABAQAAAQABAuIFKAABAdD/9gABAgIGkgABAgYABwABAjcGbgABAlYAAAABAg8ACgABAgsFKAABAiQACAABAm8GbgABAv8FKAABAv8ACgABAl0FKAABAisFKAABAeMACgABAhwFKAABAhwABwABAiUFKAABAiUACAABAg0FKAABAgn/9gABAmUFKAABAmUACgABAk3//wABAhkFKAABA8D/9gABAm8GVgABAjcGVgABA2gGdAABA2gAAAABAl0GkgABAmoAAAABAi8FKAABAjL9/AABAwEGkgABAwEGUwABAwEACgABAhkGkgABAh8AFgABAqoGQQABArT+WAABAjUFCgABAej+XAABAnQGSAABAnb+XgABAioFCgABAjn+VAABAk8FKAABAlb+VAABAiIFKAABAiT+XAABAQsFAQABAQT+ngABAAAACgBkACQABERGTFQA/mN5cmwA/mdyZWsA/mxhdG4BAgAfARYBHgEmAS4BNgE+AT4BRgFOAVYBXgFmAW4BdgF+AYYBjgGWAZ4BpgGuAbYBvgHGAc4B1gHeAdYB3gHmAe4AG2Myc2MBtmNjbXACQGRsaWcBvGRub20BwmZyYWMCUGxpZ2EByGxpZ2ECWmxpZ2ECSGxudW0BzmxvY2wB1GxvY2wB2mxvY2wB4GxvY2wB5m51bXIB7G9udW0B8nBudW0B+HNtY3AB/nNzMDECBHNzMDICCnNzMDMCEHNzMDQCFnNzMDUCHHNzMDYCInNzMDcCKHN1YnMCLnN1cHMCNHRudW0COgHCAAADxgAHQVpFIAP2Q1JUIAP2RlJBIAQmTU9MIARYTkFWIASKUk9NIAS8VFJLIAP2AAEAAAABBw4AAQAAAAEFKgAGAAAAAQJKAAEAAAABAgwABAAAAAEEoAABAAAAAQGWAAEAAAABAgYAAQAAAAEBjAAEAAAAAQGoAAQAAAABAagABAAAAAEBvAABAAAAAQFyAAEAAAABAXAAAQAAAAEBbgABAAAAAQGIAAEAAAABAYoAAQAAAAECQgAB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BmgGbgZ0AAMGcgZ4Bn4AAwZ8BoIGiAADBoYGjAaSAAQGkAaWBpwGogAEBp4GpAaqBrAABQasBrIGuAa+BsQABQa+BsQGygbQBtYABQbQBtYG3AbiBugABQbiBugG7gb0BvoABQb0BvoHAAcGBwwABQcGBwwHEgcYBx4ABQcYBx4HJAcqBzAABQcqBzAHNgc8B0IABQc8B0IHSAdOB1QABgdOB1QHWgdgB2YHbAAGB2QHagdwB3YHfAeCAAYHegeAB4YHjAeSB5gABgeQB5YHnAeiB6gHrgAGB6YHrAeyB7gHvgfEAAYHvAfCB8gHzgfUB9oABgfSB9gH3gfkB+oH8AAHCDAH6AfuB/QH+ggACAYABwgoB/wIAggICA4IFAgaAAEA6wAKAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgCFAIYAhwCJAIoAiwCNAJAAkgCUALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AQABAQECAQMBBAEFAQYBBwEwATQBNgE4AToBPAFCAUQBRgFKAU0BWgKYApoCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAscCyALJAsoCywLMAs0CzgLPAtAC0QLTAtUC1wLZAtsC3QLfAuEC4wLlAucC6QLrAu0C7wLxAvMC9QL3AvkC+wL9AwADAgMEAwYDCAMKAwwDDgMQAxIDFQMXAxkDGwMdAx8DIQMjAyUDJwMpAysDLQMvAzEDMwM1AzcDOQM7Az0DPwNCA0QDRgNIA0oDugO7A7wDvQO/A8ADwQPCA8MDxAPFA8YDxwPIA98D4APhA+ID4wPkA+UD5gPnA+gD6QPqA+sD7APtA+4D8APyA/QD9gQLBA0EDwQdBCQEKgQwBJoEmwSfBKMFJAUmAAEA+wAIAAoAFAAVABYAFwAYABkAGgAbABwAHQAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4AZQBnAIEAgwCEAIwAjwCRAJMAsQCyALMAtAC1ALYAtwC4ALkAugDSANMA1ADVANYA1wDYANkA2gDb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", encoding: 'base64' },
+ 'Roboto-Italic.ttf': { data: "AAEAAAARAQAABAAQR0RFRqcXo6wAAdlAAAACWEdQT1Oieg6RAAHbmAAAeKRHU1VCzzL7wgACVDwAABX6T1MvMpeDsUwAAAGYAAAAYGNtYXBnX+zQAAAWoAAABopjdnQgO/gmfQAAL4QAAAD+ZnBnbagFhDIAAB0sAAAPhmdhc3AACAAZAAHZNAAAAAxnbHlm6FQv1gAAOtwAAZp6aGVhZAuUdJ8AAAEcAAAANmhoZWEMnBKlAAABVAAAACRobXR4Wk/dxQAAAfgAABSobG9jYbf2UKkAADCEAAAKVm1heHAI2hDGAAABeAAAACBuYW1lVq+GTAAB1VgAAAO8cG9zdP9hAGQAAdkUAAAAIHByZXB5WM7TAAAstAAAAs4AAQAAAAMC0WBmjG9fDzz1ABsIAAAAAADE8BEuAAAAAOP3FVr6N/3VCUMIcwACAAkAAgAAAAAAAAABAAAHbP4MAAAJA/o3/mwJQwgAAbMAAAAAAAAAAAAAAAAFKgABAAAFKgCpABUAdgAHAAIAEAAvAJoAAALmD3UAAwABAAQEiQGQAAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAEdPT0cAAQAA//0GAP4AAGYHmgIAIAABnwAAAAAEOgWwAAAAIAADA5YAZAAAAAAAAAAAAfcAAAH3AAACAABEAnwAyQTHAFIEXABJBa8AugTUADkBWwCsAqgAbQK0/5ADWABrBGcATAGH/48CJQAaAgwANAM0/5AEXABqBFwA+gRcABgEXAA1BFwABQRcAHIEXABtBFwAnQRcAEAEXACUAesAKQGu/5sD8gBCBEIAcAQPADsDqwClBvgAQQUQ/68E1gA7BQ0AcAUYADsEaQA7BEoAOwVJAHQFiQA7AhwASQRIAAcE3gA7BC4AOwbGADsFiQA7BVcAcwTlADsFVwBrBMgAOwScACkEoQCpBQgAYwTxAKUG4gDDBN3/1ASpAKgEpv/sAg8AAAMwAMACD/97Az4ATwOA/4ECZgDQBDkAMQRcAB8EEABGBGAARwQdAEUCswB1BFwAAwRGACAB4wAvAdv/EwPvACAB4wAvBs4AHgRJACAEbQBGBFz/1wRpAEYCoQAgBAEALgKKAEMERwBbA8IAbgXVAIAD2v/FA6z/qgPa/+4CoAA3AeUAIgKg/40FRwBpAeX/8QQ/AFAEg//zBYkAEgQUAEMB3f/4BML/2gM/ANoGGQBeA3kAwwOuAFYETACBBhoAXQOPAPgC5gDoBCYAJgLiAF0C4gBvAm8A1QRm/+YDzAB4AgcApQHt/8gC4gDgA4gAvwOtABEFuQC6Bg8AtQYTAJ4Drf/RB0H/gwQkACgFVwAgBJYAOQSdAB8GjgATBI0AXARvAEQEZgA6BHn/4ASjAEYFcAA2AewALwRSAC4ELgAjAhkAJAVgADUEZgAlB2YAVQcMAEcB7QA0BV0AUgKl/0cFVQBmBHAAQwVlAGMEzQBbAfX/CQQYAD8DpwEYA3MBKAOZAPgDUQEHAeMBDgKZAQECGv+uA6kA3gLlAMMCSP/pAAD9agAA/eoAAP0LAAD99AAA/NsAAPy6Af4BIwPtAPQCEQClBFEARAV5/7IFSABnBRf/xARvAAwFiQBEBG//2wWPAFYFXgCFBSkACgRjAEgEmf/xA+QAhQRmAEUEMAApBAUAigRmACUEawB1AoQAhARN/7gDzgBABKAAYARm/90ELQBKBGUASAQMAIcEPABoBXgAQAVvAE4GZABnBH4AUgQiAGcGGABoBdIAogU8AHMIUP/NCGMARAZRALQFiABCBO4ANgXW/4wHC/+rBJwAJQWJAEQFf//LBOEAlAX+AFsFrQBBBVAAywdNAEIHhABCBeMAigbAAEQE3gA2BTwAdgb6AEkE8f/pBEsARwRwADEDQgAuBK//jQXy/6cD8QAgBHsAMAQyADAEfP/IBcEAMQR6ADAEewAwA7sAYAWhAEkEmgAwBDkAeQZHADAGbAAlBNEAVgYQADEENwAxBC0AMgZWADEEQv+/BEYAIAQtAE4Glf/DBq8AMARwACAEewAwBtMAbgX9AE8ENgAvBvUASgXLAC0Erv+6BCb/ogbWAFsF3gBPBp4AJgW1ACoIwABJB5UALwQE/80Dvf/JBUgAZwRpAEME5ACtA+UAhQVIAGcEZgBDBssAdAX1AFIG0wBuBf0ATwUKAGkEJwBMBNgAQAAA/OcAAP0KAAD+FgAA/jsAAPo3AAD6TgXlAEQE0QAwBDYALwT0ADsEZ//XBEIANQN2ACUEwABEA+cAJQdx/6sGOv+nBXkARASeADAE4wA2BFwALgZaALwFWgB2BdsAOwS+ADAHkwA7BYgAJQf8AEIGvwAlBcEAawSvAFwE+//UBBT/xQb2AKwFNABXBZoAywR9AHkFRgDKBEkAlAVGABwGAACIBJoABATjADYEOQAuBdr/ywTT/8gFhwBEBGYAJQXtADsE0AAwByEAOwYYADEFXQBSBIQAPASE//0Env/5A5n/6QUQ/9QEKf/FBNEALgZiADEGsABIBiYArQUEAGgEKQCwA+kAoAeG/+AGRP/aB74APAZvACME0QBlA/4ATQWCAJsE+gB9BTwAaAXe/8sE1//IBQMAIgMJAPMD/wAAB/QAAAP/AAAH9AAAAq4AAAIEAAABXAAABGYAAAIpAAABnwAAAQIAAADVAAAAAAAAAi0AGgItABoFIgCmBhkAmAOK/14BjgCwAY4AiQGM/5cBjgDSAsgAuALQAJUCrf+UBEgAdwRt//YCngChA7EAOAU7ADgBdABSB28AlgJVAF0CVQAEA4f/8ALiAI8C4gBkAuIAigLiAJAC4gCiAuIAewLiAKoDHwCIAuEAiQLhAHMB4gCPAeIAPgNHAH4C4v/cAuIALQLi/6sC4v+8AuL/sgLi/9gC4v/eAuL/8ALi/8kC4v/4Ayn/3ALr/90C6//HAeL/6AHi/50Eg//zBiUACgZfADkIPwA7Bb4ACQX8AB8EXABRBa0AQwQDAEoEUgALBR//8gUm/+UFuwDMA7EASwf7ADUE2wDrBPEAfwYBALYGrACSBqUAkAZDAL4EbQBNBWQAJASL/60EcACrBKAAQQf7AEsB/f8VBF8AMwRCAHAD/P/TBBkAGAPpAEICRAB3AnwAcQH1/+QE1wB1BE0AWQRoAHUGoAB1BqAAdQTIAHUGaAAoAAAAAAf1/6sINQBcAtj/6gLYAGwC2AAcA/EAaQPxACcD8QBwA/AASwPxAEoD8f/3A/EAFwPx//0D8QC9A/EARgQD/90ECwB1BDP/twXmAJQERgB5BFsAQgQHAG4EAAASBCkAHQSYAEYEOwAeBJgATAS9AB4F1AAeA5kAHgQ0AB4Dsv/2AdoAKwS+AB4EiABMA68AHgQAABIEFAAGA4UAGQOTAB4ERv+wBJgATARG/7ADbv/TBKoAHgPS/9YFPgBSBPAAfQTNAA4FSQBtBFoASAcK/8MHGAAeBUoAbgSpAB4EOQAgBP3/iQXd/68EHwASBMYAIAQtAB8EnP/EBAAAWgUBAB4ESABWBiAAHgZ5AB4E9gBRBc0AIAQuACAEWgAgBkUAHgRk/+AD8//6Bhj/rwRXAB8E4wAfBQ8AagWXAFAERwB1BIT/twYxAG0ESABVBEgAHgWYAC4EpgBABB8AEgScAEYEFAAAA8YAHwfkAB4Eh//eAtj/+wLY//EC2AAXAtgAHQLYAC8C2AAIAtgANwN7AJMCoAELA8gAHgQa/5kEnwBIBSMARAT9AEQD9QAmBRUARAPwACYEXQAeBFoASAQwAB4EY/+mAe8A/AOJARIAAP0qA9IA0wPWACID8ADOA9cAzQOTAB4DhAESA4MBEwLiAI8C4gBkAuIAigLiAJAC4gCiAuIAewLiAKoFWACABYMAgQVoAEQFswCDBbYAgwO4ALwEXwA5BDf/gQSq/9MESf/VBA4AKwOJARQBhv++BnEATASWAD4B7f8PBGb/rARm/+MEZv+4BGYALARmAFYEZgAkBGYAZgRmABsEZgBABGYBDQIA/wkB//8JAfYALwH2/3gB9gAvBDAAHgTaAGQEAQBiBFwAHwQTAEQEcABDBGkAIwR8AEIEa//XBHkAQgQdAEYEXAA1BE7/vwNoAKkEsQAsA5n/6QYK/5oD2gAeBJj/9AS9AB4EvQAeAfcAAAIlABoFNgAvBTYALwRkAD4EoQCpAor/9AUQ/68FEP+vBRD/rwUQ/68FEP+vBRD/rwUQ/68FDQBwBGkAOwRpADsEaQA7BGkAOwIcAEkCHABJAhwASQIcAEkFiQA7BVcAcwVXAHMFVwBzBVcAcwVXAHMFCABjBQgAYwUIAGMFCABjBKkAqAQ5ADEEOQAxBDkAMQQ5ADEEOQAxBDkAMQQ5ADEEEABGBB0ARQQdAEUEHQBFBB0ARQHsAC8B7AAvAewALwHsAC8ESQAgBG0ARgRtAEYEbQBGBG0ARgRtAEYERwBbBEcAWwRHAFsERwBbA6z/qgOs/6oFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEFDQBwBBAARgUNAHAEEABGBQ0AcAQQAEYFDQBwBBAARgUYADsE9gBHBGkAOwQdAEUEaQA7BB0ARQRpADsEHQBFBGkAOwQdAEUEaQA7BB0ARQVJAHQEXAADBUkAdARcAAMFSQB0BFwAAwVJAHQEXAADBYkAOwRGACACHABJAewAEQIcAEkB7AAuAhwASQHsAC8CHP+LAeP/bQIcAEkGZABJA74ALwRIAAcB9f8JBN4AOwPvACAELgA7AeMALwQuADsB4/+iBC4AOwJ5AC8ELgA7Ar8ALwWJADsESQAgBYkAOwRJACAFiQA7BEkAIARJACAFVwBzBG0ARgVXAHMEbQBGBVcAcwRtAEYEyAA7AqEAIATIADsCof+fBMgAOwKhACAEnAApBAEALgScACkEAQAuBJwAKQQBAC4EnAApBAEALgScACkEAQAuBKEAqQKKAEMEoQCpAooAQwShAKkCsgBDBQgAYwRHAFsFCABjBEcAWwUIAGMERwBbBQgAYwRHAFsFCABjBEcAWwUIAGMERwBbBuIAwwXVAIAEqQCoA6z/qgSpAKgEpv/sA9r/7gSm/+wD2v/uBKb/7APa/+4HQf+DBo4AEwVXACAEZgA6BF3/rwRd/68EBwBuBGP/pgRj/6YEY/+mBGP/pgRj/6YEY/+mBGP/pgRaAEgDyAAeA8gAHgPIAB4DyAAeAdoAKwHaACsB2gArAdoAKwS9AB4EmABMBJgATASYAEwEmABMBJgATARbAEIEWwBCBFsAQgRbAEIECwB1BGP/pgRj/6YEY/+mBFoASARaAEgEWgBIBFoASARdAB4DyAAeA8gAHgPIAB4DyAAeA8gAHgSIAEwEiABMBIgATASIAEwEvgAeAdoADgHaACsB2gArAeT/ggHaACsDsv/2BDQAHgOZAB4DmQAeA5kAHgOZAB4EvQAeBL0AHgS9AB4EmABMBJgATASYAEwEKQAdBCkAHQQpAB0EAAASBAAAEgQAABIEAAASBAcAbgQHAG4EBwBuBFsAQgRbAEIEWwBCBFsAQgRbAEIEWwBCBeYAlAQLAHUECwB1BAP/3QQD/90EA//dBRD/rwTNAAMF7QARAoAAFwVrAGsFDf/tBT0AHgKEACAFEP+vBNYAOwRpADsEpv/sBYkAOwIcAEkE3gA7BsYAOwWJADsFVwBzBOUAOwShAKkEqQCoBN3/1AIcAEkEqQCoBGMASAQwACkEZgAlAoQAhAQ8AGgEUgAuBG0ARgRm/+YDwgBuBE7/vwKEAGUEPABoBG0ARgQ8AGgGZABnBGkAOwRRAEQEnAApAhwASQIcAEkESAAHBP0ARATeADsE4QCUBRD/rwTWADsEUQBEBGkAOwWJAEQGxgA7BYkAOwVXAHMFiQBEBOUAOwUNAHAEoQCpBN3/1AQ5ADEEHQBFBHsAMARtAEYEXP/XBBAARgOs/6oD2v/FBB0ARQNCAC4EAQAuAeMALwHsAC8B2/8TBDIAMAOs/6oG4gDDBdUAgAbiAMMF1QCABuIAwwXVAIAEqQCoA6z/qgFbAKwCfADJBAAARAH1/wkBjgCJBsYAOwbOAB4FEP+vBDkAMQRpADsFiQBEBB0ARQR7ADAFXgCFBW8ATgTkAK0D5QCFCBkARgkDAHMEnAAlA/EAIAUNAHAEEABGBKkAqAPkAIUCHABJBwv/qwXy/6cCHABJBRD/rwQ5ADEFEP+vBDkAMQdB/4MGjgATBGkAOwQdAEUFXQBSBBgAPwQYAD8HC/+rBfL/pwScACUD8QAgBYkARAR7ADAFiQBEBHsAMAVXAHMEbQBGBUgAZwRpAEMFSABnBGkAQwU8AHYELQAyBOEAlAOs/6oE4QCUA6z/qgThAJQDrP+qBVAAywQ5AHkGwABEBhAAMQRgAEcFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEEaQA7BB0ARQRpADsEHQBFBGkAOwQdAEUEaQA7BB0ARQRpADsEHQBFBGkAOwQdAEUEaQA7BB0ARQRpADsEHQBFAhwASQHsAC8CHAANAeP/8AVXAHMEbQBGBVcAcwRtAEYFVwBzBG0ARgVXAHMEbQBGBVcAcwRtAEYFVwBzBG0ARgVXAHMEbQBGBVUAZgRwAEMFVQBmBHAAQwVVAGYEcABDBVUAZgRwAEMFVQBmBHAAQwUIAGMERwBbBQgAYwRHAFsFZQBjBM0AWwVlAGMEzQBbBWUAYwTNAFsFZQBjBM0AWwVlAGMEzQBbBKkAqAOs/6oEqQCoA6z/qgSpAKgDrP+qBH4AAAShAKkDuwBgBVAAywQ5AHkEUQBEA0IALgYAAIgEmgAEBEYAIATeACwE3gAsBFEAEQNC/+cFEQBYBAkAOgSpAKgD5ABeBN3/1APa/8UEMAApBEr/1wYZAJgEXAAYBFwANQRcAAUEXAByBHAAgQSEAFQEcACUBIQAfgVJAHQEXAADBYkAOwRJACAFEP+vBDkAMQRpADsEHQBFAhz/4AHs/40FVwBzBG0ARgTIADsCoQAgBQgAYwRHAFsEhv+xBNYAOwRcAB8FGAA7BGAARwUYADsEYABH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ADIANQBSAG8AYgBvAHQAbwAtAEkAdABhAGwAaQBjAFIAbwBiAG8AdABvACAAaQBzACAAYQAgAHQAcgBhAGQAZQBtAGEAcgBrACAAbwBmACAARwBvAG8AZwBsAGUALgBHAG8AbwBnAGwAZQBDAGgAcgBpAHMAdABpAGEAbgAgAFIAbwBiAGUAcgB0AHMAbwBuAEcAbwBvAGcAbABlAC4AYwBvAG0AVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAgAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAaQBzACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoAIABoAHQAdABwAHMAOgAvAC8AbwBwAGUAbgBmAG8AbgB0AGwAaQBjAGUAbgBzAGUALgBvAHIAZwBoAHQAdABwAHMAOgAvAC8AbwBwAGUAbgBmAG8AbgB0AGwAaQBjAGUAbgBzAGUALgBvAHIAZwADAAD/9AAA/2oAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAgAIAAj//wAPAAEAAgAOAAAAAAAAAigAAgBZACUAPgABAEQAXgABAGoAagABAHAAcAABAHUAdQABAIEAgQABAIMAgwABAIYAhgABAIkAiQABAIsAlgABAJgAnwABAKEAowABAKUApgABAKgArQADALEAsQABALoAuwABAL8AvwABAMEAwQABAMMAxAABAMcAxwABAMsAywABAM0AzgABANAA0QABANMA0wABANoA3gABAOEA4QABAOUA5QABAOcA6QABAOsA+wABAP0A/QABAP8BAQABAQMBAwABAQgBCQABARYBGgABARwBHAABASABIgABASQBJwADASoBKwABATMBNAABATYBNgABATsBPAABAUEBRAABAUcBSAABAUsBTQABAVEBUQABAVQBWAABAV0BXgABAWIBYgABAWQBZAABAWgBaAABAWoBbAABAW4BbgABAXABcAABAdYB3AACAe0CAQABAgUCBQABAg4CDgABAhACEAABAhcCGQABAhsCHAABAh4CHgABAiICIgABAiQCJgABAiwCLAABAjECMwABAjUCNQABAkMCQwABAkYCRgABAkgCSAABAksCTgABAnoCfgABAo4CkwABApYC/gABAwEDwAABA8IDwgABA8QDzgABA9AD2QABA9sD9gABA/oD+gABA/wEAwABBAUEBwABBAoEDgABBBAEmwABBJ4EnwABBKEEogABBKQEpwABBLEFDQABBQ8FGQABBRwFKQABAAEAAwAAABAAAAAWAAAAIAABAAEArQACAAEAqACsAAAAAgACAKgArAAAASQBJwAFAAEAAAAcADYACgAIAFgAaAByAHwAhgBgAJAAmgAEREZMVACSY3lybACWZ3JlawCabGF0bgCeAAdjcHNwAIhrZXJuAJprZXJuAI5rZXJuAKJrZXJuAKptYXJrAJRta21rALIAAQAAAAEAjgAEAAAAAQCQAAIACAACAYgIXgACAAgAAgEiBIQAAgAIAAICiBBSAAIACAACAI4A1gAGABAAAQBsAAAABgAQAAEAbgACAIAAAACKAAAAlAAAAJ4AAAAAAAEAAAAAAAEABAAAAAEABQAAAAIABAADAAAAAgAEAAEAAAACAAQAAgAAAAIABgAHAAEuVAAFACQASAABGWwq4AACGbxO8gABGTIZMgABGTgZLgABGW4ZMgABGX4ZSAABGVgABAAAAAMZMBnCGTYAAP//AAQAAAACAAUABgAA//8ABAAAAAMABQAGAAD//wAEAAAABAAFAAYAAP//AAQAAAABAAUABgACGaQABAAAGeocDgAEAAUAAP+VAAAAAP+IAAD/VgAAAAAAAAAAAAAAAAAAAAAAAP+IAAAAAAAAAAEcjAAEAAAAKRoSGiAZ4BtuGm4aPBqaGkoahBrsGxIZlBpcGZodOBmsHZocOhtAGaAZph4AGeoasBqaGjwc4hqaGfQZ/ho8Gi4boBziGsoc4hmsGggaXBoIGjwAATE2AAQAAACFHtgenh4iHigeZh+cIJg5RDNWN3QpEh8UNGwvRCBmJaYfFB8UIbIfFB8UHxQsDCSqHxQgPCUoI7oe8ihoIvoeUifKHi4gEiQwMkQewiF0JigiTh/CHsIipB/oIfwgzh/CITofWB6CHkggEh7CJrIeUiBmHi4hBCEEIQQfFCBmHi4fFB8U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AA4CTgAOArX/3QMq/9UDLP/VAy7/1QM8/+wDPv/dA0D/3QNOAA4DTwAOA1AADgNRAA4DUgAOA1MADgNUAA4DaQAOA2oADgNrAA4D7//sA/H/7APz/+wD9f/dBIz/3QSO/90EkP/dBNv/1QTe/+QE4P/kBOL/7ABbAAb/ygAL/8oA0v/SANb/0gDa//QA3v/tAOH/4QDm/9QA7P/RAO7/7wDw/9EA8f/RAPP/0QD0/9EA9f/RAPb/yQD4/9EA+v/RAPv/0QD+/9EBAP/RAQX/0QEJ/+UBGf/UARr/5gEg/+MBK//RATP/9AE0/+8BNv/RATn/0gE6/8QBPP/RAT7/0QFD//QBRP/vAUX/0gFH/+EBSf/hAVP/0QFV/9EBV//RAVz/0QFd//QBXv/vAWL/1AFj//UBZP/nAWz/0gFt/8kBhf/KAYb/ygGI/8oBif/KAYr/ygPR/+0D3f/SA97/9APh/9ED4//RA+X/5gPm/+8D6P/RA+3/0QPu/+YD9//KA/j/ygP7/8oEA//RBAb/1AQH/+YEDv/TBA//5gQR//QEEv/vBB//9AQg/+8EJP/RBCb/0QQv/+0EMP/mBDH/7QQy/+YEM//tBDT/5gQ1/+EEOP/RBJP/0gSV/+EEmP/RBKL/0wApAEf/7ABI/+wASf/sAEv/7ABV/+wAlP/sAJn/7AK9/+wCvv/sAr//7ALA/+wCwf/sAtn/7ALb/+wC3f/sAt//7ALh/+wC4//sAuX/7ALn/+wC6f/sAuv/7ALt/+wC7//sAvH/7ALz/+wEU//sBFX/7ARX/+wEWf/sBFv/7ARd/+wEX//sBGH/7AR1/+wEd//sBHn/7AR9/+wEuP/sBMX/7ATH/+wANgAGABAACwAQAA0AFABBABIAR//oAEj/6ABJ/+gAS//oAFX/6ABhABMAlP/oAJn/6AGFABABhgAQAYgAEAGJABABigAQAr3/6AK+/+gCv//oAsD/6ALB/+gC2f/oAtv/6ALd/+gC3//oAuH/6ALj/+gC5f/oAuf/6ALp/+gC6//oAu3/6ALv/+gC8f/oAvP/6AP3ABAD+AAQA/sAEART/+gEVf/oBFf/6ARZ/+gEW//oBF3/6ARf/+gEYf/oBHX/6AR3/+gEef/oBH3/6AS4/+gExf/oBMf/6ABKAEf/xQBI/8UASf/FAEv/xQBMACAATwAgAFAAIABT/4AAVf/FAFf/kABbAAsAlP/FAJn/xQHc/5ACvf/FAr7/xQK//8UCwP/FAsH/xQLH/4ACyP+AAsn/gALK/4ACy/+AAtn/xQLb/8UC3f/FAt//xQLh/8UC4//FAuX/xQLn/8UC6f/FAuv/xQLt/8UC7//FAvH/xQLz/8UDFf+AAxf/gAMZ/4ADIf+QAyP/kAMl/5ADJ/+QAyn/kART/8UEVf/FBFf/xQRZ/8UEW//FBF3/xQRf/8UEYf/FBGf/gARp/4AEa/+ABG3/gARv/4AEcf+ABHP/gAR1/8UEd//FBHn/xQR7/4AEff/FBLj/xQS8/4AExf/FBMf/xQTJACAEywAgBM0AIATa/5AAAQD0AAQABgALAAwAJQAnACgAKQAqAC8AMAAzADQANQA2ADgAOgA7ADwAPQA+AD8ASQBKAEwATwBRAFIAUwBWAFgAWgBbAF0AXwCWAJ0AsgGFAYYBiAGJAYoB8wH1AfYB+AH7AgYCSwJOAmACYgJjApYClwKZApsCnAKdAp4CnwKgAqECogKjAqQCpQKmAqwCrQKuAq8CsAK1Ar4CvwLAAsECxgLHAsgCyQLKAssC0ALRAtIC1ALWAtgC2gLcAt4C4ALiAuMC5ALlAuYC5wLoAukC6gLrAvUDAwMFAwcDCQMLAw4DEAMSAxMDFAMVAxYDFwMYAxkDGwMdAx8DKgMsAy4DPAM+Az8DQANBA0MDRQNLA0wDTQNOA08DUANRA1IDUwNUA18DYANhA2IDYwNpA2oDawNwA4IDgwOEA4UDiQOKA4sDlAPvA/ED8wP1A/YD9wP4A/sD/QP+BDoEPAQ+BEAEQgREBEYESARKBEwETgRQBFIEUwRUBFUEVgRXBFgEWQRaBFsEXARdBF4EXwRgBGEEZgRnBGgEaQRqBGsEbARtBG4EbwRwBHEEcgRzBHsEjASNBI4EjwSQBJEEtAS1BLcEuwS8BL4ExATGBMkEygTMBM4E0QTTBNQE1QTYBNsE3gTfBOAE4QTiBOQAAQA1AAYACwCWALEAsgCzALQAvQDBAMcBhQGGAYgBiQGKAgYCBwIIA6IDowOkA6UDpgOnA6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4A7kDvAPAA8IDxgP3A/gD+wTmBOcE6wTuBPQE+QCnABD/FgAS/xYAJf9WAC7++AA4ABQARf/eAEf/6wBI/+sASf/rAEv/6wBT/+sAVf/rAFb/5gBZ/+oAWv/oAF3/6ACU/+sAmf/rAJv/6gCy/1YBh/8WAYv/FgGP/xYBkP8WAgb/wAJO/8ACm/9WApz/VgKd/1YCnv9WAp//VgKg/1YCof9WArb/3gK3/94CuP/eArn/3gK6/94Cu//eArz/3gK9/+sCvv/rAr//6wLA/+sCwf/rAsf/6wLI/+sCyf/rAsr/6wLL/+sCzP/qAs3/6gLO/+oCz//qAtD/6ALR/+gC0v9WAtP/3gLU/1YC1f/eAtb/VgLX/94C2f/rAtv/6wLd/+sC3//rAuH/6wLj/+sC5f/rAuf/6wLp/+sC6//rAu3/6wLv/+sC8f/rAvP/6wMB/vgDFf/rAxf/6wMZ/+sDKgAUAywAFAMuABQDMf/qAzP/6gM1/+oDN//qAzn/6gM7/+oDP//oA07/wANP/8ADUP/AA1H/wANS/8ADU//AA1T/wANp/8ADav/AA2v/wAP2/+gD/v9WA///3gQ6/1YEO//eBDz/VgQ9/94EPv9WBD//3gRA/1YEQf/eBEL/VgRD/94ERP9WBEX/3gRG/1YER//eBEj/VgRJ/94ESv9WBEv/3gRM/1YETf/eBE7/VgRP/94EUP9WBFH/3gRT/+sEVf/rBFf/6wRZ/+sEW//rBF3/6wRf/+sEYf/rBGf/6wRp/+sEa//rBG3/6wRv/+sEcf/rBHP/6wR1/+sEd//rBHn/6wR7/+sEff/rBH//6gSB/+oEg//qBIX/6gSH/+oEif/qBIv/6gSN/+gEj//oBJH/6AS1/1YEtv/eBLj/6wS8/+sEwP/qBMX/6wTH/+sE2wAUBN//6ATh/+gAAgAoAJYAlgAWALEAsQANALIAsgAXALMAswACALQAtAADAL0AvQAIAMEAwQAHAMcAxwAVAgYCBgASAgcCBwAJAggCCAAFA6IDogADA6MDowAGA6QDpQABA6YDpgACA6cDpwAEA6oDqgADA6sDqwALA6wDrAAGA60DrQARA64DrwABA7ADsAAOA7EDsgABA7MDswACA7QDtAAPA7UDtQAQA7YDtgAEA7cDtwAMA7gDuAABA7kDuQAEA7wDvAAHA8ADwAAKA8IDwgAIA8YDxgAKBOYE5gACBOcE5wAFBOsE6wAJBO4E7gAFBPQE9AATBPkE+QAUAAIAMgAGAAYAAQALAAsAAQAQABAAAgARABEAAwASABIAAgCyALIAEwCzALMABwC0ALQABgC7ALsABAC9AL0ADADBAMEACwDIAMkABADLAMsABQGCAYMAAwGFAYYAAQGHAYcAAgGIAYoAAQGLAYsAAgGPAZAAAgIGAgYAEQIHAgcADQIIAggACQKVApUAAwOiA6IABgOmA6YABwOnA6cACAOqA6oABgOtA60AEAOzA7MABwO2A7YACAO3A7cADwO5A7kACAO6A7oABAO8A7wACwO+A74ABQPAA8AADgPCA8IADAPFA8UABQPGA8YADgPHA8cABQP3A/gAAQP7A/sAAQSoBKgAAwTnBOcACQTrBOsADQTsBOwACgTuBO4ACQT6BPoACgT7BPsAEgT9BP0ACgABAIYABgALAJYAsgDUANUA1wDaANwA3QDeAOAA4QDiAOMA5ADlAOYA7ADuAPcA/AD+AP8BBAEFAQoBDQEYARkBGgEuAS8BMAEzATQBNQE3ATkBOwFDAUQBVAFWAVgBXAFdAV4BhQGGAYgBiQGKAgYCGgIpAioCKwPJA8oDzAPNA84DzwPQA9ED0gPTA9QD1QPXA9gD2QPbA9wD3QPeA98D4APiA+MD5APlA+YD5wPoA+4D9wP4A/sEAAQCBAYEBwQMBA0EDgQPBBAEEQQSBBMEFAQVBBYEFwQaBBsEHQQeBB8EIAQnBCgELAQuBC8EMAQxBDIEMwQ0BJMElwSYBJsEnQSeBKAEogUEBQYFDQURAAIAawAGAAYAAQALAAsAAQCWAJYAHACyALIAHQDUANUACQDaANoAAwDeAN4ACgDkAOQACQDmAOYACQDsAOwACwDuAO4ABAD3APcADAD8APwADQD+AP4ADQD/AP8ADAEEAQUADQEKAQoADQENAQ0ADwEYARgAEAEZARkAFgEaARoAAgEuAS4ADAEvAS8ACAEwATAACwEzATMAAwE0ATQABAE1ATUABQE3ATcABQE5ATkABQFDAUMAAwFEAUQABAFYAVgAEQFcAVwACwFdAV0AAwFeAV4ABAGFAYYAAQGIAYoAAQIGAgYAGAIaAhoABwIpAisABwPJA8kADgPKA8oACAPOA84AHgPPA9AABQPRA9EACgPSA9IADwPTA9MAHwPUA9QACAPVA9UADgPZA9kAEQPbA9sAIAPcA9wAEwPdA90AFAPeA94AAwPfA98AEgPgA+AABgPiA+IAEAPjA+MADAPkA+QAFQPlA+UAAgPmA+YABAPnA+cABgPoA+gACwPuA+4AAgP3A/gAAQP7A/sAAQQABAAADgQCBAIABgQGBAYAFgQHBAcAAgQMBAwAEwQNBA0AFQQOBA4AFwQPBA8AAgQRBBEAAwQSBBIABAQUBBQADwQVBBUAEgQWBBYADwQXBBcAEgQaBBoADgQbBBsABgQdBB4ABgQfBB8AAwQgBCAABAQnBCcAEQQoBCgAEAQsBCwAEAQuBC4ADAQvBC8ACgQwBDAAAgQxBDEACgQyBDIAAgQzBDMACgQ0BDQAAgSTBJMAFASXBJcACASYBJgACwSbBJsAIQSdBJ0ACQSeBJ4ACASgBKAABQSiBKIAFwUEBQQABwUGBQYAGQUNBQ0AGgURBREAGwACAFoABgAGAAAACwALAAEAJQApAAIALAA0AAcAOAA+ABAARQBHABcASQBJABoATABMABsAUQBUABwAVgBWACAAWgBaACEAXABeACIAigCKACUAlgCWACYAsgCyACcBhQGGACgBiAGKACoB8wHzAC0B+AH4AC4B+wH8AC8CBgIGADECSwJLADICTgJOADMCYAJgADQCYgJjADUClgKXADcCmQKZADkCmwLBADoCxgLLAGEC0ALgAGcC4gLrAHgC9AL2AIIC+AL4AIUC+gL6AIYC/AL8AIcC/gL+AIgDAQMBAIkDAwMDAIoDBQMFAIsDBwMHAIwDCQMJAI0DCwMLAI4DDQMZAI8DGwMbAJwDHQMdAJ0DHwMfAJ4DKgMqAJ8DLAMsAKADLgMuAKEDMAMwAKIDMgMyAKMDNAM0AKQDNgM2AKUDOAM4AKYDOgM6AKcDPAM8AKgDPgNGAKkDSwNUALIDXwNjALwDaQNrAMEDcANwAMQDgQOFAMUDiQOLAMoDlAOUAM0D7wPvAM4D8QPxAM8D8wPzANAD9QP4ANED+wP/ANUEOgRiANoEZARkAQMEZgRzAQQEewR7ARIEfgR+ARMEgASAARQEjASRARUEswS3ARsEuQS5ASAEuwS8ASEEvgS+ASMEwgTEASQExgTGAScEyATKASgEzATMASsEzgTOASwE0ATWAS0E2ATYATQE2wTbATUE3QTiATYE5ATlATwAAgCgAAYABgAEAAsACwAEABAAEAAIABEAEQALABIAEgAIALIAsgAbANIA0gAKANMA0wADANQA1AANANYA1gAKANoA2gAGAN0A3QANAN4A3gAOAOEA4QARAOwA7AABAO4A7gAHAPAA8QABAPIA8gASAPMA9QABAPcA9wACAPgA+AABAPkA+QAUAPoA+wABAP4A/gABAQABAAABAQMBAwACAQQBBAASAQUBBQABAQgBCAADAQ0BDQAQARcBFwADARgBGAATARkBGQAXARoBGgAFARsBGwADAR0BHQADAR4BHgACAR8BHwADASEBIQADASIBIgACASsBKwABATMBMwAGATQBNAAHATYBNgABATkBOQAKATwBPAABAT4BPgABAUEBQQADAUIBQgACAUMBQwAGAUQBRAAHAUUBRQAKAUcBRwARAUgBSAAUAVABUAANAVEBUQASAVMBUwABAVUBVQABAVcBVwABAVwBXAABAV0BXQAGAV4BXgAHAWABYQACAWYBZgANAWoBagADAWsBawACAW8BbwANAXABcAASAYIBgwALAYUBhgAEAYcBhwAIAYgBigAEAYsBiwAIAY8BkAAIAgYCBgAZAg8CDwAMAhACEAAJAhMCEwAMAhcCFwAPAigCKAAPAisCKwAMAiwCLAAJAi0CLQAWAi4CLgAPAi8CLwAMAjUCNQAJApUClQALA84DzgAcA9ED0QAOA9ID0gAQA9kD2QADA9wD3AADA90D3QAKA94D3gAGA98D3wAVA+AD4AACA+ED4QABA+ID4gATA+MD4wABA+QD5AACA+UD5QAFA+YD5gAHA+cD5wACA+gD6AABA+kD6QAdA+0D7QABA+4D7gAFA/cD+AAEA/sD+wAEBAIEAgACBAMEAwABBAYEBgAXBAcEBwAFBAgECAACBAkECQADBAwEDAADBA0EDQACBA4EDgAYBA8EDwAFBBEEEQAGBBIEEgAHBBQEFAAQBBUEFQAVBBYEFgAQBBcEFwAVBBsEGwACBB0EHgACBB8EHwAGBCAEIAAHBCQEJAABBCYEJgABBCcEJwADBCgEKAATBCkEKQADBCoEKgACBCsEKwADBCwELAATBC8ELwAOBDAEMAAFBDEEMQAOBDIEMgAFBDMEMwAOBDQENAAFBDUENQARBDYENgAUBDgEOAABBDkEOQACBJMEkwAKBJUElQARBJYElgAUBJgEmAABBKIEogAYBKgEqAALBQYFBgAaBQ0FDQAJBRAFEAAJBREFEQAMBRIFEgAPBRUFFQAJBRYFFgAWA1IoZCUWJZohICHyIfglsiEgKHwlLih8JNodACTmJcohLCNmJUYhDiEUJfol6CYSHX4mJCGqJjwk/icgJyYlmiZaGfQZcCZsJXAmhCECJpwkeia0Jrom2CbGJvAheiS8JMIksCS2JwghIChwJSIloBl2If4iBCW+JHQoiCU6GXwZgh0MJPIl1iSeI3IlUiFWIZ4mBiX0Jh4lUiYwIbYmSCUKI4QlZCE4JmYZiBmOJnglfCaQIUomqB4+I+oljibkJtIm/CGGJMgkziRKJG4nFB68IiIAABmUAAAiKAAAGZoAACYGJHQZoBmmKKwlUiDMINIZrCUuGbIZuCY8JP4mSCUKGb4ZxBnKGdAZ1hncGeIZ6CPSI8AocCPMJCwkICQ4JY4bvAAAIkYiUiSkAAAAACCiIK4gtCTUAAAguiDAIMYAAAAAAAAZ7gAAIOQAACHUAAAg6iDwJZQAABpyAAAZ9AAAGfoAACHmImoaAAAAAAAaBhoMAAAkhgAAGhIAABoYAAAaHgAAGiQAABoqAAAkqgAAGjAAABo2AAAh7CJ2GjwAABpCAAAaSBpOGlQAABpaAAAaYAAAJIAAABpmAAAabAAAJIwAABp+AAAacgAAGngAABsUAAAafgAAGoQAABqKAAAakAAAGpYAABqcAAAioAAAIqYAABqiAAAaqAAAGq4AABq0AAAauhrAGsYazBrSAAAa2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3huYILoa5AAAAAAAAAAAAAAAAAAAAAAa6gAAAAAkkgAAJJgAAAAAAAAAAAAAAAAAAAAAAAAAABrwIkAAAAAAAAAAACWaGvYa/BsCJcoAABsIGw4bFBsaGyAhIBsmGywAAAAAKAooXigKKF4n2ifgGzIoUhs4Gz4nwiCEJ84n1Cg6J1YgJCA2G0QbSifCJ8gnvCg0JzgnPiewJ7Yf7h/0JzIngCduJ3QnXCdoJ/In+B+mH6AbUBtWJ54AAAAAJywbXAAAG2IAACfmJ+wbaAAAAAAbbht0AAAoCgAAG3oAABuAAAAbhgAAG4wAABuSG5gbngAAAAAoEBukG6obsAAAKKAnpBu2HX4mBiX0HtonyCf+KAQnkieYKJQnjBu8IZ4bvBvCKKwlUiisG8gorCVSH+4f9BvOKCgb1BvaJ7woNCfyJ/gnOCc+JbIhICWyISAl1iSeJpwkeiaoHj4b4CUWG+AlFiMGJRYb5iUWIhYlFhvsJRYoZCUWIfIb8iG8JS4hvCUuI0IlLiD2JS4b+CVGG/4lRhwEJUYhCCVGHAok/hwQJyYcECcmI4onJhwWJyYilCcmHBwmuhwcJrocIia6HCgmuiGMJLYjqCUiI6glIiMMJSIjxiUiIhwlIhwuJSIocCUiIf4cNCHIJTocOiU6I04lOiE+JTocQCVSHEYlUhxMJVIhUCVSHFIlChxYJWQcWCVkI5YlZBxeJWQimiVkHGQljhxkJY4caiWOHHAljiGSJG4i1iRuHHYlFhx8JSIjEiUWIx4lIihkJRYocCUiHIIh+ByIIgQcjiH4HJQiBByaIfgcoCIEHKYh+BysIgQcsiEgJb4kdBy4JS4cviU6Ii4lLiI0JTocxCUuHMolOih8JS4oiCU6HNAlLhzWJToc3CTmHOIk8hzoJOYc7iTyHPQk5hz6JPIdAB0GHQwk8h0SISwdGCSeHR4lRh0kJVIdKiVGHTAlUh02JUYdPCVSI2YdQiNyJVIdSCVGHU4hFB1UAAAl+h1aJgYdYB1mHX4dbCVSJhIdciYeHXgmEh1+Jh4lUiYSHX4mHiVSJPgk/iUEJQomPB2EJkgdih2QJP4dliUKJkglCh2cJyYdoiVkHagnJh2uJWQdtCcmHbolZB3AJXAdxiV8JmwdzCZ4HdId2CVwHd4lfB3kIQId6iFKHfAhAh32IUomhB38JpAeAiaEHggmkB4OHhQhAh4aIUomnB4gJqgeJiacHiwmqB4yHjgkeiaoHj4eRCa6Hkoljh5QJroeViWOHlwmuh5iJY4eaCa6Hm4ljh50JroeeiWOJrQmuiPqJY4egCF6HoYhhh6MJLYekiRuIKgkth6YISAenh68HqQhIB6qHrwesCEgHrYevB7CAAAeyAAAHs4AAB7UAAAe2ifIHtonyCfOJ9Qe4CeMHuAnjB7mJ4we7CeMHvInjB74J4wolCeMJ/4e/h8EJ6QfBCekHwonpCdKJ6QfECdoHxYnaB8cJ2gnYidoHyInPiguKDQoLig0HygoNB8uKDQfNCg0HzoghB86IIQfQCCEH0YghChYKF4fTCeMH1InjCiUJ4wfWCgEH14oBB9kKAQfaigEH3AnyB92J6QffCekH4InpCigJ6QfiCekH44foB+UH6Afmh+gH6YfrB+yJ/gfuCdoH74naB/EJ2gnXB/KH9AnaB/WJ3QnMh/cH+If9B/uH+gf7h/0H+4f9B/6Jz4nOCAAIAYnPiAMKDQgEig0IBgoNCAeIDYgJCAqIDAgNiA8J1YgQidWKDogSCBOJ1YnziBUIFon1CfOIGAgZiCEIGwghCByIIQgeCCEIH4ghCfCIIQgiihSIJAoXidEKF4oWCheIJYoXiCcKF4oZCUWKHwlLiXKISwjZiVGJyAnJiSwJLYAACCiIMYAAChkJRYlmiEgKHwlLicIISAlyiEsI2YlRiX6JegmJCGqJjwk/icgJyYlmiZaJpwkeiSwJLYkvCTCIQglRiCoJLYgriC0JNQAACC6IMAgxgAAIOQAACDMINIjhCVkJuQm0iDYAAAg3gAAI4QlZCDkAAAg6iDwIPYlLiD8AAAmhCECI2YlRiEIJUYhDiEUJeIl6CEaAAAoZCUWJZohICSkAAAofCUuISYAACYkIaolyiEsJyAnJiWaJloh8iH4JpwkeiS8JMIocCUiKIglOiEyAAAjhCVkITgmZiH+IgQkSiRuJMgkziE+JTohRAAAJpAhSiNyJVIhUCVSIVYhniFcAAAhYiRuIWgheiFuIYYhaCF6IW4hhiF0IXohgCGGIYwktiGSJG4hmCGeIaQhqiGwIbYoZCUWKHAlIiG8JS4hwgAAIcglOiHOAAAh1AAAIdoAACHgAAAh5iJqIewidiHyIfgh/iIEJLAktiNmJUYiCgAAIhAAACNmJUYjEiUWIx4lIiIWJRYiHCUiIiIAACIoAAAiLiUuIjQlOiI6IkAiRiJSIkwiUiJYAAAiXgAAImQiaiJwInYifAAAIoIAACKIAAAijgAAIpQnJiKaJWQioAAAIqYAACKsAAAisgAAIrgAACK+AAAixAAAIsokbiLQAAAi1iRuItwAACLiJG4i6AAAIu4AACL0AAAi+gAAJb4kdChkIxgocCMkIwAlFiO0JSIoZCUWKHAlIihkJRYocCUiKGQlFihwJSIoZCUWKHAlIiMGIxgjDCMkKGQlFihwJSIoZCUWKHAlIihkJRYocCUiKGQlFihwJSIjEiMYIx4jJCh8I0goiCNUIyolLiMwJTojNiUuIzwlOih8JS4oiCU6KHwlLiiIJToofCUuKIglOih8JS4oiCU6I0IjSCNOI1QjWiVGI2AlUiNmI2wjciiyJyAjkCOE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", encoding: 'base64' },
+ 'Roboto-MediumItalic.ttf': { data: "AAEAAAARAQAABAAQR0RFRqcXo6wAAdnIAAACWEdQT1PdgaylAAHcIAAAeVJHU1VCzzL7wgACVXQAABX6T1MvMpfnsUwAAAGYAAAAYGNtYXBnX+zQAAAWoAAABopjdnQgO/gmfQAAL4QAAAD+ZnBnbagFhDIAAB0sAAAPhmdhc3AACAAZAAHZvAAAAAxnbHlmN/wZHgAAOtwAAZqcaGVhZAvNdKEAAAEcAAAANmhoZWEM1xK7AAABVAAAACRobXR4mY+cCwAAAfgAABSobG9jYfeJkDIAADCEAAAKVm1heHAI2hDGAAABeAAAACBuYW1laP6VrwAB1XgAAAQicG9zdP9hAGQAAdmcAAAAIHByZXB5WM7TAAAstAAAAs4AAQAAAAMC0ScTXnVfDzz1ABkIAAAAAADE8BEuAAAAAOP3FVz6Q/3VCXIIcwACAAkAAgAAAAAAAAABAAAHbP4MAAAJJvpD/l8JcggAAbMAAAAAAAAAAAAAAAAFKgABAAAFKgCpABUAdgAHAAIAEAAvAJoAAALmD3UAAwABAAQEiQH0AAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAEdPT0cAAQAA//0GAP4AAGYHmgIAIAABnwAAAAAEOgWwAAAAIAADA5YAZAAAAAAAAAAAAfgAAAH4AAACDgAzAnoAnQSuADIEaQBBBbYAtQT6ACkBTACRArAAaAK3/5QDcQBoBE8APAG8/48CowBAAigALgMH/34EaQBfBGkA8QRpAA0EaQAmBGkADQRpAFgEaQBdBGkAhgRpADcEaQCMAhYAKAHm/58D8wAzBF0AYAQIAC0DxgCTBvYALgUl/6ME5gAmBREAXwURACYEYwAmBEYAJgVJAGYFgQAmAjIANwRPAAQE5wAmBDEAJgbJACYFgQAmBVkAYgT0ACYFWQBeBOIAJgS0ACYEugCdBRQAWAUDAJoG1QC1BOb/wAS9AKEErv/lAhv/8AM8AKsCG/96A1QARAN5/3kCfADPBC8AHARdABAEDQA3BF8AOAQoADoCvgBeBGb/+QRQAA0B+gAgAfL/AgQMABEB+gAgBsMADwRSAA0EZwA4BF3/yARkADcCvgARA/8AGwKWAD8EUQBKA9oAZAXCAHkD6P+6A83/vAPo/+YClgAtAe0AIQKW/5gFJABcAg//5gRfAE0Ekf/3BXMABgQfAC4B6f/uBNP/4AN3ANcGGQBcA3UAvwPPAEYESQCABhoAXAO8AQQC+ADlBCkAGQLoAFcC6ABoAoEAxwSd/94DzAB+AjMAnwID/80C6ADkA4sAvgPOAAQFqADBBf0AtQY1AJYDx//UB0X/jQQhAB8FVwAWBKoAJwTFAB0GjgAOBIEARgRuAD4EYwAqBG7/zQTGADcFhQAsAgcAIwR3ACEEQwAfAkAAIAVsACMEYwARB3UAUAcHAD8B+AAcBWIASwK6/0QFZgBcBHoANAV3AFgEwABKAhX/BAQZADQDwAD+A44BCQPGAQQDZAD9AfoBAwKVAPoCOv+oA7EA3AMQAK4CYP/0AAD9VgAA/dwAAPz4AAD91QAA/LwAAPyhAlgBNgQbAO8CPQCfBFIAKwWW/6wFUABdBQ3/sgRp//4FggArBGn/3AXLAFQFhQB2BTAACgRhADsEpP/mA+0AdQRjADUEQwAoA/AAZgRjABEEggBuApAAZgRG/6cD+wBCBNYAYQRj/8sEEwA2BGsANwQKAGwEPABXBaQAMQWfAD8GYQBSBJAAUgRkAG4GRwBUBc8AlAUqAGEIQP/GCEoAKwYhAJ0FeQAiBOoAIwXP/4gHbv+kBLYAHwV6ACUFff/FBOQAmQYuAFUFygAhBVoAxAdgACgHvQAoBfIAhwbFACwE2wAkBSAASAczADMEwv+nBF0AQgRpACMDQQAWBMz/hQZV/7AD+AAXBG8AFwRKACIEcP+8BdQAIwRvABcEbwAXA9sAVAWnADkEqwAXBEMAbQZaABcGvAARBPkAUQZIACMERwAjBBkAIAZQACUETf+9BFAADQQZADkGof+4Bq8AFwRtAA0EbwAXByAAXwY5AEcERwAhBvEAKwXUABkE7/+sBEH/nQcTAD4GDgAtBrAAEgWwABUI5AA3B7EAIwQA/6kD1v+0BVAAYQRlADQE8QCoA+4AdQVQAGEEYwA1BxsAYwYlAEwHIABfBjkARwTpAFgEJgBEBNUAOwAA/PAAAP0QAAD+MQAA/j0AAPpDAAD6cwX7ACUE9gAXBEcAIQTpACYEY//IBEkAIwOHABEEzwArBAQAEQfv/6QGtf+wBacAKwTfACIFBgAkBIgAIQZhAKQFdABsBfsAJgTrABcHoAAmBYIAEQgTACoGugARBgcAXwTeAEsFG//ABCr/ugbxAJoFRQBXBc8AxATBAG0FRgC0BFIAggVbABwF7ABVBKD/8gT4ACQEVgAhBfr/xQT3/7wFgQArBGMAEQYFACYE9AAXB0YAJgZMACMFYgBLBIAALwSB//EEqAAnA5j/+QVJ/8AEWP+6BNMAKQa9AEIGpwBEBiEArAUAAGEEYACTBCcAiweB/9sGcf/ZB7gAJwZrAAcE3wBLBA8APQV9AJEE9gBzBSUAUAYf/8UFHf+8BScACAMDAOgD/wAAB/QAAAP/AAAH9AAAAq4AAAIEAAABXAAABGYAAAIpAAABnwAAAQIAAADVAAAAAAAAAqwAQAKsAEAFBgCbBgQAfAN+/1gBsgCyAa0AjQHB/6cBlgDNAv4AuQMFAJoC6v+kBDkAaQR2//wCtgCfA+gANQWIADUBwgBeB3MAogJhAFoCV//8A33/4ALoAIkC6ABmAugAfgLoAIkC6ACYAugAeALoAKcDIACGAtwAhwLcAG8B8wCLAfMAPgNCAGsC6P/XAugAMQLo/6YC6P+2Auj/tQLo/8wC6P/YAuj/5gLo/8YC6P/1Ayr/2gLm/9oC5v/CAfP/5QHz/54Ekf/3BjwADwaLACwIXQAmBgwAIAZpABAEaQBLBb0ARAQNAEQEeAAVBTj/5QVT/+oFtwDAA8UAKwfrACME4QDwBO0AfQYRALoGswCEBqYAigaDALoEcABEBV8AHgS5/6YEXgCaBHkANAgSAEkCIf8PBG4AMQRdAGAD/f/WBBIAFAPvADwCSQBjAnoAZwHb/9EE/ABeBIkATgSYAF4G8gBeBvIAXgToAF4GgwAVAAAAAAfx/6gINQBcAt7/5ALeAHAC3gAWA/4AYQP+AB4D/gBZA/0APAP+ADAD/v//A/4ACAP+//ID/gC0A/4AOQQL/9YEHgBsBDv/ogXaAIsEVwBuBGYAOAQeAGMEFgAPBEMACQSZADoESQAJBJkAOwS2AAkF1wAJA5sACQQ8AAkDuf/zAe8AGgS3AAkEgwA/A6sACQQWAA8ERgARA4kAAgOfAAkEVv+kBJkAOwRW/6QDgf/bBLMACQP//9oFewBBBTAAbQS7AAAFZwBiBF4AOQcd/8EHHwAJBW4AYwSzAAkEUAALBTT/gwYV/6oEJQAOBLwACwQ8AAoEpv/BBCsAdgU5AAkEagBbBlEACQbYAAkFOABLBfEACwRGAAsEXgAUBlwACQRh/9EECP/2BnD/qgR8AAoE5gAKBUoAYAXKAD4EPwBsBJ//ogZlAGIEagBbBGoACQXSADsEqQAyBCYADgScADQERgAHA9YAHgfvAAkEzv/aAt7/9QLe//MC3gALAt4AFgLeACUC3gAFAt4ANAOZAJECmgEIA8IACQQa/4cEkgA7BRkAKwUAACsEEAAUBQ0AKwQJABQEVwAJBF4AOQQ/AAkEdv+aAe8A6AOFAQQAAP0nA9kA3APbABYD7ADcA9wA2wOfAAkDgQEEA4EBBQLoAIkC6ABmAugAfgLoAIkC6ACYAugAeALoAKcFSgBsBXMAawVVACsFrABuBa4AbQQJAKsEXwAcBDf/gQSX/9EESf/YBA4AMQOFAQUBrf+4BmYAOwSLAEUB/P8ABHP/qQRz/9kEc//JBHMAEwRzAEwEcwAiBHMAVwRzADEEcwA3BHMA+AIf/wQCH/8EAhEAIwIR/3wCEQAjBD8ACQTBAEwEEABWBGYAEAQeADYEcgA3BG4ALQR6ADIEb//IBHcANgQoADoEZgAuBDj/nwObAKsE5gAkA6f/7wYV/34D6AAJBJn/2wTnACIEtgAJAfgAAAKjAEAFLwAgBS8AIARuACsEugCdApb/5QUl/6MFJf+jBSX/owUl/6MFJf+jBSX/owUl/6MFEQBfBGMAJgRjACYEYwAmBGMAJgIyADcCMgA3AjIANwIyADcFgQAmBVkAYgVZAGIFWQBiBVkAYgVZAGIFFABYBRQAWAUUAFgFFABYBL0AoQQvABwELwAcBC8AHAQvABwELwAcBC8AHAQvABwEDQA3BCgAOgQoADoEKAA6BCgAOgIHACMCBwAjAgcAIwIHACMEUgANBGcAOARnADgEZwA4BGcAOARnADgEUQBKBFEASgRRAEoEUQBKA83/vAPN/7wFJf+jBC8AHAUl/6MELwAcBSX/owQvABwFEQBfBA0ANwURAF8EDQA3BREAXwQNADcFEQBfBA0ANwURACYE9QA4BGMAJgQoADoEYwAmBCgAOgRjACYEKAA6BGMAJgQoADoEYwAmBCgAOgVJAGYEZv/5BUkAZgRm//kFSQBmBGb/+QVJAGYEZv/5BYEAJgRQAA0CMgA3AgcAEwIyADcCBwAjAjIANwIHACMCMv+OAfr/dQIyADcGggA3A+wAIARPAAQCFf8EBOcAJgQMABEEMQAmAfoAIAQxACYB+v+mBDEAJgKQACAEMQAmAtYAIAWBACYEUgANBYEAJgRSAA0FgQAmBFIADQRSAA0FWQBiBGcAOAVZAGIEZwA4BVkAYgRnADgE4gAmAr4AEQTiACYCvv+fBOIAJgK+ABEEtAAmA/8AGwS0ACYD/wAbBLQAJgP/ABsEtAAmA/8AGwS0ACYD/wAbBLoAnQKWAD8EugCdApYAPwS6AJ0CvgA/BRQAWARRAEoFFABYBFEASgUUAFgEUQBKBRQAWARRAEoFFABYBFEASgUUAFgEUQBKBtUAtQXCAHkEvQChA83/vAS9AKEErv/lA+j/5gSu/+UD6P/mBK7/5QPo/+YHRf+NBo4ADgVXABYEYwAqBFf/lgRX/5YEHgBjBHb/mgR2/5oEdv+aBHb/mgR2/5oEdv+aBHb/mgReADkDwgAJA8IACQPCAAkDwgAJAe8AGgHvABoB7wAaAe8AGgS2AAkEmQA7BJkAOwSZADsEmQA7BJkAOwRmADgEZgA4BGYAOARmADgEHgBsBHb/mgR2/5oEdv+aBF4AOQReADkEXgA5BF4AOQRXAAkDwgAJA8IACQPCAAkDwgAJA8IACQSDAD8EgwA/BIMAPwSDAD8EtwAJAe8ADgHvABoB7wAaAfn/lwHvABoDuf/zBDwACQObAAkDmwAJA5sACQObAAkEtgAJBLYACQS2AAkEmQA7BJkAOwSZADsEQwAJBEMACQRDAAkEFgAPBBYADwQWAA8EFgAPBB4AYwQeAGMEHgBjBGYAOARmADgEZgA4BGYAOARmADgEZgA4BdoAiwQeAGwEHgBsBAv/1gQL/9YEC//WBSX/owTH/7oF5f/CApb/xgVtACYFIf+4BUQAHgKQAAkFJf+jBOYAJgRjACYErv/lBYEAJgIyADcE5wAmBskAJgWBACYFWQBiBPQAJgS6AJ0EvQChBOb/wAIyADcEvQChBGEAOwRDACgEYwARApAAZgQ8AFcEdwAhBGcAOASd/94D2gBkBDj/nwKQAEQEPABXBGcAOAQ8AFcGYQBSBGMAJgRSACsEtAAmAjIANwIyADcETwAEBQAAKwTnACYE5ACZBSX/owTmACYEUgArBGMAJgV6ACUGyQAmBYEAJgVZAGIFggArBPQAJgURAF8EugCdBOb/wAQvABwEKAA6BG8AFwRnADgEXf/IBA0ANwPN/7wD6P+6BCgAOgNBABYD/wAbAfoAIAIHACMB8v8CBEoAIgPN/7wG1QC1BcIAeQbVALUFwgB5BtUAtQXCAHkEvQChA83/vAFMAJECegCdBBsAMwIV/wQBrQCNBskAJgbDAA8FJf+jBC8AHARjACYFegAlBCgAOgRvABcFhQB2BZ8APwTxAKgD7gB1CDQAOAkmAGIEtgAfA/gAFwURAF8EDQA3BL0AoQPtAHUCMgA3B27/pAZV/7ACMgA3BSX/owQvABwFJf+jBC8AHAdF/40GjgAOBGMAJgQoADoFYgBLBBkANAQZADQHbv+kBlX/sAS2AB8D+AAXBXoAJQRvABcFegAlBG8AFwVZAGIEZwA4BVAAYQRlADQFUABhBGUANAUgAEgEGQAgBOQAmQPN/7wE5ACZA83/vATkAJkDzf+8BVoAxARDAG0GxQAsBkgAIwRfADgFJf+jBC8AHAUl/6MELwAcBSX/owQvABwFJf+jBC8AHAUl/6MELwAcBSX/owQvABwFJf+jBC8AHAUl/6MELwAcBSX/owQvABwFJf+jBC8AHAUl/6MELwAcBSX/owQvABwEYwAmBCgAOgRjACYEKAA6BGMAJgQoADoEYwAmBCgAOgRjACYEKAA6BGMAJgQoADoEYwAmBCgAOgRjACYEKAA6AjIANwIHACMCMv//Afr/4wVZAGIEZwA4BVkAYgRnADgFWQBiBGcAOAVZAGIEZwA4BVkAYgRnADgFWQBiBGcAOAVZAGIEZwA4BWYAXAR6ADQFZgBcBHoANAVmAFwEegA0BWYAXAR6ADQFZgBcBHoANAUUAFgEUQBKBRQAWARRAEoFdwBYBMAASgV3AFgEwABKBXcAWATAAEoFdwBYBMAASgV3AFgEwABKBL0AoQPN/7wEvQChA83/vAS9AKEDzf+8BH3/9AS6AJ0D2wBUBVoAxARDAG0EUgArA0EAFgXsAFUEoP/yBFAADQTbACQE2wAkBFIAAANB/8cFFAA/BCQAKAS9AKED7QBSBOb/wAPo/7oEQwAoBEb/wgYEAHwEaQANBGkAJgRpAA0EaQBYBH0AcQSRAEsEfQCMBJEAcwVJAGYEZv/5BYEAJgRSAA0FJf+jBC8AHARjACYEKAA6AjL/zwIH/4AFWQBiBGcAOATiACYCvgAMBRQAWARRAEoEyP+FBOYAJgRdABAFEQAmBF8AOAURACYEXwA4BYEAJgRQAA0E5wAmBAwAEQTnACYEDAARBDEAJgH6/+MGyQAmBsMADwWBACYEUgANBVkAYgT0ACYEXf/IBOIAJgK+/90EtAAmA/8AGwS6AJ0ClgA/BRQAWAUDAJoD2gBkBQMAmgPaAGQG1QC1BcIAeQSu/+UD6P/mBZ//AQR2/5oD/v+mBPP/rgIr/7EEo//YBFr/ZQTF/+oEdv+aBD8ACQPCAAkEC//WBLcACQHvABoEPAAJBdcACQS2AAkEmQA7BEkACQQeAGMEHgBsBDv/ogHvABoEHgBsA8IACQOfAAkEFgAPAe8AGgHvABoDuf/zBDwACQQrAHYEdv+aBD8ACQOfAAkDwgAJBLwACwXXAAkEtwAJBJkAOwSzAAkESQAJBF4AOQQeAGMEO/+iBCUADgS3AAkEXgA5BB4AbAXSADsEvAALBCsAdgV7AEEFqAAaBhX/fgSZ/9sEFgAPBdoAiwXaAIsF2gCLBB4AbAUl/6MELwAcBGMAJgQoADoEdv+aA8IACQIH/+MAAAACAAAAAwAAABQAAwABAAAAFAAEBnYAAAD2AIAABgB2AAAAAgANAH4AoACsAK0AvwDGAM8A5gDvAP4BDwERASUBJwEwAVMBXwFnAX4BfwGPAZIBoQGwAfAB/wIbAjcCWQK8AscCyQLdAvMDAQMDAwkDDwMjA4oDjAOSA6EDsAO5A8kDzgPSA9YEJQQvBEUETwRiBG8EeQSGBJ8EqQSxBLoEzgTXBOEE9QUBBRAFEx4BHj8ehR6eHvEe8x75H00gCSALIBEgFSAeICIgJyAwIDMgOiA8IEQgcCCOIKQgqiCsILEguiC9IQUhEyEWISIhJiEuIV4iAiIGIg8iEiIaIh4iKyJIImAiZSXK7gL2w/sE/v///f//AAAAAAACAA0AIACgAKEArQCuAMAAxwDQAOcA8AD/ARABEgEmASgBMQFUAWABaAF/AY8BkgGgAa8B8AH6AhgCNwJZArwCxgLJAtgC8wMAAwMDCQMPAyMDhAOMA44DkwOjA7EDugPKA9ED1gQABCYEMARGBFAEYwRwBHoEiASgBKoEsgS7BM8E2ATiBPYFAgURHgAePh6AHp4eoB7yHvQfTSAAIAogECATIBcgICAlIDAgMiA5IDwgRCBwIHQgoyCmIKsgsSC5ILwhBSETIRYhIiEmIS4hWyICIgYiDyIRIhoiHiIrIkgiYCJkJcruAfbD+wH+///8//8AAQAA//b/5AH0/8IB6P/BAAAB2wAAAdYAAAHSAAAB0AAAAc4AAAHGAAAByP8W/wf/Bf74/usCCgAAAAD+Zf5EAT/92P3X/cn9tP2o/af9ov2d/YoAAAAaABkAAAAA/QoAAP/6/P78+wAA/LoAAPyyAAD8pwAA/KEAAPyZAAD8kQAA/0QAAP9BAAD8XgAA5f7lvuVv4tPlmuUD5ZjlmeFz4XThcAAA4W3hbOFq4WLjxeFa473hUeEm4SMAAOENAADhCOEB4QDgueCs4Krgn9+U4JTgaN/F3qzfud+437Hfrt+i34bfb99s3AgT0gsSBtYC3gHiAAEAAAAAAAAAAAAAAAAAAAAAAOYAAADwAAABGgAAATQAAAE0AAABNAAAAXYAAAAAAAAAAAAAAAAAAAF2AYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbgAAAAABdgGSAAABqgAAAAAAAAHCAAACCgAAAjIAAAJUAAACZAAAApAAAAKcAAACwAAAAtAAAALkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALSAAAAAAAAAAAAAAAAAAAAAAAAAAACwgAAAsIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACmwKcAp0CngKfAqAAgQKXAqsCrAKtAq4CrwKwAIIAgwKxArICswK0ArUAhACFArYCtwK4ArkCugK7AIYAhwLGAscCyALJAsoCywCIAIkCzALNAs4CzwLQAIoClgCLAIwCmACNAv8DAAMBAwIDAwMEAI4DBQMGAwcDCAMJAwoDCwMMAI8AkAMNAw4DDwMQAxEDEgMTAJEAkgMUAxUDFgMXAxgDGQCTAJQDKAMpAywDLQMuAy8CmQKaAqECvANHA0gDSQNKAyYDJwMqAysArgCvA6IAsAOjA6QDpQCxALIDrAOtA64AswOvA7AAtAOxA7IAtQOzALYDtAC3A7UDtgC4A7cAuQC6A7gDuQO6A7sDvAO9A74DvwDEA8EDwgDFA8AAxgDHAMgAyQDKAMsAzAPDAM0AzgQAA8kA0gPKANMDywPMA80DzgDUANUA1gPQBAED0QDXA9IA2APTA9QA2QPVANoA2wDcA9YDzwDdA9cD2APZA9oD2wPcA90A3gDfA94D3wDqAOsA7ADtA+AA7gDvAPAD4QDxAPIA8wD0A+IA9QPjA+QA9gPlAPcD5gQCA+cBAgPoAQMD6QPqA+sD7AEEAQUBBgPtBAMD7gEHAQgBCQSdBAQEBQEXARgBGQEaBAYEBwQJBAgBKAEpASoBKwScASwBLQEuAS8BMASeBJ8BMQEyATMBNAQKBAsBNQE2ATcBOASgBKEEDAQNBJMElAQOBA8EogSjBJsBTAFNBJkEmgQQBBEEEgFOAU8BUAFRAVIBUwFUAVUElQSWAVYBVwFYBB0EHAQeBB8EIAQhBCIBWQFaBJcEmAQ3BDgBWwFcAV0BXgSkBKUBXwQ5BKYBbwFwAYIBgwSoBKcBsgSSAbgAAEBKmZiXloeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUVBPTk1MS0pJSEdGKB8QCgksAbELCkMjQ2UKLSwAsQoLQyNDCy0sAbAGQ7AHQ2UKLSywTysgsEBRWCFLUlhFRBshIVkbIyGwQLAEJUWwBCVFYWSKY1JYRUQbISFZWS0sALAHQ7AGQwstLEtTI0tRWlggRYpgRBshIVktLEtUWCBFimBEGyEhWS0sS1MjS1FaWDgbISFZLSxLVFg4GyEhWS0ssAJDVFiwRisbISEhIVktLLACQ1RYsEcrGyEhIVktLLACQ1RYsEgrGyEhISFZLSywAkNUWLBJKxshISFZLSwjILAAUIqKZLEAAyVUWLBAG7EBAyVUWLAFQ4tZsE8rWSOwYisjISNYZVktLLEIAAwhVGBDLSyxDAAMIVRgQy0sASBHsAJDILgQAGK4EABjVyO4AQBiuBAAY1daWLAgYGZZSC0ssQACJbACJbACJVO4ADUjeLACJbACJWCwIGMgILAGJSNiUFiKIbABYCMbICCwBiUjYlJYIyGwAWEbiiEjISBZWbj/wRxgsCBjIyEtLLECAEKxIwGIUbFAAYhTWli4EACwIIhUWLICAQJDYEJZsSQBiFFYuCAAsECIVFiyAgICQ2BCsSQBiFRYsgIgAkNgQgBLAUtSWLICCAJDYEJZG7hAALCAiFRYsgIEAkNgQlm4QACwgGO4AQCIVFiyAggCQ2BCWblAAAEAY7gCAIhUWLICEAJDYEJZsSYBiFFYuUAAAgBjuAQAiFRYsgJAAkNgQlm5QAAEAGO4CACIVFiyAoACQ2BCWbEoAYhRWLlAAAgAY7gQAIhUWLkAAgEAsAJDYEJZWVlZWVlZsQACQ1RYQAoFQAhACUAMAg0CG7EBAkNUWLIFQAi6AQAACQEAswwBDQEbsYACQ1JYsgVACLgBgLEJQBu4AQCwAkNSWLIFQAi6AYAACQFAG7gBgLACQ1JYsgVACLgCALEJQBuyBUAIugEAAAkBAFlZWbhAALCAiFW5QAACAGO4BACIVVpYswwADQEbswwADQFZWVlCQkJCQi0sRbECTisjsE8rILBAUVghS1FYsAIlRbEBTitgWRsjS1FYsAMlRSBkimOwQFNYsQJOK2AbIVkbIVlZRC0sILAAUCBYI2UbI1mxFBSKcEWwTysjsWEGJmAriliwBUOLWSNYZVkjEDotLLADJUljI0ZgsE8rI7AEJbAEJUmwAyVjViBgsGJgK7ADJSAQRopGYLAgY2E6LSywABaxAgMlsQEEJQE+AD6xAQIGDLAKI2VCsAsjQrECAyWxAQQlAT8AP7EBAgYMsAYjZUKwByNCsAEWsQACQ1RYRSNFIBhpimMjYiAgsEBQWGcbZllhsCBjsEAjYbAEI0IbsQQAQiEhWRgBLSwgRbEATitELSxLUbFATytQW1ggRbEBTisgiopEILFABCZhY2GxAU4rRCEbIyGKRbEBTisgiiNERFktLEtRsUBPK1BbWEUgirBAYWNgGyMhRVmxAU4rRC0sI0UgikUjYSBksEBRsAQlILAAUyOwQFFaWrFATytUWliKDGQjZCNTWLFAQIphIGNhGyBjWRuKWWOxAk4rYEQtLAEtLAAtLAWxCwpDI0NlCi0ssQoLQyNDCwItLLACJWNmsAIluCAAYmAjYi0ssAIlY7AgYGawAiW4IABiYCNiLSywAiVjZ7ACJbggAGJgI2ItLLACJWNmsCBgsAIluCAAYmAjYi0sI0qxAk4rLSwjSrEBTistLCOKSiNFZLACJWSwAiVhZLADQ1JYISBkWbECTisjsABQWGVZLSwjikojRWSwAiVksAIlYWSwA0NSWCEgZFmxAU4rI7AAUFhlWS0sILADJUqxAk4rihA7LSwgsAMlSrEBTiuKEDstLLADJbADJYqwZyuKEDstLLADJbADJYqwaCuKEDstLLADJUawAyVGYLAEJS6wBCWwBCWwBCYgsABQWCGwahuwbFkrsAMlRrADJUZgYbCAYiCKIBAjOiMgECM6LSywAyVHsAMlR2CwBSVHsIBjYbACJbAGJUljI7AFJUqwgGMgWGIbIVmwBCZGYIpGikZgsCBjYS0ssAQmsAQlsAQlsAQmsG4rIIogECM6IyAQIzotLCMgsAFUWCGwAiWxAk4rsIBQIGBZIGBgILABUVghIRsgsAVRWCEgZmGwQCNhsQADJVCwAyWwAyVQWlggsAMlYYpTWCGwAFkbIVkbsAdUWCBmYWUjIRshIbAAWVlZsQJOKy0ssAIlsAQlSrAAU1iwABuKiiOKsAFZsAQlRiBmYSCwBSawBiZJsAUmsAUmsHArI2FlsCBgIGZhsCBhZS0ssAIlRiCKILAAUFghsQJOKxtFIyFZYWWwAiUQOy0ssAQmILgCAGIguAIAY4ojYSCwXWArsAUlEYoSiiA5ili5AF0QALAEJmNWYCsjISAQIEYgsQJOKyNhGyMhIIogEEmxAk4rWTstLLkAXRAAsAklY1ZgK7AFJbAFJbAFJrBtK7FdByVgK7AFJbAFJbAFJbAFJbBvK7kAXRAAsAgmY1ZgKyCwAFJYsFArsAUlsAUlsAclsAclsAUlsHErsAIXOLAAUrACJbABUlpYsAQlsAYlSbADJbAFJUlgILBAUlghG7AAUlggsAJUWLAEJbAEJbAHJbAHJUmwAhc4G7AEJbAEJbAEJbAGJUmwAhc4WVlZWVkhISEhIS0suQBdEACwCyVjVmArsAclsAclsAYlsAYlsAwlsAwlsAklsAglsG4rsAQXOLAHJbAHJbAHJrBtK7AEJbAEJbAEJrBtK7BQK7AGJbAGJbADJbBxK7AFJbAFJbADJbACFzggsAYlsAYlsAUlsHErYLAGJbAGJbAEJWWwAhc4sAIlsAIlYCCwQFNYIbBAYSOwQGEjG7j/wFBYsEBgI7BAYCNZWbAIJbAIJbAEJrACFziwBSWwBSWKsAIXOCCwAFJYsAYlsAglSbADJbAFJUlgILBAUlghG7AAUliwBiWwBiWwBiWwBiWwCyWwCyVJsAQXOLAGJbAGJbAGJbAGJbAKJbAKJbAHJbBxK7AEFziwBCWwBCWwBSWwByWwBSWwcSuwAhc4G7AEJbAEJbj/wLACFzhZWVkhISEhISEhIS0ssAQlsAMlh7ADJbADJYogsABQWCGwZRuwaFkrZLAEJbAEJQawBCWwBCVJICBjsAMlIGNRsQADJVRbWCEhIyEHGyBjsAIlIGNhILBTK4pjsAUlsAUlh7AEJbAEJkqwAFBYZVmwBCYgAUYjAEawBSYgAUYjAEawABYAsAAjSAGwACNIACCwASNIsAIjSAEgsAEjSLACI0gjsgIAAQgjOLICAAEJIzixAgEHsAEWWS0sIxANDIpjI4pjYGS5QAAEAGNQWLAAOBs8WS0ssAYlsAklsAklsAcmsHYrI7AAVFgFGwRZsAQlsAYmsHcrsAUlsAUmsAUlsAUmsHYrsABUWAUbBFmwdystLLAHJbAKJbAKJbAIJrB2K4qwAFRYBRsEWbAFJbAHJrB3K7AGJbAGJrAGJbAGJrB2KwiwdystLLAHJbAKJbAKJbAIJrB2K4qKCLAEJbAGJrB3K7AFJbAFJrAFJbAFJrB2K7AAVFgFGwRZsHcrLSywCCWwCyWwCyWwCSawdiuwBCawBCYIsAUlsAcmsHcrsAYlsAYmsAYlsAYmsHYrCLB3Ky0sA7ADJbADJUqwBCWwAyVKArAFJbAFJkqwBSawBSZKsAQmY4qKY2EtLLFdDiVgK7AMJhGwBSYSsAolObAHJTmwCiWwCiWwCSWwfCuwAFCwCyWwCCWwCiWwfCuwAFBUWLAHJbALJYewBCWwBCULsAolELAJJcGwAiWwAiULsAclELAGJcEbsAclsAslsAsluP//sHYrsAQlsAQlC7AHJbAKJbB3K7AKJbAIJbAIJbj//7B2K7ACJbACJQuwCiWwByWwdytZsAolRrAKJUZgsAglRrAIJUZgsAYlsAYlC7AMJbAMJbAMJiCwAFBYIbBqG7BsWSuwBCWwBCULsAklsAklsAkmILAAUFghsGobsGxZKyOwCiVGsAolRmBhsCBjI7AIJUawCCVGYGGwIGOxAQwlVFgEGwVZsAomIBCwAyU6sAYmsAYmC7AHJiAQijqxAQcmVFgEGwVZsAUmIBCwAiU6iooLIyAQIzotLCOwAVRYuQAAQAAbuEAAsABZirABVFi5AABAABu4QACwAFmwfSstLIqKCA2KsAFUWLkAAEAAG7hAALAAWbB9Ky0sCLABVFi5AABAABu4QACwAFkNsH0rLSywBCawBCYIDbAEJrAEJggNsH0rLSwgAUYjAEawCkOwC0OKYyNiYS0ssAkrsAYlLrAFJX3FsAYlsAUlsAQlILAAUFghsGobsGxZK7AFJbAEJbADJSCwAFBYIbBqG7BsWSsYsAglsAclsAYlsAolsG8rsAYlsAUlsAQmILAAUFghsGYbsGhZK7AFJbAEJbAEJiCwAFBYIbBmG7BoWStUWH2wBCUQsAMlxbACJRCwASXFsAUmIbAFJiEbsAYmsAQlsAMlsAgmsG8rWbEAAkNUWH2wAiWwgiuwBSWwgisgIGlhsARDASNhsGBgIGlhsCBhILAIJrAIJoqwAhc4iophIGlhYbACFzgbISEhIVkYLSxLUrEBAkNTWlgjECABPAA8GyEhWS0sI7ACJbACJVNYILAEJVg8GzlZsAFguP/pHFkhISEtLLACJUewAiVHVIogIBARsAFgiiASsAFhsIUrLSywBCVHsAIlR1QjIBKwAWEjILAGJiAgEBGwAWCwBiawhSuKirCFKy0ssAJDVFgMAopLU7AEJktRWlgKOBsKISFZGyEhISFZLSywmCtYDAKKS1OwBCZLUVpYCjgbCiEhWRshISEhWS0sILACQ1SwASO4AGgjeCGxAAJDuABeI3khsAJDI7AgIFxYISEhsAC4AE0cWYqKIIogiiO4EABjVli4EABjVlghISGwAbgAMBxZGyFZsIBiIFxYISEhsAC4AB0cWSOwgGIgXFghISGwALgADBxZirABYbj/qxwjIS0sILACQ1SwASO4AIEjeCGxAAJDuAB3I3khsQACQ4qwICBcWCEhIbgAZxxZioogiiCKI7gQAGNWWLgQAGNWWLAEJrABW7AEJrAEJrAEJhshISEhuAA4sAAjHFkbIVmwBCYjsIBiIFxYilyKWiMhIyG4AB4cWYqwgGIgXFghISMhuAAOHFmwBCawAWG4/5McIyEtAABA/340fVV8Pv8fezv/H3o9/x95O0AfeDz/H3c8PR92NQcfdTr/H3Q6Zx9zOU8fcjn/H3E2/x9wOM0fbzj/H243Xh9tN80fbDf/H2s3LR9qNxgfaTT/H2gy/x9nMs0fZjP/H2Ux/x9kMP8fYzCrH2IwZx9hLv8fYC6AH18v/x9eL5MfXS3/H1ws/x9bK/8fWirNH1kq/x9YKg0fVyn/H1Yo/x9VJyQfVCctH1MlXh9SJf8fUSWrH1Am/x9PJoAfTiT/H00jKx9MI6sfSyP/H0ojVh9JIysfSCL/H0cg/x9GIHIfRSH/H0Qhch9DH/8fQh6TH0Ee/x9AHf8fPxz/Hz07k0DqHzw7NB86NQ4fOTZyHzg2Tx83NiIfNjWTHzMyQB8xMHIfLy5KHysqQB8nGQQfJiUoHyUzGxlcJBoSHyMFGhlcIhn/HyEgPR8gOBgWXB8YLR8eF/8fHRb/HxwWBx8bMxkcWxg0FhxbGjMZHFsXNBYcWxUZPhamWhMxElURMRBVElkQWQ00DFUFNARVDFkEWR8EXwQCDwR/BO8EAw9eDlULNApVBzQGVQExAFUOWQpZBll/BgEvBk8GbwYDPwZfBn8GAwBZLwABLwBvAO8AAwk0CFUDNAJVCFkCWR8CXwICDwJ/Au8CAwNAQAUBuAGQsFQrS7gH/1JLsAlQW7ABiLAlU7ABiLBAUVqwBoiwAFVaW1ixAQGOWYWNjQAdQkuwkFNYsgMAAB1CWbECAkNRWLEEA45Zc3QAKwArKytzdAArc3R1ACsAKwArKysrK3N0ACsAKysrACsAKysrASsBKwErASsBKwErKwArKwErKwErACsAKwErKysrKwErKwArKysrKysrASsrACsrKysrKysBKwArKysrKysrKysrKysrASsrACsrKysrKysrKysBKysrKysrKwArKysrKysrKysrKysrKysrKysrKysYAAAGAAAVBbAAFAWwABQEOgAUAAD/7AAA/+wAAP/s/mD/9QWwABUAAP/rAAAAvQDAAJ0AnQC6AJcAlwAnAMAAnQCGALwAqwC6AJoA0wCzAJkB4ACWALoAmgCpAQsAggCuAKAAjACVALkAqQAXAJMAmgB7AIsAoQDeAKAAjACdALYAJwDAAJ0ApACGAKIAqwC2AL8AugCCAI4AmgCiALIA0wCRAJkArQCzAL4ByQH9AJYAugBHAJgAnQCpAQsAggCZAJ8AqQCwAIEAhQCLAJQAqQC1ALoAFwBQAGMAeAB9AIMAiwCQAJgAogCuANQA3gEmAHsAiQCTAJ0ApQC0BI0AEAAAAAAAMgAyADIAMgAyAFwAfgC1ATQBwwI/AlUChgK3AuQDAwMfAzEDTwNjA7kD0wQXBIkEtgUHBWkFhwYBBmIGbgZ6BqEGvgblBz0H7wgmCI0I2AkdCVIJfgnSCf0KEgpBCnYKlwrLCvALQgt7C9oMIgyJDKkM2w0CDUMNcQ2WDcYN4g32DhIONw5IDlwOzQ8nD3MPzRAiEFUQxhEDES0RahGfEbUSGRJXEqQS/xNaE5AT7hQiFF4UgxTGFPMVLxVdFaoVvhYNFlAWdhbYFycXjRfXF/MYkBjDGUgZphmyGdEaeRqLGsIa6hsmG4wboBvkHAUcIRxNHGYcqxy3HMgc2RzqHUEdkh2wHhIeUB61H2EfyCAFIGAgvCEgIVUhaiGdIcoh7CIsIn8i9COLI7MkByRbJMclJyVsJbwl5CY2JlcmdyZ/JqUmwibzJyAnYCd/J68nwyfYJ+EoDygsKEkoXSidKKUovijuKVEpdymhKcAp+CpUKpgrASt1K+EsDyyCLPMtRy2FLeguEC5kLt0vGi9wL8AwGzBPMI0w5TEqMZsyBTJeMtszKjOCM+U0NDR4NJ806DU/NYs1/jYiNl02mjb0NyA3WjeCN7Y3+Tg+OHg40Dk6OX459TphOno6wjsSO4E7pTvYPBM8RDxvPJg8tj1XPYI9uz3iPhY+Wj6ePtg/Lj+VP9tAPUCSQPNBQ0GJQbBCDkJtQrJDFUN3Q7ND7ERBRJJE+0VhRd9GXUbmR2tH2EguSGRInEkMSXNKKkrfS1FLxEwPTFdMhUyjTNRM6kz/TbZOCk4mTkJOhE7MTzdPW09/T79P/VAQUCNQL1BCUINQwlD+UTpRTVFgUZVRylIOUlxS01NGU1lTbFOiU9hT61P+VEdUj1TJVTNVm1XoVjJWRVZYVpNW0FbjVvZXCVccV3BXwVgSWCFYMVg9WElYgFjdWVpZ2FpUWstbQFuhXARcU1ymXPddR12MXdFeRV5RXl1eyF70XvRe9F70XvRe9F70XvRe9F70XvRe9F70XvRe/F8EXxZfKF9FX2FffV+ZX7RfwF/MX/tgHGBKYGpgdmCGYKNha2GPYa9hxmHPYdhh4WHqYfNh/GIFYiZiOGJUYoFirmLnYvBi+WMCYwtjFGMdYyZjL2M4Y0FjSmNTY1xjhWOuZAZkQWSiZK5lB2VVZa9mAGZVZptm3GcdZ6hn+mhkaKJo8GkGaRdpLWlDabBpzWoEahZqQmrcaxlreGuna9tsD2xCbE9sbWyJbJVs0W0RbXRt3m5Cbvhu+HAVcFtwlXC6cP1xVnHRce1yRnKOcrdzJHNic3tzyHP2dCd0U3SUdLd053UFdWd1qnYHdj52i3atdt92/Hctd1l3bHeWd+V4EXiMeNx5HHk5eWl5wXnjegx6Mnprer57BXtue7t8DnxqfLV8930qfWt9tX4HfnV+oX7Ufw5/SX9+f7V/54ApgGiAdICpgPyBYIGtgdiCNYJzgrKC7YNhg22Dp4PlhCqEYITAhRGFYIXChh6GdobjhyaHgoerh+2IP4haiMWJF4kpiWaJmYpGiqaLBIs4i2uLnIvRjBKMWozBjPGNDo08jXuNoI3GjgaOT457jqqO+48Ejw2PFo8fjyiPMY86j4mP4JAikHaQ2ZD4kTuRgZGrkfiSFJJqknyS9pNak3+Th5OPk5eTn5Onk6+Tt5O/k8eTz5PXk9+T55P5lAGUapS2lNSVLpV5ldOWRJaRluyXR5eYmAiYV5hfmNOZAJlRmYqZ5poZml2aXZplmrabB5tNm3WbtpvJm9yb75wCnBacKpxAnFOcZpx5nIycoJyznMac2ZztnQCdE50mnTmdTJ1gnXOdhp2Zna2dwJ3Tnead+J4Knh2eMZ5HnlqebZ6AnpKepZ63nsme3J7wnwKfFZ8onzqfTJ9fn3KfhZ+Xn6qfvZ/Qn+Of9aAIoBugdKEGoRmhLKE/oVGhZKF3oYqhnKGvocKh1aHnofqiDKIfojKijaMFoxijKqM9o0+jYqN0o4ejmqOuo8Gj1KPno/qkDaQgpDOkRqRZpGukfaSQpJykqKS7pM6k4qT2pQmlHKUwpUSlV6VqpXalgqWVpailvKXQpeOl9aYIphumLaZAplOmZ6Z7po6moaa1psmm3KbupwGnFKcnpzmnTKdfp3Onh6eap6ynwKfUp+en+qgNqCGoNKhGqFmoa6h+qJGopai5qM2o4ak4qZqpranAqdOp5an5qgyqH6oyqkWqWKpqqn2qkKqjqraqwqrOqtmq7Kr/qxGrI6s3q0urV6tjq3ariaubq66rwKvSq+Wr+awMrB+sMqxErFesa6x+rJGso6y3rMqs3KzvrUKtVa1nrXqtjK2erbCtwq3VriyuPq5QrmOudq6Krpyur67CrtWu4K7yrwWvEa8jrzevQ69Pr2Kvbq+Br5Ovpq+6r82v2a/rr/6wELAcsC6wQrBUsGCwcrCEsJewq7C/sRWxKLE6sU2xYLFzsYWxmLGssbixzLHgsfOyB7IcsiSyLLI0sjyyRLJMslSyXLJksmyydLJ8soSyjLKgsrSyx7Lasu2y/7MTsxuzI7MrszOzO7NPs2KzdbOIs5uzr7PCtCe0L7RDtEu0U7RmtHm0gbSJtJG0mbSstLS0vLTEtMy01LTctOS07LT0tPy1D7UXtR+1aLVwtXi1i7Wetaa1rrXCtcq13bXvtgK2FbYotju2T7Zjtna2iLaQtpi2pLa3tr+20rbltvq3D7citzW3SLdbt2O3a7d/t5O3n7ert7630bfkt/e3/7gHuA+4Irg1uD24ULhjuHe4iriSuJq4rbi/uNO427juuQK5FrkquT25ULliuXa5irmeubG5ubnBudW56Ln8ug+6Iro0uki6W7pvuoO6l7qqur660rrauu67ArsVuyi7PLtPu2O7druKu527sbvEu+G7/bwRvCS8OLxLvF+8cryGvJm8trzTvOe8+70OvSG9NL1GvVq9bb2BvZS9qL27vc+94r3/vhu+Lr5BvlW+ab59vpG+pL63vsu+3r7yvwW/Gb8sv0C/U79wv4y/n7+yv8W/2L/rv/7AEcAjwDfAS8BfwHPAhsCZwKzAv8DSwOXA+MELwR7BMMFEwVjBbMGAwZPBpsG5wcvB6MH7wg7CIcI0wkfCWsJtwoDCiMLLww3DMsNXw5jD28QLxEDEeMSvxLfEy8TTxNvE48TrxPPE+8UDxQvFE8UmxTnFTMVfxXPFh8Wbxa/Fw8XXxevF/8YTxifGO8ZPxlvGb8aDxpfGq8a/xtPG58b7xw7HIcc1x0nHXcdxx4XHmcetx8HH1cfox/vID8gjyDfIS8hfyHPIh8iayKzIwMjUyOjI/MkQySTJOMlEyVDJXMloyXTJgMmMyZTJnMmkyazJtMm8ycTJzMnUydzJ5MnsyfTJ/MoQyiPKNspJylHKWcptynXKiMqbyqPKq8qzyrvKzsrWyt7K5sruyvbK/ssGyw7Lisu+zBHMGcwlzDjMSsxSzF7MccyEzJDMo8y2zMrM1szpzPzND80izS7NOs1OAAAABgBkAAADKAWwAAMABwALAA8AEwAXAABBFSE1MxEjESERIxETFSE1AQEjAREBMwEDCf12GzYCxDYX/XYCiv2vOgJR/a86AlEFsDY2+lAFsPpQBbD6hjY2BVz6jAV0+owFdPqMAAIAM//wAhwFsAADAA8AE0AJAgIHDQtyAAJyACsr3c4vMDFBAyMTAzQ2NzYWFxQGIwYmAhzJy5vwTjk4TQFOOThNBbD7/QQD+r47SwEBRzk5TAFGAAIAnQP4ArwGAAAFAAsADLMJAwsFAC8zzTIwMUEHAyMTNyEHAyMTNwGZF1uKOxcBzRdciTwWBgCV/o0BdJSV/o0BfIwABAAyAAAE3AWwAAMABwALAA8AI0ARBAAFDQ4OAAoJCQACAnIAEnIAKysROS8zETkvMzIRMzAxcwEzATMBMwEBITchAyE3IYICAKb9/9UCAaT+AAIf/A4bA/O3/A0bA/MFsPpQBbD6UAN1m/2KmwADAEH/LARJBpkAAwAHAD0ANkAcBAc6OggrECMEFC81NQYvDXIBAh8fFBoaAxQFcgArzTMvETMSOTkrzTMvERIXOTMSOTkwMUEDIxMDAyMTATYmJicuAjc+AhceAwcjNi4CJyYGBgcGFhYXHgIHDgInLgM3MwYeAhcWNjYDSDCXMHsqlisBWggxWzVlp10ICIjVfWiWXykF6gIKIkU4QWM9BwgxXTZkpV0ICpDfgWmhbDQF7AMRLVA6Q3BJBpn+1QEr+Z/+9AEMAUpBWj8WK3Cke4G5YgMCSoCqYC1fUTMBAjVgP0NYPRgrcqR5iLhcAgJEfKlmNGBLKwEBMV8AAAUAtf/oBTgFyAARACMANQBHAEsAI0ARSTJLBTtEKTIXDiAFBXIyDXIAKysyxDIQxDIzETMRMzAxUzc+AhceAgcHDgInLgI3BwYWFhcWNjY3NzYmJicmBgYBNz4CFx4CBwcOAicuAjcHBhYWFxY2Njc3NiYmJyYGBgEBJwG6BglZjltXfD8GBglYjlpWfUCyCQMTMiwtQygHCgMSMiwuRCkBaQYIWo5aV3w/BQYJV49aVn1AsggCEjIrL0MoBgoCEjIsLkQpAVj8kXcDcARLTFiLTgICUIhUTViJTQICT4ehUCVHLQEBLEkpTiZILwEBLUn8VU1Yik4CAlCHVE5YiU4CAlCHolElRi8BAixKKk8mSC4BASxJA0n7mE4EZwABACn/6gSeBccAQgAkQBQjEgAPIgEGGjAwKxEROxNyBxoDcgArMisyLzIyLxEXOTAxQSU2Njc2JiciBgYHBhYWFwEhAS4CNz4CFx4CBw4CBwUOAgcGFhYXFj4CNzMOAgcGBgcGBicuAjc+AgF8ARA2VAcGRjkzTDAGByY+HAId/wD+RixWNwYIbbNyWZNUBQRBZTn+syRCLgYIKlpAaK2DUQ3JCj5uTgkRClbhdHbAbAgHZpMDGakjWUM6SwEzUi82aF8q/NQClUCNmVJwrF4DAk+MXUp3YCfeGkRQLj9iOgMDW5u8XGi7o0UIEwlMUAIDYbN9YZVzAAEAkQP+AZUGAAAFAAixAwUAL8YwMUEHAyMTNwGVF1KbPRQGAIv+iQGBgQAAAQBo/jEDFwZfABcACLEGEwAvLzAxUzc2EhI2NxcOAwcHBgYWFhcHJiYCAnkDFV+a2o8kaptsQxMDDw4ZWFg3fJNEBwI7EZIBOAEg6EGNT83r/H4VZvr930yDTPQBIQEoAAAB/5T+MAJLBl0AFwAIsRMGAC8vMDFBBwYCAgYHJz4DNzc2NiYmJzcWFhISAjoCFWGc3ZEkaZttQxMEDg4bV1c5e5VHCQJVEZP+yP7e5kGHUM7t/n4WZPn+4EuDTPL+3v7ZAAEAaAJOA6oFsQAOABRACg0BBwQEDgwGAnIAK8QyFzkwMVMTJTcFEzMDJRcFEwcDA4z5/uNOARsvq0wBNBf+vJuRgeACxQEOWZ14AWD+pXKvW/7vXwEj/ukAAAIAPACSBCsEtgADAAcAELUHBwMDBgIAL8YzEMYvMDFBByE3AQMjEwQrJfw2JgKeuOS4Ax7Z2QGY+9wEJAAAAf+P/rgBFQDoAAoACLEEAAAvzTAxZQcGBgcnPgI3NwEVHRJ+XXwhPC0LIOirdclHTTBeZjq1AAABAEACDgJlAs4AAwAIsQMCAC8zMDFBByE3AmUi/f0hAs7AwAABAC7/8gFCAP8ACwAKswMJC3IAKzIwMXcmNjc2FhUWBgcGJi8BUDo6TwFQOzhQdDtOAQFJOjtNAQFIAAAB/37/gwN5BbAAAwAJsgACAQAvPzAxQQEjAQN5/MfCAzkFsPnTBi0AAgBf/+gEOAXIABcALwATQAkrBh8SBXIGDXIAKysyETMwMUEHDgMnLgQ3Nz4DFx4EARM2Ni4CJyYOAgcDBgYeAhcWPgIELSUSSoHEi2qPWCgECyMSTIHEiWqRVykE/uEuBQkHIUY7UmxDIwotBQkGIEY8Um1BJANS7Xfkt2sEAkyAobJX7nfitWgEAkp9oLH+mAE2KmhoWTkCBEt7jkD+yylpbFs7AwNMfpEAAAEA8QAAA3kFtQAGAAy1BgRyAQxyACsrMDFBAyMTBTclA3n368z+jiUCQQW1+ksEknnRywABAA0AAAQ8BccAHwAZQAwQEAwVBXIDHx8CDHIAKzIRMysyMi8wMWUHITcBPgI3NiYmJyYGBgcHPgIXHgIHDgMHAQPfHvxMGwISM3FXCwcgUUJRdUUK6QuR54p3vGYLB0hrejn+lcDArgH9MXaGSzxmQAEDSn5LAYvTdAICXLB9VJaHeDb+pQAAAgAm/+oEOAXHABwAOwAqQBYbHB4fBAAAHR0SMy8vKQ1yDQ0JEgVyACsyMi8rMi8yETkvMxIXOTAxQRc+Ajc2JiYnJgYGBwc+AhceAgcOAyMnBzcXHgMHDgMnLgM3MwYWFhcWNjY3NiYmJwGigkp7UAgHJFRBQmlEC+sKkNl5esBoCQZbjaZRvggWolWbdz8GB1uSt2NdnHM8AuoDL1xDSnhLCAkwZUkDRQICNWhMQGA3AgE0Xz8BfrVfAgJgtYBciVwvATaEAQIsV4lgaKRwOAICOmqYX0FiOAICPG5LS2Y2AgAAAgANAAAEKwWwAAcACwAdQA4DBwcGAgIFCQxyCwUEcgArMisSOS85MxI5MDFBByE3ATMJAgMjEwQrIvwEFAMCy/7x/kIC+/zr/AIHwJ0DzP6Q/cgDqPpQBbAAAQBY/+gEcwWwACkAHUAOJwkJAh0ZGRMNcgUCBHIAKzIrMi8yETkvMzAxQScTIQchAzY2MzIeAgcOAycuAyczHgIXFj4CNzYuAicmBgF4wL4C/SD9ymcycztmk1ojCAlSibluXJduPgLlBCpWQ0JiRSYGBRAvUjxAaQKmMQLZzP6aHh1Qh6xdbLaGSQMBPm+XWz5kPAIBNFlwOjVkUC8CASwAAQBd/+kEDgW6ADYAG0ANDiwYIiIsAwAEciwNcgArKzIROS8zETMwMUEzByMmDgIHBwYeAhcWPgI3Ni4CJyYGBgcnPgMXHgMHDgMnLgM3NzYSNiQDqSMUDHbCk14RHwYFJE5DP2JFKAYFCylLO0d4VBBXD0xzl1tjilUgCAlTiLdtc6RkJgwNGH3NARsFusUBSoq9ceYzeG1IAgI1W243MGdYNwIBQW5CH1WTbjwDAlSKqVdpuI1OAwJkpMhnZKkBJ+F/AAEAhgAABJsFsAAGABNACQEFBQYEcgMMcgArKzIRMzAxQQcBIQEhNwSbFv0D/v4C+f0qHwWwkPrgBPDAAAQAN//pBEIFxwAQACAAMABAACFAEA09PSUtFRUENS0Fch0EDXIAKzIrMhI5LxI5MxI5MDFBDgInLgI3PgMXHgIHNiYmJyYGBgcGFhYXFjY2AQ4CJy4CNz4CFx4CBzYmJicmBgYHBhYWFxY2NgPiCpPlg3nCawkHXJKyXXLDcfEHJ1dDSnVKCAcnWERKdEkBSQiP1nNqtmoHCIfWfXW0YPUFIEs8QmY8BwYeTD1CZT4BlYrAYgMCYbWBY5tpNQICXq9uP2lCAQJDdUZBZz0BAj9xAuB6rlsDAlmjcoK7YQMCYLCBN2A9AQE+aj83YT0BAT9rAAABAIz/9gQsBccAOAAbQA0AOBYhITgMKwVyOAxyACsrMhE5LzMRMzAxdzMWPgI3NzYuAicmDgIHBh4CFxY+AjcXDgMnLgM3PgMXHgMHBw4EByPhD3e8jFgRIwYEIktDPmFEJwUFCidJOzhhTDQLVglKd5dVZIxVIQcJU4e4bnihWh0LCxJVh7zwlBu9AUF8tHP8MHtwTAEDOl9yNjBnWzoCASlKXjMcUZd2RQICVIqqWGi9kVEDAmuszmZXifXJklAB//8AJ//yAdAEUwQmABL5AAAHABIAjgNU////n/64Ab0EUwQnABIAewNUAAYAEBAAAAIAMwCtA8cEUgAEAAkAFkAMAQMHBgAECAUIAgkCAC8vEhc5MDFTAQcBNyUFBzcB6wJiKP0OGgNP/V/EHAN0ApH+/uIBdJSm/CamAXMAAAIAYAFkBBgD0gADAAcADrUGBxIDAhAAPzM/MzAxQQchNwEHITcEGCP8tCMDAyT8tSID0sbG/ljGxgACAC0AogPXBEgABAAJABVACwUIBAAGAwEHAgkCAC8vEhc5MDFBATcBBwUlNwcBAxb9kycDBxv8nAKuzR78eAJpAQDf/oyVqfsrpv6MAAACAJP/8gPaBccAIAAsABtADQEBJCQqC3IREQ0WA3IAKzIyLysyETMvMDFBBz4CNz4CNzYmJicmBgYHBz4CFx4CBw4CBwYGATQ2NzYWFRYGBwYmAhfWCC9UPy1aQwkGFkE4Olk5C+sNgcp5cqtZCgddhkQ+Qf7LTTk5TQFOOjdNAa0CU4ZyNiZRYj8yVTQCATBWNwF8rlkCA1uodV+VezgxeP52OkwBAUc5OkoBAUYAAAIALv46BqkFkQBBAGgAJ0ASEgUFR1ITcmFkZAtdXR0dPCkwAC8zLzMRMy8zMxEzKzIyETMwMUEOAycuAzcTMwMGBhYWFxY+Ajc2NC4CJyYOAwcGBh4CFxY2NxcGBicuAwI3NhI2NiQXHgMSBQYGFhYXFj4CNxcOAycuAzc+BBcWFhcHJiYnJg4CBpIQSXeob0ZdMw0Kj66OBQYKJiZJaUYqChQ0crmGh+m9kWAYFQEzcbiFWKpQHFDDXaDsnlQOGBt2segBGaCc5ppTEfv/BgsKLTIuSTkqD0IXRFlyRlVjKwEMDjtZdpVZVYhDZSNWM1F2UDECDl/Do2IDAjthdT0COf3HG0I9KQIDUoOMN3Lav5JUAgNZntHtem/cw5lYAQEmI4czJQECZK/nAQyPkwEa9LhmAgJirOP++/YhXFk/AgIxTlUiVzpyXDYCA1eFlkFLopZ4RQIBPTJ1JCgCAlGDlQAAA/+jAAAEqwWwAAQACQANAClAFAQHBwoNDQYACwwMAggDAnIFAghyACsyKzIROS8zOTkzETMyETMwMUEBIQEzEwM3MwEDByE3Ayj9hf72AxCrVM4PnwEZsiP8/iME4fsfBbD6UAT8tPpQAhzHxwACACb//wS3BbAAGQAwAClAFBkpJgInJwEmJg4MDwJyHBsbDghyACsyETMrMhE5LzMzETMSOTkwMUEhNwUyNjY3NiYmJycDIxMFHgMHDgIHAyE3BTI2Njc2JiYnJTcFFx4CBw4CArf+jB4BLUeAWAsJL2JC+Nr2/QHRXaZ9QwcIeLlm0/4/kAE4S4BVCwkiWEb+4CIBWipeh0MGC5zyApK3AS1fTUhWJwEB+xgFsAECK1qRaXCVTwr9MMcBNGlNRGM3AwG3AUUJWZJflsBbAAEAX//oBQoFxwAnABVAChkVEANyJAAFCXIAK8wzK8wzMDFBNwYGBCcuAzc3PgMXHgIXJzQmJicmDgIHBwYUFhYXFjY2A7bwGK3+/JyPwm4jEREUaqvslZnRcAXzL2xeZpRlOg0SCilpYGSPXQHZA5zhdwQDeMXyfXmG+sRvAwN/4JQBVoZOAwNUkK9WfEimlGEDBEaGAAIAJgAABNkFsAAaAB4AG0ANAgEBHQ4PDx4Cch0IcgArKzIRMxEzETMwMWEhNwUyNjY3NzYuAiclNwUeAwcHDgIEAwMjEwHQ/sMlAR+Tz3sVCgsLPnxn/rUjAS+S1YYzEAoVfMT+/1D99v3HAobgh1BVqY1XAwHIAQNxv/aHTpP9umcFsPpQBbAAAAQAJgAABLwFsAADAAcACwAPAB1ADgsKCgYPDgcCcgMCBghyACsyMisyMhE5LzMwMWUHITcBAyMTAQchNwEHITcD6CP9ESIBIf32/QLTIv1yIwNTI/0WJMfHxwTp+lAFsP2gxMQCYMjIAAADACYAAASpBbAAAwAHAAsAG0ANBwYGAgoLCwMCcgIIcgArKzIRMxE5LzMwMUEDIxMBByE3AQchNwIZ/fb9Ascj/YEjAz4j/TAkBbD6UAWw/YPHxwJ9yMgAAQBm/+sFFwXHACsAG0ANKyoqBRkVEANyJAUJcgArMivMMxI5LzMwMUEDDgInLgM3Nz4DFx4CFyMuAicmDgIHBwYeAhcWNjY3EyE3BOZZPrnQX5TMeCkRDxNpq+6ak9B1Cu0HN2xTaZdmPA0PCgY1dWQ1Zl4qNf7aIQLo/dNQWyUBAnfG94Rki/3FcAMCcc6QT3ZDAwRYk7JYaE+sll4CAQ8nIwEhuwAAAwAmAAAFhQWwAAMABwALABtADQkGCAMCAgYHAnIGCHIAKysROS8zMhEzMDFBByE3EwMjEyEDIxMEYSP9ECOo/fb9BGL98/wDUMfHAmD6UAWw+lAFsAABADcAAAIpBbAAAwAMtQACcgEIcgArKzAxQQMjEwIp/fX9BbD6UAWwAAABAAT/6ARdBbAAEwATQAkQDAwHCXICAnIAKysyLzIwMUETMwMOAicuAjczBhYWFxY2NgK7rvSuE43gjYa7XQf2BR1QSUxvQwG0A/z8BYrQcwIDa8OGQmpBAgJHdwAAAwAmAAAFcgWwAAMACQANABxAEAYHCwUMCAYCBAMCcgoCCHIAKzIrMhIXOTAxQQMjEyEBARMBAQMBNwECGf32/QRP/Uf+dwEBGAHuyf6gvQG2BbD6UAWw/T/+mQEMASMB+fpQAryi/KIAAAIAJgAAA8AFsAADAAcAFUAKAwICBgcCcgYIcgArKxEzETMwMWUHITcBAyMTA8Aj/TkjASD99v3Hx8cE6fpQBbAAAAMAJgAABs4FsAAGAAsAEAAbQA0CBw4FCwhyDAQABwJyACsyMjIrMjIROTAxQTMTATMBIwEzAwMjATMDIxMBi9HVAlrk/Oiu/nrQhVP1BdbS/fVXBbD7nwRh+lAFsPwr/iUFsPpQAfAAAQAmAAAFhgWwAAkAF0ALAwgFCQcCcgIFCHIAKzIrMhI5OTAxQQMjAQMjEzMBEwWG/e7+N7b2/e4ByrcFsPpQBB374wWw++EEHwACAGL/6QUiBccAFQArABNACScGHBEDcgYJcgArKzIRMzAxQQcGAgYGJy4DNzc2EjY2Fx4DBTc2LgInJg4CBwcGHgIXFj4CBRIKFGut8JmSyHEmEAsUbK7wmJPHcST+8AsJAi5tZGeZaD0MCwoDLm5iaZhoPQMCT4r+/8t0AwN8zPmAT4kBAMt0AwN7zPjSU0urmWIEBFmWtFdTSqyaZQMEWpa0AAEAJgAABPoFsAAXABdACwIBAQ4MDwJyDghyACsrMhE5LzMwMUElNwUyNjY3NiYmJyUDIxMFHgIHDgICrP6CIwFjU4tbCwssZEz+z9r2/QILh9RxDA2l/gIeAccBOXJYSnFBAwH7GAWwAQNtyI2dzWIAAAMAXv8DBR4FxwADABkALwAZQAwgFQNyACsrAwoJcgIALysyMhEzKzIwMWUBBwEBBwYCBgYnLgM3NzYSNjYXHgMFNzYuAicmDgIHBwYeAhcWPgIDKgFKq/68AokLE2uu8JiTyHElEAoUbK7xl5PHciT+7wsJAS5uY2iYaD4MCwkCLm5jaJlnPML+x4YBNgLJT4r+/sp0AwN8zPmAUIgBAMt0AwN7y/nSU0urmWIEBFmWtFdTSqyaZQMEWpa0AAACACYAAATVBbAAGAAdACNAEhsaCQMMDAsLABwZGAhyFgACcgArMisyMhI5LzMSFzkwMUEFHgIHDgIHByE3BTI2Njc2JiYnJQMjIQM3ExUBIwHnhdNzDAllo2dR/jEhAURQiFoLCixkSv7z2vYDLdv16wWwAQNevJB0o3AlJMcBO3FSTGo5AgH7GAKOAf1/DgABACb/6gS9BcYAOQAfQA8KJg82MTErCXIYFBQPA3IAKzIvMisyLzIROTkwMUE2LgInLgM3PgMXHgIHIzYmJicmBgYHBh4CFx4DBw4DJy4DNxcGHgIzFjY2A1AJKEteLkyUd0IGCGegvl6F0HYF9AYxaE1FgFkLCC1QXChRlXQ+Bwlmnr5hZ7eKSwT0BCFGZT9EgVsBfjtRNyYRG0pmi11pm2YxAgNsxohMbT0BAi1eSjRMNCQOHE1qkWFrm2IuAgE+d6ptAUBjQiICKlsAAAIAnQAABSUFsAADAAcAFUAKAAMDBgcCcgEIcgArKzIyETMwMUEDIxMhByE3A2r89P0CriP7myMFsPpQBbDIyAABAFj/6AUxBbAAFQATQAkBEQYLAnIGCXIAKysRMzIwMUEzAw4CJy4CNxMzAwYWFhcWNjY3BDz1phel/56V2msSpvSlCiZqW2GPWA4FsPw1neZ6AwN94ZcDzfwyVIdSAgNLjFwAAgCaAAAFfwWwAAQACQAXQAsABggBCQJyAwgIcgArMisyEjk5MDFBASEBIwMTFyMBAkACKQEW/SK+RLkIsv7sARUEm/pQBbD7T/8FsAAABAC1AAAHOgWwAAUACgAPABUAG0ANEAwBCgJyExIOBAkIcgArMjIyMisyMjIwMUEBMwMBIxMTAyMDAQEzASMDEwMjAxMByAHFlj3+IZ06Nh6jZAQBAYz4/damD2cHmHQaAVIEXv7S+34FsPuU/rwFsPuuBFL6UAWw+4j+yASYARgAAAH/wAAABUYFsAALABpADgcECgEECQMLAnIGCQhyACsyKzISFzkwMUETASEBASEDASEBAQHJ2AF+ASf92wE//vDe/nj+1gIy/skFsP3vAhH9I/0tAhz95ALqAsYAAQChAAAFUAWwAAgAF0AMBAcBAwYDCAJyBghyACsrMhIXOTAxQRMBIQEDIxMBAabOAcABHP18W/dg/scFsP1LArX8XP30AiUDiwAD/+UAAATrBbAAAwAJAA0AH0APBAwMCQ0CcgcDAwICBghyACsyETMRMysyMhEzMDFlByE3AQEjNwEzIwchNwQnI/wqIwR9+8OsHgQ+qlsj/Fcjx8fHBEP69qsFBcjIAAAB//D+ugK0Bo8ABwAOtAMGAgcGAC8vMxEzMDFBByMDMwchAQK0Hp//oB3+dQE5Bo+6+aC7B9UAAAEAq/+DAscFsAADAAmyAQIAAC8/MDFFATMBAeb+xeEBO30GLfnTAAAB/3r+ugJABo8ABwAOtAUEAAEEAC8vMxEzMDFTNyEBITczE5YeAYz+x/5zHaH+BdW6+Cu7BmAAAAIARALZAzEFsAAEAAkAFkAJCAcHBgAFAgMCAD/NMjk5MxEzMDFBASMBMxEDJzMTAiD+9NABoZFoAoKjBL/+GgLX/SkB/tn9KQAAAf95/0QDEQAAAAMACLECAwAvMzAxYQchNwMRIfyJIby8AAEAzwTTAlkGAAADAAqyA4ACAC8azTAxQRMjAwHLjrTWBgD+0wEsAAACABz/6QPRBFAAGwA6AClAFSssHiceOjoPJzELchgZCnIJBQ8HcgArMjIrMisyEjkvMxESOTkwMWUTNiYmJyYGBgcHPgMXHgIHAwYGFwcHJjQTByciDgIHBhYWFxY2NjcXDgMnLgI3PgMzAohSBhpFODJYPQrrBlmJn0xuqlkLTwkHEwLpD3UYnDBlWDwHBR9ALDtzVRA/Fk9oe0FalFYFBWGZtlnZAgc0VDEBASNEMQFVf1MnAQJapHT+Hjl3NxIBNW8B75UBEixLOC1BJgEBMFk6bD1mSigBAk+OXWmNUyQAAwAQ/+gEEQYAAAQAGgAvABlADiEWB3IrCwtyBApyAAByACsrKzIrMjAxQTMDByMBBw4DJy4DNzc+AxceAwc3Ni4CJyYOAgcHBhYWFxY+AgEb7OU71wP3Ag1Ddat0Z4lOHAQIEUt4p2twjEkT+AMGAR5LRj5kTDINHAMoXEtLaUMmBgD62dkCLRVkx6RhAwJinLdYRF29nV0DA2WgvnAWM3hsRQIDLU9mN7dDfFECA0JsggAAAQA3/+oD5gRRACcAGUAMHRkZFAdyBAQACQtyACsyMi8rMi8yMDFlFjY2NzcOAicuAzc3PgMXHgIHJzQmJicmDgIHBwYeAgHgO2JBDd8Nictxc6NkJwoEDFOLvnd4rlwB3SVPP0ppRScHBAUDIk+rAS5WOAF0rF0CAlqYwWgkb8aZVgMCard1AThhPQICPmp/PiM1eWpEAAADADj/6ASHBgAABAAaAC8AGUANIQQEFgtyKwsHcgEAcgArKzIrMi8yMDFlEzMBIwE3PgMXHgMHBw4DJy4DNwcGHgIXFjY2Nzc2LgInJg4CArnh7f711P2ZAg1Fd611ZohNHAUIEEx5p2trjEwW+QIGAh9LRE97UhEcAxMwTzhKa0Uo7gUS+gACCRVkyKZiAwNknrdXRFy8nFwDBGWhu3AVNHZrRgMDTn5HtzJiUDMBA0JuggABADr/6wPwBFEAKwAfQBBnEwEGExISABkLB3IkAAtyACsyKzIROS8zX10wMUUuAzc3PgMXHgMHByE3BTc2JiYnJg4CBwcGHgIXFjY3Fw4CAfZvq3AyCAQLVI3AdnGcXB8LDvzUHAI9BAkfUkVLa0YnCAQGEjRcRFWLOXQuh50UAlOPu2opbcufXAMCWpW8ZWetARU/cEgCAkJwgz4oO3RfOwICSzx7RVorAAIAXgAAA1sGGQARABUAFUALFBUGcg0GAXIBCnIAKysyKzIwMWEjEz4CFxYWFwcmJiciBgYHFwchNwFO7MoObLB2JEgjFxYtFzlXNwnIIP2cIASicqlcAQEKCLwFBgEsTzhosLAAAAP/+f5RBEIEUQATACkAPgAbQA8wJQtyOhoHcg4GD3IABnIAKysyKzIrMjAxQTMDDgInLgInNxYWFxY2NjcTATc+AxceAwcHDgMnLgM3BwYeAhcWNjY3NzYuAicmDgIDatizFJPokEiMeCt7LnxNVIJTDYz9FgMMSHmvdWqJSxoFCBBMeadsa45OGfgCBgQiTkNRfVMRHAQUMVA5S21JKgQ6++WP0G8EAStQO4w+SAICQXhSAzj+uBZkyaVgAgNinLhaRF28m1wDA2WgvHAVNXZqRQIETH5JtzNjUDEBA0JuggACAA0AAAPyBgAAAwAaABdADBECFgoHcgMAcgIKcgArKysyETMwMUEBIwETIz4DFx4DBwMjEzYmJicmDgICA/716wELH0oNRXambVl3RBYJdO12BhREQUZrSy4GAPoABgD8RV67mVoDAkJxkVH9SQK6O145AQI4YHYAAAIAIAAAAgoF2AADAA8AELcHDQMGcgIKcgArK84yMDFBAyMTEyY2NzYWFRYGBwYmAce867whAU45N08BTzg3TgQ6+8YEOgEYOkoBAUU5OkgBAUMAAAL/Av5GAgEF2AARAB0AE0AJDQYPchUbAAZyACvOMisyMDFTMwMOAicmJic3FhYzMjY2NxMmNjc2FhUUBgcGJtftyA1bm20jRSIVFisWL0IoB+cBTjg4T044N08EOvtoaJ1XAgEKCLwECCZELQWwOkoBAUU5OkgBAUMAAwARAAAETgYAAAMACQANAB1AEQYHCwUMCAYCCQYDAHIKAgpyACsyKz8SFzkwMUEBIwkDJzcBAwE3AQII/vXsAQsDMv3h/s0c4AFgef7+qAFdBgD6AAYA/jr9+v7v3OoBUfvGAgag/VoAAAEAIAAAAhYGAAADAAy1AwByAgpyACsrMDFBASMBAhb+9esBCgYA+gAGAAAAAwAPAAAGYQRRAAQAGwAyACFAESkSAi4iIhcLAwZyCwdyAgpyACsrKxEzMxEzETMzMDFBAyMTMwMjPgMXHgMHAyMTNiYmJyYOAiUHPgMXHgMHAyMTNiYmJyYOAgGOk+y83mxODEV2qnBTcUQWB3jsdgcWRUBHaEUrAo1yC0d3pGhYeEUWCXXsdgcVREE6W0EoA1D8sAQ6/gtjvZZWAwI+aodM/S8CvTpdOAICOGB3BBler4lPAgJBcI9R/UQCvjtdNgECK0tgAAACAA0AAAPyBFEABAAbABlADRICFwsDBnILB3ICCnIAKysrETMRMzAxQQMjEzMDBz4DFx4DBwMjEzYmJicmDgIBipHsvN1vSAxHdqlvWHVBFAl07XYGFERARmpMLwNF/LsEOv4LAWG9l1gDAkJwkE/9RQK+Ol03AQI4YXYAAgA4/+kEHgRRABUAKwAQtxwRC3InBgdyACsyKzIwMVM3PgMXHgMHBw4DJy4DNwcGHgIXFj4CNzc2LgInJg4CQQMMVo/DeHSnaSoKAg1Xj8N3c6dpKvYCBQgoVEZKbkosBwIGCChURktuSisCCxdwyp1YAwJcmcNqF3DIm1cDAluYwYAXN3pqRAICQGyBPhc2e21FAgJBboIAAAP/yP5gBBAEUQAEABoALwAZQA4hFgdyKwsLcgMGcgIOcgArKysyKzIwMUEDIwEzAQcOAycuAzc3PgMXHgMHNzYuAicmDgIHBwYWFhcWPgIBkt7sAQTZAmECDEV1qnNlilIhBAoQTXqobW+MSRP4AwUDIE1EPmRMMwsfAytdSEpqRikDXPsEBdr98xVix6ViAwJdlrNYUF++nVwDA2SgvnAWM3hrRgIDLVBmN8RCd0wCAkJvgwAAAwA3/mAEOARRAAQAGgAvABlADiEWC3IrCwdyBA5yAwZyACsrKzIrMjAxQRM3MwEBNz4DFx4DBwcOAycuAzcHBh4CFxY2Njc3Ni4CJyYOAgJH4TvV/vv9DgMMRXeudWiITxwECBFNeqhrbYxMF/oDBgMgS0RRfFISHAMUMU85S2pHKf5gBRHJ+iYDqxVkyaRgAgNjnbdYRF68m1wDBGWgvW8VM3hsRwMDToFItzNjUDMBAkJvggACABEAAALyBFMABAAWABlADQYJCQUUB3IDBnICCnIAKysrMjIRMzAxQQMjEzMlByYmIyYOAgcHPgMXMhYBkpbrvN8BRhoXLxc9YkoyDjgKMViIYRcuA2D8oAQ6CeEEBgEkQ105BE+qk1sCCAABABv/6wPBBE8ANQAXQAsbAA4yKQtyFw4HcgArMisyETk5MDFBNiYmJy4DNz4DFx4CByc2JiYnJgYGBwYeAhceAgcOAycuAjUXFBYWFzI2NgKXCEBgKD15ZDoDBFB/mEtpsWsB6gInSjQtVz4HBiI8QxtVpGgFA1aGn01qu3HjL1U5L19FASs3PSAKDy9IaUlUflQoAQJOmHABMkkoAQEgQDEmMR4TBhdHf2dYf1EmAQJUn3MBOlApARs+AAIAP//tAq4FQwADABUAE0AJChELcgQCAwZyACsyLysyMDFBByE3EzMDBhYWFxY2NwcGBicuAjcCrh/9sB7Z67MECSUnFSsWESRLJlpuLAgEOrCwAQn75iM0HQEBBgO6CwoBAVGIVAAAAgBK/+gELwQ6AAQAGwAVQAoBEQZyGAMDCwtyACsyLzIrMjAxQRMzAyMTNw4DJy4DNxMzAwYeAhcWNjYCto3svN5jTgxAbqRvWXlGFwh163YDBhw3LWCBSwELAy/7xgHgA2K3kFIDA0FwkFACu/1CJ0g6IwIDUY4AAgBkAAAEEgQ6AAQACQAXQAsABggBCQZyAwgKcgArMisyEjk5MDFlATMBIwMTByMDAY4BiPz96Z0NfBCTxskDcfvGBDr8drAEOgAEAHkAAAX0BDoABQAKAA8AFQAkQBQHCwARAxQGCRAMAQoGchIOBAkKcgArMjIyKzIyMhIXOTAxZQEzAwEjExMHIwMBATMBIxMTByMDNwFYAX+eWv6CjUkrGJNgA0wBQ+z+KZwHYA2BaQP7Az/++fzNBDr8pN4EOvzIAzj7xgQ6/LLsA0vvAAH/ugAABBIEOgALABpADgcECgEECQMLBnIGCQpyACsyKzISFzkwMUETASEBEyMDASEBAwFxjgEEAQ/+Z+/1m/7x/vEBqOYEOv6bAWX94f3lAXX+iwIyAggAAAL/vP5HBBkEOgATABgAGUANFxYVAwgCGAZyDwgPcgArMisyEhc5MDFlASEBDgMjJiYnNxYWMxY2NjcTEwcHAwFXAb4BBP2GG0VYbUQfPR4RCxYLOVZBGXduAqS+ggO4+yA4ZEwrAQsHuQEDAiFEMQSX/Mr2KgRWAAP/5gAAA+QEOgADAAkADQAcQA0EDAwJDQZyBwMDBgISAD8zMxEzKzIyETMwMWUHITcBASM3ATMjByE3A18i/PEiA3j8v6EdAzylWiL9JCLAwMAC2fxnpgOUwMAAAgAt/pUDAwY/ABEAJQAZQAodCQoKHBwSEwEAAC8yLzM5LzMSOTkwMUEXBgYHBw4CBzc2Njc3PgIDBy4CNzc2JiYnNx4CBwcGFhYC3yRuZw8cD4DHdwtnbw8cEGmtbTNsijkMHAcURUILbahaCxsIBjkGP4sosm7Of51LA4sDemLOfLh9+QGJJIW4cM09YDsFiwRTnnTNQYFoAAEAIf7yAc0FsAADAAmyAAIBAC8/MDFBASMBAc3+8p4BDgWw+UIGvgAC/5j+kgJuBjwAEwAmABtACx4LCgofHwEVFAABAC8zLzMSOS8zEjk5MDFTNx4CBwcGFhYXBy4CNzc2JiYBJz4CNzc+AjcHBgYHBw4CoDVriToNGwgURUIKa6paCxsIBzn+2SRJXjMLGxCAxncLZ24QHBBorQW1hyOGuG/PPV86BYUEUJpzz0GBafj6jBtigknMgJpIA4QEemPMfbh9AAEAXAGDBMcDMgAfABtACwwAABYGgBwGEBAGAC8zLxEzGhDNMi8yMDFBNw4DJyYmJyYmJyIGBgcHPgMXFhYXFhYXMjY2BBivBjJXgFNSgTggSzE2RyYItwYyWX9TUoM2IEsyN0gqAxECSo90QwECTjkiOgE5WS0BSoxxQQECTzkhOwE8XAAAAv/m/pMBzgRPAAMADwAMswEHDQAALy/dzjAxQxMzAxMUBiMGJic0NjM2FhrKyZnuTTk4TgFOOjdN/pMEA/v9BT46TAFGOTpLAUUAAAMATf8LBAIFJgADAAcALwAlQBICASUlIQMcB3IHBAgIDAYRDXIAK83MMxI5OSvNzDMSOTkwMUEDIxMDAyMTNxY2Njc3DgInLgM3Nz4DFx4CByM2JiYnJg4CBwcGHgIDFzS7NCIzuzNyPGJDDd8Ois1xdKFhJQsEDVaNwHd4rFsC3gEkTT9Ka0coCQMHAiBNBSb+3wEh+wX+4AEggAIvVjgBdaxdAgNamMFnJHDHmFYDA2q2dTlhPgEDP2mAPiM0eWpGAAAD//cAAASiBccAAwAHACIAIUAQBgUFAR8WBXIMDQ0CAgEMcgArMhEzETMrMhE5LzMwMWEhNyEDITchJQMGBgcnPgI3Ez4CFx4CByc2JiYnJgYGA/D8ByMD+ff9QCICwf7rTAtbUrYnLhgFVRCF1IZ6q1cE7QMdST1EYTnHAZHD9f2VYJUxSBBHVyYCdIPHbgMDZbR4AThcOAIBRW8AAAYABv/lBX8E8QATACcAKwAvADMANwAOtQ8ZBSMNcgArMi8zMDFBBh4CFxY+Ajc2LgInJg4CBz4DFx4DBw4DJy4DAQcnNwEHJzcBJzcXASc3FwEqCyBRg1ZfpoNTDQsfUoFXX6aDVLsOcbTng33AfzcNDXG054N9wH83BQ/ddN78St1z3QNcqZGq/I2pkKkCV0+bfk0CA0qDpllPmn1NAwNLgaZYfuazZgIDabDbdH7ntGcDA2qx2wJ3xJbE+7nElcP+p9iB2AMx2YDYAAUALgAABK4FsQADAAcADAARABUALUAWCxAQBgcSFRUIDgMDAgIRFAxyCREEcgArMisSOS8zEjk5MhEzzjIzETMwMUEHITcBByE3JQEhASMDEwcHAwEDIxMDxxr8tBoDGhr8sxsBmgG8AQ/90Y9Rwy6P/gH8hfSFAuOVlf7dlJT4Avj8lANt/PFdAQNs/U79AgL+AAAC/+7+8gH1BbAAAwAHAA20AQIGBwIAP93ezTAxUyMTMxMDIxPJ24rbooTchP7yAxkDpf0KAvYAAAL/4P4kBKsFxwAvAGEAHkATUz8AAQUrXTUxMA8hDE9EHRQRcgArMi8zFzkwMWU3PgI3Ni4CJy4DNz4DFx4CByM2JiYnJgYGBwYeAhceAwcOAwMHDgIHBh4CFx4DBw4DJy4DNzcGHgIzFjY2NzYuAicuAzc+AwJOCz1zUAsIL1NgKU6Ucz0HBmWcuFqGy2sG6gQwYkk+flwLCSxRXytPlXVABwZil7BdCz5pRwoIKlBfLU+Vcj4GB2OauFtlrYFEA+4EIEBcOD1+XAsJMFRfJk6UdUAGBl6SqnqDAilWQjdLMyIOGkNeh2BnklwrAgJjvotHaTwBASJTRjhJLh8NGUFeh2BlhEsgAvGFAylUQTpMMSAOG0Feh2FpkVkpAQI1aJ9sATtXOR4BIlFENkgwIA0ZQl6HYGGDTiEAAgDXBOMDjQXPAAsAFwAOtAMJCQ8VAC8zMy8zMDFTNDY3NhYXFAYHBiYlJjY3NhYVFgYHBibXRzIySAFHMjFJAcEBRjMySQFIMjFIBVYzRAEBQDMzQwEBQDEzRAEBQDQzQgEBPwAAAwBc/+gF3AXHAB8AMwBHAB9ADh0EBCUlQxQNDS8vOQNyACsyETMRMy8zETMRMzAxQTcGBicuAjc3PgIXFhYHJzYmJyYGBgcHBhYWFxY2JQYeAhcWPgI3Ni4CJyYOAgc2EjYkFx4CEgcGAgYEJy4CAgOpkAy4mGyHOwgMC1+icZGcBZIFQlpJYTcJDQYSREVdYP1FEDB5u32E57d1EQ8vebt8hOi3dYUQhtUBEZyV55pDDxGF1f7vnJXnmkMCVQGWqQQDb69idWiybAIDqZABVGMCAUt3QHc4dFECBGTUc9yxawIDZrXmfXPasWsCA2az5n2VARHVegMCftP++oyU/u7WewMCf9QBBwACAL8CsgNHBcgAFwAxABq1MRoaDRYquAEAsggNAwA/MxrcxBI5LzMwMUETNiYmJyYGByc+AhceAgcDBgYXIyYTByMOAgcGFhcyNjY3Fw4CIyYmNz4CMwJqNQMMKCc4Uw+iB16LTFN0OQYxBwMInw5iFIInV0EGCD0qJlJCEAYXTV00ZH8CAnCiUANeAVYjOSQBAjI2DFNoMgIBR3tS/sYvWi5QAW1xARY1Li8mAR82JHMuQSEBdWZhaCcA//8ARgCJA6wDpwQmAZPs/gAHAZMBS//+AAIAgAF3A8YDIgADAAcAErYGBwMGAgIDAC8zETMSOS8wMUEHITcFAyMTA8Yc/NYeAxs9uj4DIqWlS/6gAWAABABc/+gF2wXHAB4ALwBDAFcANUAbHxsYIAQCAgEBDykNDTU1UwwPD0lTE3I/SQNyACsyKxI5LzMRMxEzLzMSOX0vMxIXOTAxQSM3Fz4CNzYmJicjAyMTBR4CBw4CBwYGBw4CBzcWFgcHBhYXBycmNjc3NiYlBh4CFxY+Ajc2LgInJg4CBzYSNiQXHgISBwYCBgQnLgICAzXfErApUj0ICSRFLY1wjoUBAU6FTwQCSWk1BAcEChASIRdxfwgGAwMCAY4FBAQHBjb9eQ8weLx9g+i3dRAPL3i7fYTot3WFEYXVARGcleeaQw8Qhdb+75uW55pCAo6CAQIaNi0zNRQC/TEDUAECNG5WS0wuHQIJAwcIBAJjA3R2NyE9IRIBJEklNUg8S3PcsWsDAma15n1z27BrAgNms+Z9lQER1XoDAn7T/vqMlP7u1nsCA3/TAQgAAQEEBRADsQWqAAMACLEDAgAvMzAxQQchNwOxGP1rGQWqmpoAAgDlA68C5QXHAA8AGwAPtRMMwBkEAwA/MxrMMjAxUz4CFx4CBw4CJy4CNwYWMzI2NzYmJyIG6AFNfEtFaToBA0l6S0ZrPYYGOTI4UQcGNDM4VgSwSYBOAQFLdkJJfkwBAUd1RTBJUjUvTAFUAAADABkAAQQCBP0AAwAHAAsAErcLAgMDBAoScgArLzkvMzIwMUEHITcBAyMTAQchNwQCH/yFIAJnl9GXAVUf/MUfA4PExAF6/DwDxPvFwcEAAAEAVwKbAu4FvgAcABOxHAK4AQCzCxMDcgArMhrMMjAxQQchNwE+Ajc2JiciBgcHPgIXHgIHDgIHBwLBGv2wFwE4Gj4vBwYsKjpFDLQIVolTSXxKAwNMazOfAyyRhAEBFjhAJSkxAUg1AlR6QQEBM2dQRm1YJXUAAAIAaAKOAvkFvgAZADMALEAMHBgAABoaECwpKSQQuAEAtQsLCBADcgArMjIvGhDMMi8yETkvMxI5OTAxQTM+Ajc2JiciBgcjPgIXHgIHDgIHIwc3Fx4CBw4CJy4CNTMWFhcyNjc2JiYnAWFJIkEvBgY6KCtDDrYHV4RJRIJUAgJdhz6ACA9iQXtQAgFml0pMfkyuAUAxMVoIBh02IARrAhUuJiwoASYoTWUvAQEtYE5LWCYBKFIBAiBSTVZqMQIBNmtQMiwBNDYlKRIBAAEAxwTTAs0GAAADAAqyAYAAAC8azTAxUxMhAcftARn+yATTAS3+0wAD/97+YARZBDoABAAaAB4AGUAMHQUAFgsTcgMSchwAAC8yKysyETkvMDFBMwMjEzc3DgMnLgInEzMGHgIXFj4CATMBIwNt7LzYGkZUCjBblGw/dlQLDoEEARlAO05uRyn9xuv+++oEOvvGAQjyAli8n2IDAjBcQwESL2RWNwICNF57AoT6JgAAAQB+AAAD0AWxAAwADrYDCwJyABJyACsrzTAxYSMTJy4CNz4CMwUC1MZbRIfBXw0OleyRASUCCAEDdcyHlNV0AQAAAQCfAkQBsgNQAAsACLEDCQAvMzAxUzQ2NzYWFxQGIwYmoE47Ok4BUDo5UALFO04BAUk6O00BRwAB/83+PQEvAAQAEwARtgsKgBMCABIAPzIyGswyMDF3NwcWFgcOAwc3PgI3NiYmJxmsFD5AAQFEano4ByBCMQYGLEIYAwE8DVY/RloyFQKKAhIpJSUfCQMAAQDkApsCgAWvAAYACrMGAnIBAC8rMDFBAyMTBzclAoCDsWTMGwFqBa/87AI8MZdyAAACAL4CsANwBcgAEQAjABC2Fw4gBQNyDgAvKzIRMzAxUzc+AhceAgcHDgInLgI3BwYWFhcWNjY3NzYmJicmBgbFBwpjoWpkiEAIBwthoGpkiUC1CQUSPjw9VTIICQUUPTo+VjIEE09kpF4CA2GfYFBkol0CA2Cfr1IyX0ABAj1iN1ExYD8CAjxiAP//AAUAiwN1A6gEJgGUCQAABwGUAXIAAP//AMEAAAUiBawEJwHhAFECmAAnAZUBFQAIAAcCOwKpAAD//wC1AAAFeAWvBCcBlQDrAAgAJwHhAEUCmwAHAeAC/QAA//8AlgAABaEFvgQnAZUBowAIACcCOwMoAAAABwI6AKECmwAC/9T+ewMfBFAAIQAtABhACgAAJSUrEBERDRYALzMzLz8zLzMvMDFBNw4CBw4CBwYWFhcWNjY3Nw4CJy4CNz4CNz4CARQGIwYmJzQ2NzYWAZDVBy5RPi5aQgkHGUM3PFo5C+sMgcp6cq5aCQdehkUoNR4BNU05OE4BTjk4TgKWAVKDcDcoVGVANFIxAQIyVzcCfa9bAwJZp3dgmH44IUlVAW46TAFGOTpKAQFGAAAG/40AAAdvBbAABAAIAAwAEAAUABgAMUAYABcXCAcUEwcTBxMCDQMYAnIMCwsOAghyACsyMhEzKzIyETk5Ly8RMxEzMhEzMDFBASEBMwMHITcBByE3EwMjEwEHITcBByE3BDP8f/7bBCCbHyX9KiUFfSL9OCLzwevCAqci/ZsiAxwi/TkiBQv69QWw/HrS0v6XwcEE7/pQBbD9ocHBAl/BwQACAB8AygQPBHcAAwAHAAyzBAYCAAAvLzMyMDF3JwEXAQE3AZ1+A3N9/vX9jZ0CcsucAxCc/O8DJof82wADABb/ogWQBe0AAwAbADMAF0ALAQAvCiMWA3IKCXIAKysyETMyMzAxQQEjARMHBgIGBicuBDc3NhI2NhceBAU3NjYuAicmDgIHBwYGHgIXFj4CBZD7N7EEyzUKFGqu8Jl1r3ZBEgwLFGyu8Jh1rnZCEf7zCwcDFThmTmiZZz4MCwgCFTllTmmYZz0F7fm1Bkv9FVCJ/v/LdAMCUoyzymdQiAEAy3QDAlKLs8q4UzyIgmpDAwNZlrRXUzyHg2xDAwRalrQAAgAnAAAEgQWwAAMAGQAdQA4PDg4DGQQEAwACcgMIcgArKxE5LzMROS8zMDFBMwMjASEeAgcOAiMlNwUyNjY3NiYmJycBJOz97AEwAWqBznELDKL2jP7YIQENT4lbDAktY0j4BbD6UASXA2S9iZbGYgG/ATpxUkhqOwMBAAEAHf/pBFAGGAA5ABlADSMbNggCCnIIAXIbC3IAKysrETMRMzAxQQMjEz4DFx4CBw4DBwYeAwcOAicuAic3FhYzMjY2NzYuAzc+Azc2JiYnJgYGAcO7670NTXuoaWehWAgGLjsyCQkpR0oxAwd/yHQvYV4qQS5uODVfQAkILElLMAQFLz0zBwYaPjFMXjIEUvuuBFNjp3pBAwJSmWw7YlleNzRaVldiO3ulUAEBDRwXwB4jJUs3NlpUVWM+N19ZXTguTC4CA058AAADAA7/6gZfBFEAFAAyAF4AN0AcVzMzMhdGRRQlAAMpF0UXRQ8fKQtyTD4+BQ8HcgArMjIRMysyEjk5Ly8SFzkRMxEzMhEzMDFlEzYmJicmBgYHJz4DFx4CBwMDByciBgYHBhYWMxY+AjcXDgInLgI3PgMzAS4DNzc+AxceAwcHITchNzYmJicmDgIHBwYeAhcWNjcXDgICglgFFUE5NF5ECukHWYigUHWmUAxSbxzVOXVUCQcnRywoX1pCDGErlrFUYppUBQZek65UAlpzp2krCgcNVYm9dGiXWyALFfzmHQIqBgkVS0RHa0kqCAgGDTFdSFWWSTgzg421AhczVzcCASNHNRJYf1ElAQNirXb+EQGrpAElT0EwPh4BGjFEKpZNYCoBAkyQZ2SDTSD9aAJTkbxrOmvEmVYDAlCHrmCMpx88a0UCAz1pfTw5P3VeOgICNiilKzUYAAIARv/oBEgGLQA0ADgAGUALNiAWFgEqDAtyOAEALzMrMhI5LzMzMDFBNx4CEgcHDgMnLgM3PgMXHgIVJzYuAicmDgIHBh4CFxY+Ajc3Ni4CJQEnAQF6Vqf2mDkVDBBZj8N6ZJ9sMwkJTYGxbmigXFcDJUJSKUhuTS4HBhAtTzlKbEksCQ4TJW+8Akn9tTwCSwVtwCqy+v7Rp1Vt0KZhAwNNg6xhZruRUgMEZaZmAi9GLRcBAjVedkEyZFQ1AgJEcoM9ZoXtxI4t/p11AWIAAwA+AJQEPATLAAMADwAbABO3GRMCBw0DAhIAP93GMhDGMjAxQQchNwE0Njc2FhUWBgcGJgM2Njc2FhUUBgcGJgQ8JPwmJAGbUDk5UAFQOjhQjgFOOzlQUDo5UAMYzs4BKTxMAQFHOjxKAQFG/Qw8SwEBRzo7SwEBRgADACr/dQQwBL0AAwAZAC8AGUAMIAEBFQtyKwAACgdyACsyLzIrMi8yMDFBASMBATc+AxceAwcHDgMnLgM3BwYeAhcWPgI3NzYuAicmDgIEMPyTmQNu/KcDDlmRxHlzpmYoCwIOWpHEeHOlZyj5AwUFJlNFS29MLQkCBwYmU0ZLb0wsBL36uAVI/U0XcMudWQMDXJrCaRhwyZtXAwNbl8GAFzZ5a0QCAj9sgj4XNnptRgICQG6DAAP/zf5gBBUGAAADABkALwAbQA8rCiAVB3IKC3IDAHICDnIAKysrKzIRMzAxQQEjAQEHDgMnLgM3Nz4DFx4DBzc2LgInJg4CBwcGHgIXFj4CAgz+rewBUwLrAg1EdapzZopSIQUKEE15qWxvjEkU+AMFAyBNRD5kTTILHwMYMk83SmpGKQYA+GAHoPwtFWPGpWIDAl2Ws1hQX76dXQMDZaG9bxU0d2tGAgMtUGY3xDJcSy0BA0RugwAEADf/6AUTBgAABAAaAC8AMwAdQA8hBAQWC3IzMisLB3IBAHIAKysyzjIrMi8yMDFlEzMBIwE3PgMXHgMHBw4DJy4DNwcGHgIXFjY2Nzc2LgInJg4CAQchNwK54e3+9dT9mQIMRnetdGeITRwFCBBMeadra4xMF/oCBgIfS0RPe1IRHAMTME84SmtFKAPaHf1zHe4FEvoAAggWY8mmYwMEZJ63V0RcvJxcAwRloLtxFTR2a0cCA01/R7cyYlAzAQNCboIDFKenAAQALAAABdoFsAADAAcACwAPAB9ADwMCgAcGBgoMCwJyDQoIcgArMisyETkvMxrMMjAxQQchNwEHITcTAyMTIQMjEwXaHPqrHAPhI/0QJKf99f0EYv30/ASrnp7+pcfHAmD6UAWw+lAFsAABACMAAAHKBDoAAwAMtQMGcgIKcgArKzAxQQMjEwHKvOu8BDr7xgQ6AAADACEAAASQBDoAAwAJAA0AH0APDAcHCwYGAgkDBnIKAgpyACsyKzIROS8zMxEzMDFBAyMTIQEhNzMBAwE3AQHIvOu7A7T9nP71B6MBj5n+8McBZgQ6+8YEOv112gGx+8YB4YH9ngADAB8AAAPSBbAAAwAHAAsAG0ANAgoABwYGCgsCcgoIcgArKxEzETMyETMwMUEHBTcBByE3AQMjEwK4Gv2BGwOYJP06IwEf/fX9A7KYvJr9z8fHBOn6UAWwAAACACAAAAJfBgAAAwAHABNACQIGAAcAcgYKcgArKzIRMzAxQQcFNwEBIwECXxv93BsB+P727AELA7SYu5gDB/oABgAAAAMAI/5HBXsFswADAAcAGQAdQA4VDgYHBwMIcgkFBAACcgArMjIyKzIRMy8zMDFBMwMjATcBBxMzAQ4CJyImJzcWFjMyNjY3AR/2/fUBNLUCO7X09f7+D2SqdyNFIyMYMBk0QyYHBbD6UAVEb/q5bAWw+hlwr2MCCgnCBwg3VS0AAgAR/kgD+QRRAAQAKgAZQA4cFQ9yJgsHcgMGcgIKcgArKysyKzIwMUEDIxMzAwc+AxceAwcDDgIjJiYnNxYWMxY2NjcTNi4CJyYOAgGNkeu8130jDEFvom5ceUETCXYPYqd1I0QhIRgyGDVDJQh2BgUdPjVKclE0A0X8uwQ6/gYCXb2cXQICSnuYUf0jb6tgAQkJwQcIATVTLgLcLVREKAIDNl95AAUAUP/sB40FxgAjACcAKwAvADMAM0AaLy4uJjIoMwJyKScmCHIVEhIWGQkEBwcDAAMAPzIyETM/MzMRMysyMisyMhE5LzMwMUEyFhcHJiYjJg4CBwMGHgIXFjY3BwYGJy4DNxM+AwEHITcBAyMTAQchNwEHITcDHUmSSRZEi0VbjmVBDTAJDDZrVUmRSBNGjEZ9vn0zEC8TbarfBCAi/RAjASD89v0C0yP9cyMDUyP9FiMFxg4Ixg4QAT9xlFP+zUiNc0cCAg4MxwgLAQNgpNR4ATB/2qNa+wHHxwTp+lAFsP2gxMQCYMjIAAMAP//oBs4EUgAqAEAAVgAnQBMkAABHPBMSEjxSGQsLMQdyPAtyACsrMhEzMhE5LzMRMzMRMzAxRS4DNzc+AxceAwcHITcFNzYmJicmDgIHBwYeAhcWNjcXBgYBNz4DFx4DBwcOAycuAzcHBh4CFxY+Ajc3Ni4CJyYOAgTKcKNmKgoEDFWLu3Nol10jDBb87B4CJQUKGk1ERWZGKAgFBgsrVUVVmkc9T9b7GQMNWI/DeXOlZCYKAw5YkMJ4c6RlJ/sCBgQkUEZLbkorCQIGBSVQR0ttSioUAliWvWYracaeWwMDT4WtYo6tAR08akQCAkNufjkqOHZkPwIDMiyeRjoCIBdwy51YAwJcm8JoGHDJm1cCA1yZwH8XNnlqRQIDQGyCPxY2em1GAgJBboIAAQAcAAADGgYZABEADrYNBgFyAQpyACsrMjAxYSMTPgIXFhYXByYmIyIGBgcBB+vKDmitdidNJyUXLhg4UjIJBKJxqV0BAQ0HuAYIL1M1AAABAEv/6QUtBcQALAAbQA0PAAYJCQAaIgNyAAlyACsrMhE5LzMRMzAxRS4DNzchByEHBh4CFxY+Ajc3Ni4CJyYGByc+AhceAwcHDgMCTZLOeSkSFwQDI/z5CA0VRHZVYphuQw4SDRNLimljvlweOpaaRJbfjDYTERNztfAUAm268YePwyNOiGY7AwJTjKtVfFyphU8CAigjxSUnDAEBa734jnuE98VwAAAB/0T+RgNMBhkAJwApQBUUAgIVJwZyHyIiHhsBcgsODgoHD3IAKzIyETMrMjIRMysyMhEzMDFBByMDDgInIiYnNxYWMzI2NjcTIzczNz4CFzIWFwcmJiMiBgYHBwLCG8mVDV2hcyNDISAWLhg0QCIGlqEboQ0OZ6x1KE4mJxgwGDhPLgkOBDqw/DFtqGACCwm7Bwk1Ui0Dz7BocqhdAg4IuAYGLlA1aAADAFz/6QYhBi0ACQAhADkAHUAOBQYGKSkAABwDcjUQCXIAKzIrMi8yETkRMzAxQTcOAgc3PgIDBwYCBgYnLgQ3NzYSNjYXHgQFNzY2LgInJg4CBwcGBh4CFxY+AgV5qApgs4cOU2AwZQsTa67wmHaudUMSDQsUa6/wmHWudkES/vILCAMWOGRQaJhoPQ0LCAIWOGVPaZhnPQYrAoO+aASSAlB+/SBPiv7/y3QDAlKMtMpmUIgBAMp1AwJSi7PKuFM8iIJqQgMEWZezWFI8h4NsRAIEWpa0AAADADT/6QTwBKoACQAfADUAFUAKJhsLcjEAABAHcgArMi8yKzIwMUE3DgIHNz4CATc+AxceAwcHDgMnLgM3BwYeAhcWPgI3NzYuAicmDgIEWZcJV6F6C01YKvvwAg5YksR5dKVmKAsCDlmSxHhypmYp+QIGBSZTRkpvTC0JAgcGJlJGTG9MLASoAnelVgR5AkVw/aYXcMudWAMCXJrCaRhwyZtWAgNbmMCAFzd4a0QCAj9tgT4XNnptRgICQG6DAAACAFj/6QakBgMACQAfABlADAUKCgAAFQJyGxAJcgArMisyLzIRMzAxQTcOAgc3PgIlMwMOAicuAjcTMwMGFhYXFjY2NwX/pQxtyJcOZXc9/kn1phik/p+V2msSpvSlCiZqW2GPWA4GAgGUxmcDkgJLhwv8NJ3leQMCfeGXA838MlSIUQMDTIxcAAADAEr/6AVZBJYACQAOACUAHUAOBQsLAAAbBnIiDg4VC3IAKzIvMisyLzIRMzAxQTcOAgc3PgIBEzMDIxM3DgMnLgM3EzMDBh4CFxY2NgTElQpeqn4MVF8w/f6N7LzeY00MP26kcFl4RRgIdet2BAccNy1ggkoElQF+m0oCfQIyZvzDAy/7xgHgA2K4j1IDAkJwkFACu/1CJ0g6IwIEUo4AAf8E/kcB2wQ6ABEADrYNBg9yAQZyACsrMjAxUzMDDgInJiYnNxYWMzI2Njfv7MMOYqd1I0MiIhgvGTREJgcEOvuJb6xhAQEKCbsHCTdXLQABADT/6gPaBFEAKgAZQAwRFBQAGQsLciQAB3IAKzIrMhI5LzMwMUEeAwcHDgMnLgM3NyEHJQcGFhYXFj4CNzc2LgInJgYHJzY2Ajhwo2YpCgQMVYq8cmmYXCIMFQMVH/3cBQsaTUNGZkYoCAUGCytVRFWbRz1P1wRPAlmVvWYrasadWgMCT4WtYo6uARw8akQCAkNufjkqOHVkQAIDMiydRzoAAAEA/gTeA6AGAAAIABS3BwUFBAEDgAgALxrNMjkyETMwMUETFScnBwcnAQK07Ll4sMABAS8GAP7vEQOcmwMSAQ8AAAEBCQTgA70GAwAIABK2AQaABwQCAAAvMjIyGs05MDFBFzc3FwEjAycBzHStzwH+y5TqAQYAnJsEEP7tARMQAP//AQQFEAOxBaoGBgBwAAAAAQD9BMsDcgXoAA4AELUBAQmADAUALzMazDIvMDFBNw4CJyYmNRcGFhcWNgLErgdck1mApq8DOENEUAXmAluAQgICloMBPk8BAU8AAAEBAwTiAgAF1wALAAmyAwkQAD8zMDFBNDY3NhYVFAYHBiYBA0g1NUtINjVKBVg3RgEBQjY2RQEBQAACAPoEjAKiBiYADQAZAA60FwSAEQsALzMazDIwMVM0NjYzMhYVFAYGIyImNwYWMzI2NzYmIyIG+j1lO1R3PmU7U3doBTAsMEoGBjAtMEoFTzxiOXNVPGA2blcqP0YvKkFJAAH/qP5VASAAOwAVAA60CA+AAQAALzIazDIwMXcXDgIHBhYXMjY3FwYGIyImNz4Cq3UjUj4GAxgdGCwVDSJOKVVpAgFOdjs9GTpKLx0gAQ4JjRUUaVdKcFAAAAEA3ATfA8QF8wAZACdAEwAAAQEKEkAPGkgSBYANDQ4OFwUALzMzLzMvGhDNKzIyLzMvMDFBFw4CJy4DBwYGByc+AhceAzc2NgM2jgU3ZEgmQDw+Iy8wDJIGOGRJJD88PyUuMgXzCkF3SwEBHiYcAQI+KAdAeEwBAR0mHAEBPwAAAgCuBNED6wX/AAMABwAOtAEFgAAEAC8zGs0yMDFBATMBIRMzAQHkARL1/sj9++Tu/vEE0QEu/tIBLv7SAAAC//T+bAFR/74ACwAXAA60DwmAFQMALzMazDIwMUcmNjMyFhUWBgcGJjcGFjMyNjc2JiMiBgsBa0pEYwFoSEVnYgQiHiE2BQQeHyI480tmXkZJYwEBWkkdLTQgGzE1AAAB/VYE0/7bBgAAAwAKsgOAAgAvGs0wMUETIwP+UYq00QYA/tMBLAAAAf3cBNP/6AYAAAMACrIBgAAALxrNMDFBEwUB/dzyARr+wwTTAS0B/tT///z4BN//4AXzBAcApfwcAAAAAf3VBOX/PAZ8ABQAELUUAgCACwwALzMazDIyMDFBJzc+Ajc2LgInNx4DBwYGB/6MtwsaRTcFBBwuMBAQKmtjPwECY0AE5QGQAQoeIxkbCwIBeAEOJkg6SEgLAAAC/LwE5P+wBe4AAwAHAA60BwOABAAALzIazTIwMUEjAyEBIwMz/onb8gEKAerPwP8E5AEK/vYBCgAAAfyh/pX9r/+MAAsACLEDCQAvMzAxRSY2NzYWFRYGBwYm/KIBUDc1UQFRNTVS9DlFAQFBNzlEAQFAAAEBNgTsApEGQAADAAqyAIABAC8azTAxQRMzAwE2euHGBOwBVP6sAAADAO8E4wQgBrAAAwAPABsAGUAKExkZDQGAAAAHDQAvMzMvGs0RMxEzMDFBEzMDBTQ2NzYWFRYGBwYmJSY2NzYWFRQGBwYmAkBg5LL+HUYzMUkBRzIySAI9AUYzMklGMjJJBYcBKf7XMjREAQFAMjRDAQE/MTREAQFAMzRCAQE+//8AnwJEAbIDUAYGAHgAAAABACsAAASsBbAABQAOtgIFAnIECHIAKysyMDFBByEDIxMErCP9cdr1/QWwyPsYBbAAAAP/rAAABQ8FsAAEAAkADQAbQA0GAgcDAnINDAwFAhJyACsyMhEzKzISOTAxQQEhATMTATczAScHITcDjf0o/vcDPo6i/vo5jgE0sSP8NiMFIvreBbD6UAVDbfpQx8fHAAMAXf/pBRcFxwADABsAMwAbQA0vCgMCAgojFgNyCglyACsrMhE5LzMRMzAxQQchNwUHBgIGBicuBDc3NhI2NhceBAU3NjYuAicmDgIHBwYGHgIXFj4CA6sh/lEiAw0LE2uu8Jh2rnZCEg0KFGyv8Jd1r3VCEv7yCwgCFThlT2iYaD0NCwgCFjhlT2iZZzwDOb+/N0+L/v/KdAMCUoy0ymZQiAEAy3QDAlGMs8q4UzyIgmpCAwRZlrRXUzyHg2xEAgRalrQAAAL/sgAABH0FsAAEAAkAF0ALBgACBwMCcgUCCHIAKzIrMhI5OTAxQQEhATMTAzczEwMX/av+8ALpsTKzG6jvBMP7PQWw+lAE4c/6UAAD//4AAASEBbAAAwAHAAsAG0ANAQAFBAQACAkCcgAIcgArKzIROS8zETMwMWM3IQcBNyEHATchBwIjA6kk/SwjAtsi/TgkA3okx8cCh8LCAmHIyAABACsAAAWDBbAABwATQAkCBgQHAnIGCHIAKysyETMwMUEDIxMhAyMTBYP99Nn9j9r1/QWw+lAE6PsYBbAAAAP/3AAABJ0FsAADAAcAEAAhQBAOBgYHBw8CcgwDAwICCwhyACsyETMRMysyETMRMzAxZQchNwEHITcBBwEjNwEBNzMD5iP8diMEQSP8nCMB4wL9e7kcAiP+phipx8fHBOnIyP04Ff0tnQJMAkGGAAADAFQAAAWsBbAAEwAnACsAIUAQFBUVAQApCHIfHh4KCygCcgArzTIyETMrzTIyETMwMWUnLgM3NhIkMxceAwcGBgQlFzI2Njc2LgInJyYGBgcGHgIBAyMTAxDEdsCEPgwRtgEdqcl2v4Q9DBG5/uL+ncdurGsPCBU/aUvMb61rDQkXQWsB8f31/aoCAk+PxXesAQCNAgNSk8d2rfyH0wNVnm1Hels1AwIBWaJuSHdXMwQx+lAFsAAAAgB2AAAF0QWwABkAHQAZQAwUBwcNHAhyHQENAnIAKzIyKxE5ETMwMUEzAwYCBCcnLgM3EzMDBh4CFxcWNjY3AwMjEwTb9lQbu/7euFWAyIM3D1P0UwkTQHFTU3qzbhK5/PX9BbD+ErX+9o8BAQRYnNSAAe7+EUyJa0AEAQJjsXQB7vpQBbAAAAMACgAABO8FxwAtADEANQAlQBIoEhIvKSk0EREzLjIScgYdA3IAKzIrMjIyETMzETMyETMwMUE3Ni4CJyYOAgcHBgYWFhcHLgM3Nz4DFx4DBwcOAwc3PgMBNyEHITchBwPKDggDJ11SWIBXMwoPCA0RQ0kNcp9eIA0OEWik3YiAu3MsDw4RY53Pfg9Tc0os/qMjAeEj+8ckAegjAu9oP5CAVAMDS3+YSWc9o6WAG48XjcjdZ2R847FkAwNrsd11ZHbnwoISkB12mKj9YcjIyMgAAAMAO//nBDIEUgAWACwAQQAaQA0uBjQ7Ox0SC3IoBgdyACsyKzIyETM/MDFTNz4DFx4EBwcOAycuAzcHBh4CFxY+Ajc3Ni4CJyYOAgEzAwYGFhYXFjY3FwYGJy4DNxNEAwxDda53UXFIJgwEBw9FcJ9paoxNF/kCBgMgS0JCaE8zDQkDDClPP01rRCYCKc2BAgUDFBgGDgcGGjgfPVAtDwJeAfQVZNCtaAMDRnOKkkI+WLueXwMDXpm2cBYzcWRAAwI5YXQ5RjN1a0YCA0p4iQHz/QcPLS0fAgEEAbQPDAEBOVtrNAI+AAAC/+b+dQRpBccAHAA6AB5ADjUAJicnHBwwHQMTCQtyACsyPzM5LzMSOTkvMDFBFx4CBw4CJy4DNzcGFhYXFjY2NzYmJicnEx4CBw4CIyM3MzI2Njc2JiYnJgYGBwMjEz4CAi97c7VhCQqC14hXkmk3BF0FSnxGTX5QCggfUUV8wnO1ZQkIjM9ubxRBRmtCCAYiTTpEbkcL+Ov3EpPcAy0BA1qqeofMcAMCOWmQWBtNZjMCAUJ1S0BuRwMBAyACXKt4eaJThDdlRjdcNwICQGw/+lcFqH7BawADAHX+XwQwBDoAAwAIAA0AGUAOCAwDBAoFAQUNBnIBDnIAKysyEhc5MDFlAyMTNwEzASMTEwcjAwIbXOxchgF+/f3QpgduCZm4bf3yAg6hAyz7xgQ6/LfxBDoAAAIANf/pBBwGJAAsAEIAGUANFCg+AwQzHgtyCwQBcgArMisyEhc5MDFBPgIXFhYXByYmByIGBgcGHgIXHgIHBw4DJy4DNzc+Ajc1LgIDBwYeAhcWPgI3NzYuAicmDgIBOgV9vWVEgEATN3c+KVU/CQYZMTcXeqdMDgIOWZHCdXGkaCsJAwxnqHAwQyIHAwUGJ1FFSG1LLQkDBQ4sTDlIb00uBORwjkIBAR0WvxcgARg2LSEwJhsKNZ/XhxZwxJdTAwJWk7toF26/hBUNG01g/W4WNndpQwICP2qAPhUxb2ZJCwZAbYEAAgAo/+oEBARPAB8APwAfQA8AIT4+AwMWNSsHcgwWC3IAKzIrMhI5LzMSOTkwMUEXByciBgYHBh4CFxY2Njc3DgMnLgM3PgMFJy4DNz4DFx4DFSc2JiYnIgYGBwYeAhcXAe3zFq84b1EJBSA7RiE1alAN7AhbjaVTSJmBTQMEVoaaAS7VOYBvRAIDW5CmTUuOc0PoATZVLTBnTQgGGjM/HssCTAF3ARtFQSg4IhABASBHOAFcg1IlAgEjSnlXV3FAGkcBAh08Y0ddfUogAgIoUHlTATM+HAEdQjcmMhwNAQEAAAIAZv58BD4FsAAoACwAFUAJFQIsLCkpAAJyACsyLzMRMy8wMUEzBwEOAgcGHgIXFx4CBw4CByc+Ajc2JiYnJy4DNz4CNwMhByEDsI4b/mVFflkPBQYYLiNcPW9DBAVKazV2GDImBgYcLxdIRGpIHwcMbZxQ6AL2If0KBbCY/l1FlKllJT0wJQ4fFTBVTUR6ZSRoGTdAIx0kFgcWFUBXdUp228BRAdi+AAIAEf5hA/sEUQAEABwAF0AMGAsDBnICCnILB3IRAC8rKysRMzAxQQMjEzMDBz4DFx4DBwMjEzYuAicmDgIBjpLrvNdwPgtDdahvW3lDFAi77LsGCCA+MkpuTjADRfy7BDr+BwRivZtaAgJDcJJT+6wEVC1NPCMBAzdhegADAG7/6QRCBccAGQAnADYAHUAQDShqMCBqMDANABpqAA0LcgArLysSOS8rKzAxQR4EBwcOBCcuBDc3PgQXJg4CBwchNzY2LgIDFj4DNzchBwYGHgICxmmPVykECyAONld8qW1pj1cpBAsgDjZXfahgUW1DJQoHAcgIBQgGIUT8QV5DLBoHB/43BgYIByBFBcQDToKksVbWXLungUgDA0+FpbNU1126pX9GwQRQgZE+NDYoaW1ePPumAzVccXQxLi8oam9hPgABAGb/9QIABDoAEQAOtgYNC3IABnIAKysyMDFTMwMGFhYXMjY3BwYGIy4CN/HshAQJJiYVLBURJEsmWm4sCAQ6/PgjNB4CBgK5CwoCUYlUAAL/p//wA9oF+wAEACYAHkAQABsEAwQCIAUAcg8WFgIKcgArMi8zKzISFzkwMUEBIQEXATIeAhcTHgIXFjYzBwYGIy4CJwMDLgInJgYHNzY2Air+hv73Ak+o/v4sSzwrC+MFER0aCRMJDhUqFkVfOxCZPggYJx4OHA4NHj4C5P0cBFIIAbAWLEAr+8oXKh0CAQHABAMBNV5BAxIBBRspGAEBAQG0BwgAAAIAQv52BB4FxgAeAEYAGUALHxEPDyEhMwUbA3IAKzIvOS8zEjk5MDFBBy4CIyIGBgcGHgIXFwcnLgM3PgMXMhYWARcHJyIGBgcGFhYXFx4CBw4CByc+Ajc2JiYnJy4DNz4DBB42IkdIJTp+XgoIIkNUK5wag0ifjFQEBlyTsFgxXVv+05wYfWKvdgwJLl4+XjxwRQUES2szexg2KAYFHS8WN1eRZjIHCne32AWYugoSCh9LRDNEJxEBAYwBAR5Gd1tkjlopAQsU/cUBiAE7g2pFZ0USGREyWElEeWQkZho4PyYcIhQIERtHZJFje6dkLQAAAwBh//UE5QQ6AAMABwAZABlADQ4VC3IGCnIJBwIDBnIAKzIyMisrMjAxQQchNyEDIxMhMwMGFhYXMjY3BwYGIy4CNwTlIfudIQGUvOy8Ai7shAQKJSUWKhUOJUslW24sBwQ6urr7xgQ6/PgjNB4BBQO6CwoCUYlUAAAB/8v+YAQPBFEALwAXQAweKQYRC3IGB3IADnIAKysrETMyMDFDEz4DFx4DBwcOAycuAyceAhceAhcWPgI3NzY2JiYnJg4CBwM1qhBUhrh0d5xWGwsCDEV1qHBohkshAQ0cHA8DKVpNR2hGKAkCBQIbS0ZDYUEnCKj+YAPiacCTUwMDZaXJZhVivptaAwNdlbFXChQUCUN1SAMCO2R6PBUygXhQAwJCbHo2/CwAAQA2/okD4wRRAC0ADrUbCQUAB3IAK8wzLzAxQR4CByM2JiYnJg4CBwcGFhYXHgIHDgIHJz4CNzYmJicuAjc3PgMCa3mqVQTeBB9KQEhpSCoIBAotaFA+dEoEA0tqM3gYMyYFBBktF4CwVA0EDFaOvgROAmm2dzpgPQIDQGx+PCNVgVsbFjFYUEJ6ZSRoGDg/JhwkFAgqiMiNI23HmlcAAAMAN//pBK8EQgAYAC4AMgATQAkqBjIGch8UC3IAKzIrMjIwMVM3PgMXHgIXHgIHBw4DJy4DNwcGHgIXFj4CNzc2LgInJg4CAQchN0EDDVmRwncdMzUhUWkvBwMLWo+9b3OkZSb4AwUFJFFHSWtIKQgCBgYjT0NIbEssA3gi/dMiAgoXbMeaVAYPMTMPJ42sVhdrvI9OAgJbmsB/FzZ5akUDAkJsgT0XNHNmQgICO2d8AdvAwAAAAgBs/+wEJAQ6AAMAFQAVQAoFChECAwZyEQtyACsrMhEzMjAxQQchNyEzAwYWFhcWNjcXBgYnLgI3BCQh/GkhAUrrhAMEHiIZLhcSKFUvX20pCAQ6vr788B02JAEBDQeyFRIBAlqSVwABAFf/5wPuBDwAHgATQAkQBxkABnIZC3IAKysRMzIwMVMzAwYGFhYXFj4CNzYCJxcWFgYHDgMnLgM3z+ttBAESMi9Jb00uCBMKIOAaFQMLD1KKxH5jiVIeCQQ6/WciU000AQRPfow6gAEGfQJRrK9VcdaqYQMCRnqfWwAAAQAx/iIFXgRFAC8AGUAMKwUFGRgGciIPC3IAAC8rMisyMhEzMDFBEz4CFx4DBw4DJy4DNz4CNxcOAgcGHgIXFjY2NzYuAicGBgcDAZrdCVOCUG2pcjELEIHK+4qJ3ZlDEA1OfleMNVQ6DA8gV4tbe9SNDwYIKFA+HiEI4/4iBRxPdkIBAlmWvmeQ25JJAgJRmduMar6gPpIydoVIWpNpOgICWa9/NXNkQwUJFh/63QACAD/+JQVfBDwAHgAiABVACiEHGQtyIBAABnIAKzIyKzIvMDFTMwMGHgIXFj4CNzYmJxceAgcOAycuAzcBMwEjouxSDBhKgl9jq4RWEBMTI9sfGwIKE33E/ZKN25A7EQJU6/7y7AQ6/hJYl3FAAgI4bZ1ie/53Ak6mqFOT5ZxPAgJVn+KPAen56wACAFL/5wYEBD0AHgA/ABlADAEXCgopNh8GcjYLcgArKxEzMxEzMjAxQRceAgcOAycuAzcTMwMGBhYWFxY+Ajc2AiUXBgIHBgYeAhcWPgI3EzMDDgMnLgQ3PgIE3t0jIgQLDEBxrXtnfT0MCjOsNAUDFDo5RFo1HAcRF/wq8EOCFgUJARc2MD5VNh4GNaszDTtlmmxdf00jAwkMO1kEPQNRq69WZ9OwaAMDY5uzUgE3/ronaGNDAgNWgogxggEHeQF9/v+OHl9pXT4CBDthbzABRv7JWrmaXAMCSXiVoEthtakAAQBS/+gEjgXKADgAHUANHR4XNgQEDSMXC3ItDQAvMysyETkvMxDMMjAxQQcGBicuAjc3PgIXHgMHAw4CJy4DNxM3AwYWFhcWNjY3EzY2JiYnIgYGBwcGFhYXMjYEjgc4dTuY8oUMAQtnqnBVd0gaCGcTiNuQYptnLAsu5C4JIFdMTmg6C2cDAQ4kIi47IAYBCEaLYjl0AyDGEhUBAYHnnhRrrGQDAkNvjU39honWeAMCS3+oYAEhAf7dRHhOAgNOfUQCixs7NCMCL0opFmGNTQISAAADAG4AAAUXBcgAAwAWACkAHkAOEAkJHyYDchoYFgMDAhIAPzMRMzMzKzIyETMwMUEDIxM3AT4CFzIWFwcmJiMiBgYHAScDEwcHAy4CJyYGByc2NjMeAgK+efR4eAEeH1JuSyVGIzgNGw0cKiMO/mOoEHsFm68GFiAWDxwPEB4/IUNfPgK3/UkCtzUCAT5kOQIQDbsCBRUkFf1PAQL4/d/XAQKxFCATAQEEA8EMDAE3XgAAAwBU/+cGhQQ9AAMAJABFACFAECYFAxwPLzwLcjwPAgMGcg8ALysyETkrMhEzETMzMDFBByE3JRceAgcOBCcuAzc3MwcGBhYWFxY+Azc2AiUXBgIHDgIWFhcWPgI3NzMHDgMnLgQ3PgIGhSD5+R8ESdwkIgMKCilGZ5FgZ4A/DgoirCMFAhc9OjRJMB8QBREY/EXwQ4MWAwsCEi8sP1c4HwgirCINPGidbFx5Rh8BCA07WQQ6srIDA1Csr1ZPp5t7RgMCYpuzVNTjKWljQgEBOl9tZiSCAQd5AX3+/44aXWlgQAMGO2JwMOPUXLmaWgIDTHqXnUdhtakAAAMAlP/uBYAFsAAbAB8AIwAhQBEfIxgFBQ4iIx4IciMCcg4JcgArKysRMxI5LzMRMzAxQTc+AhceAgcOAwc3PgM3NiYmJyYGBhMDIxMhByE3AjIQOXp9PYrWcQwLZaDKbxFBblQ2CAkwak4/eni1/fT8AtYj+7QjAm7MFB8QAQJmxpJ5rW44Ar8BIUFjQk9uPAECER4DLvpQBbDIyAAAAgBh/+kFDQXHAAMALAAdQA4DAgIJHRkUA3IpBAkJcgArzDMrzDMSOS8zMDFBByE3ATcGBgQnLgM3Nz4DFx4CFyMuAicmDgIHBwYGHgIXFjY2A2kj/b4jApDyGa3+/JuQwm4jEBIUaazrlpnScAXzAi5rXmeVZDwNEQgEEzRhTWSQXQNAx8f+mQKb4XYDA3fF8313iPnFbwMDgOCTV4ZPAwRWka9WezqDf2lCAgNGiAAD/8b//wfuBbAAEQAVAC4AJ0ATJCEhCS4WFgAKCQhyFBUVIwACcgArMjIRMysyEjkvMxEzETMwMUEzAw4EJyM3Nz4ENwEHITcBBR4CBw4DJyETMwMFPgI3NiYmJyUB7vSfFDNMd658SRojU3FILBwLA10k/WAjArIBVIbScgwKZKDHbP3m/fXbAQtTjFsLCi1jSv6PBbD9LWPQvZZYAcYCBlaEnJo/ApPIyP3uAQNuyYxzsHg9AQWw+xcCAUN8VUhwQQMBAAADACv//wf0BbAAAwAHACAAI0ARCCAgAwICBhUHAnIWExMGCHIAKzIRMysyETkvMzMvMzAxQQchNxMDIxMBBR4CBw4DJyETMwMFPgI3NiYmJyUEXSP9FiOq/fX9A64BVILUdAsJZZ/Hav3m/PXZAQlRi10LCjFlR/6QA0HGxgJv+lAFsP3UAQRmwYtyrnQ6AQWw+xsBAT11U0doOgMBAAMAnQAABYsFsAAVABkAHQAdQA4ZARgGEREYHB0CchgIcgArKzIROS8zETMyMDFhIxM2JiYnJg4CBzc+AxceAgcBAyMTIQchNwUv9EwKJGdYMmFjYC8ULV5fYTCR12sR/ab99v0C1SP7wSMBxlZ0PAIBCA4WDsoOFgwGAQJnzZoD7PpQBbDIyAACACL+mQV6BbAABwALABdACwkGAQJyCwMDAAhyACsyEjkrMi8wMXMTMwMhEzMDJQMjEyL99doCcNv1/f54X/VfBbD7FwTp+lC7/d4CIgACACP//wSkBbAABQAeACFAEAYeHgQCExMFAnIUEREECHIAKzIRMysyETMROS8zMDFBByEDIxMTBR4CBw4DJyETMwMFMjY2NzYmJiclBKQj/XDa9PxIAVWD1HUMCWSgxmv95vz22wEKUotbDAkwZUf+jgWwyPsYBbD90QEDZMCMc610OgEFsPsXAT52VUlnNwMBAAb/iP6aBZAFsAADAAcACwAPABMAJQAnQBMLEREgAwMHHghyDg8PEBQCcgkFAC8zKzIyETMrMjIRMzIRMzAxZQchNzMDIxMhAyMTEwchNyEDIxMhMwMOBQcjNxc+AzcEpyP77iM9YelWBYZv6GFoI/1zIwNH/PT9/Xr4ihEvQFJogk6RHT5MbUwzE8fHx/3TAi391AIsBOnIyPpQBbD9s0yprqSQbR/HAjubsLtcAAX/pAAAB+gFsAAFAAkADQATABcAJ0ATFhEJAwMAAA8PFAwICHIOCgECcgArMjIrMjIyLzMRMxEzMzMwMUEBIRMhBycBIQEBAyMTIQEhNzMBAwM3AQJJ/oIBHe4BCEjV/iL+wQJ8ArH89P0ECv1q/qwE8QG92f7LAVcCdgM6/Z/ZFf11Az8CcfpQBbD8xtkCYfpQAqCi/L4AAgAf/+oEpAXGAB4APgAjQBEAIAICPj4VNDAqCXIPCxUDcgArMswrzDMSOS8zEjk5MDFBJzcXMjY2NzYmJicmBgYHBz4DFx4DBw4DJRceAwcOAycuAzcXBhYWFxY2Njc2LgInJwKT0xmcS4NXCgk7bUFEeFUN9AljmrlfX6uERggHY5mx/ui2VqR/RQcHbKnLZmGqgEYD8wM8aURMkWgLBxk8WDe3ArkBjwEwZVBHXC4BATBfRQFnm2YzAQIxY5hqYYxbLFgBAilXi2RypmsyAgI4ap5nAUZjNgMBM2pRO1U3HAIBAAABACUAAAV8BbAACQAXQAsFAAYCCAJyBAYIcgArMisyEjk5MDFBATMDIxMBIxMzAWIDHvz99bT84/z99AGoBAj6UAQJ+/cFsAAD/8X//gV+BbAAAwAHABkAGUAMEgURCHICAwMECAJyACsyMhEzKzIyMDFBByE3IQMjEyEzAw4EJyM3Nz4ENwTDI/1aIwNh/fX9/WP1nxUyTXave0kaI1RxSCsbDQWwyMj6UAWw/S1i0L+YVgLHAgZVhJuaQAAAAgCZ/+gFVgWwABMAGAAaQA4XFgAVBAgCGAJyDwgJcgArMisyEhc5MDFBASEBDgMjIiYnNxYWMzI2NjcDExcHAQI4AgYBGP1KI1BheU0bNxsWEigUNEs4FwHaGLf+xgIFA6v7Vz9pTikEA8cDBCZDKwRt/M/7CAQ0AAADAFX/xAYMBewAFQApAC0AG0AMHwwMKxYAACsqA3IrAC8rETkvMxE5LzMwMUEFHgMHDgMjJS4DNz4DFyYGBgcGHgIXBTI2Njc2LgInEwEjAQL/ARV7wYI6DQ1xteaD/ut8wYI6DQ1xtOd8ebdvDwkUQG9RARh4tXAOChM/bVMh/u/sAREFKAIDXqDTd4PcoFkCAluf0HiE3aRayAFruHZJhmpAAwJotnNKiGxCAwGO+dgGKAACACH+oQV5BbAABQANABlADAwHAnIFBAQJBghyAQAvKzIyETMrMjAxZQMjEyM3BRMzAyETMwMFTnLjPn8j/Eb99doCcdr1/Mn92AFfyckFsPsXBOn6UAAAAgDEAAAFXQWwABUAGQAXQAsXBhERGAACchgIcgArKxE5LzMyMDFBMwMGFhYXFj4CNwcOAycuAjcBMwMjASH0SgokZlgxYmFgLxMuXWFgMJLXahEDk/X99QWw/jxXdDwCAQcPFg3JDxYNBgECaM6aAcP6UAABACgAAAdlBbAACwAZQAwFCQYCAgsAAnILCHIAKysRMxEzMjIwMUEzAyETMwMhEzMDIQEl9doBs9r12wGv2vX9+cAFsPsXBOn7FwTp+lAAAAIAKP6hB2UFsAAFABEAHUAODAUICAQRCHIPCwYCcgEALysyMisyMhEzMzAxZQMjEyM3ATMDIRMzAyETMwMhBzFw2T1/Ifte9doBs9r12wGv2vX9+cC//eIBX78E8fsXBOn7FwTp+lAAAgCH//8FmwWwAAMAHAAdQA4REg8EHBwPAAECcg8IcgArKzIROS8zETMyMDFTNyEHEwUeAgcOAychEzMDBT4CNzYmJiclhyIB3iEUAVSD1XUMCWSgxmz95v312wEKU4pbDAkvZkb+jgTwwMD+kQEDZMCMc610OgEFsPsXAgE/dlRJZzcDAQACACz//wa5BbAAGAAcAB1ADhoZDgsAGBgLDAJyCwhyACsrETkvMxEzMjMwMUEFHgIHDgMnIRMzAwUyNjY3NiYmJyUBAyMTAXABVYPUdAsKZJ/GbP3m/PbaAQlTilwLCjBmR/6PBWz99PwDgQEDZMCMc610OgEFsPsXAT52VUlnNwMBAvb6UAWwAAABACT//wSIBbAAGAAZQAwOCwAYGAsMAnILCHIAKysROS8zETMwMUEFHgIHDgMnIRMzAwUyNjY3NiYmJyUBZwFVg9R1DAlkoMZr/eb89tsBClKLWwwJMGVH/o4DgQEDZMCMc610OgEFsPsXAT52VUlnNwMBAAIASP/pBPIFxwADACwAHUAOAwICHgkFKQlyGRUeA3IAKzLMK8wzEjkvMzAxQQchNwEzHgIXFj4CNzc2Ni4CJyYGBgcHNjYkFx4DBwcOAycuAgRXI/2wI/5B8gMyb19mkmI5DREIAxU3ZE1kjloW8xuqAQCckMRyJBASE2io6ZOY2HYDO8jI/qBZg0sDA1eSr1V7OoR/aEADA0uKXAGa5HoDAnjG8354hvjEcAMDet0ABAAz/+kHAgXHAAMABwAdADMAI0ATLwcGBg4kGQMCcgIIchkDcg4JcgArKysrETMSOS8zMjAxQQMjEwEHITcFBwYCBgYnLgM3NzYSNjYXHgMFNzYuAicmDgIHBwYeAhcWPgICJf31/QGkGP6VFwWKCxNrrfCZk8dxJhALFGyu8JiTx3Ek/vALCQIubWNomWg9DAsKAi5uY2mYZz0FsPpQBbD9ccDAH0+K/v/LdAMDfMz5gE+JAQDLdAMDe8z40lNLq5liBARZlrRXU0qsmmUDBFqWtAAC/6cAAATMBbEAFgAaAB9ADxcWFgAACQwMGQhyDgkCcgArMisyERI5LzMSOTAxQSEnJiY3PgIzBQMjEycGBgcGFhYXBQUBIQEDhf6GWImRDQyk/JEB6fz22tmAsxAJJ2FMAUT+z/5F/uwBvwIiKjrLm5zIYQH6UAToAgGFg0pwQQMBUP1uApIAAwBC/+gEVgYVABYALwBEABlADDoiMBcXIgABciILcgArKxE5LzMRMzAxQTcOAwcOAw8CNzYSNjY3PgIDHgMHBw4DJy4DNzc+Ajc+AhcmBgYHBwYeAhcWPgI3NzYuAgOavAZAa4tRdp1iMwsJvQkQTonRkjFpUfdpll4mCAIMV4+/c3SlZyoIAgQhKA03kbc6Wn1ICgIGCyhTREdqSSsHAgUNLFMGFAFcdkgqDxZwocVtRBFEhwEH4Z0cChg4/iMDU4uvYBZuwJFQAwJamcBpFhovLRZbnF3AAliQUBY3cmE+AQI5YXg9FjZsVzcAAAIAI///BA8EOgAbADMALUAWAgEbKykpKAEoASgPDRAGch4dHQ8KcgArMhEzKzIROTkvLxEzEjk5ETMwMUEhNwU+Ajc2LgIjJwMjEwUeAwcOAwcDITcFPgI3NiYmJyU3BRceAgcOAwJo/qYcAQgvZUwJBhszQB/Mm+q7AZtGkXhHBARCaHk6jf5YfgEwMV5DCQcmSSn+5iABNDVGekoCBFKFngHPqgECEzk4JzEaCwH8hAQ6AQEcQHBWRV88IQX98L4BARk+NzE4GAEBqgFCCTppTlx7Rx8AAAEAFgAAA4gEOgAFAA62AgUGcgQKcgArKzIwMUEHIQMjEwOIIv42m+u8BDrA/IYEOgAAA/+F/r4EYwQ6AA8AFQAdACFAEB0YCRYWGxMICnIVEBAABnIAKzIRMysyMjIRMy8zMDFBMwMOAwcjNzc+AzcTIQMjEyEBIQMjEyEDIwGK7E4UR3GkclAaHzpZQCwPigKcvOuZ/k/+PAR4Wus4/WE47wQ6/oRt2sKSI70BN3J7i1ABffvGA279Uv3+AUL+vgAABf+wAAAGgQQ6AAUACQANABMAFwAwQBcVEBAAFhERCQMDBgAAFAcMEhMNDQIGcgArMhEzPzMzOS8zMxEzMxEzETMRMzAxQQEhEzMHJwEhAQEDIxMhASE3MwEDAzcBAb/+zAETq9ZEpf6n/tMB5QJfvOu8A3j97v7ZB8MBQJzAwwEUAbUChf5W2xr+MQJfAdv7xgQ6/XvbAar7xgHhgf2eAAIAF//qA70EUAAdADsAI0ARAB8CAjs7FDIuKQtyDwsUB3IAKzLMK8wzEjkvMxI5OTAxQSc3Fz4CNzYmJicmBgYHBz4CFx4DBw4DJRceAwcOAycuAjcXBhYWFzI2Njc2JiYnJwIq2BaWMVc8BwYkRSowVz8L7AmIxWhHi28/BARMdYn+9LtCf2U6AwVXiqNOabNtAugBL1EyM2BDCAcjSi+xAgQBegEBHD41LzweAQEgQDABcZFGAgEjSXRTS2pCH0cBAR0+aE1bgFAkAgJNlnABNEUjASJINjU+GwEBAAEAFwAABEUEOgAJABdACwUABgIIBnIEBgpyACsyKzISOTkwMUEBMwMjEwEjEzMBQgIQ87zsff3v8rzrAW8Cy/vGAsv9NQQ6AAMAIgAABH4EOgADAAkADQAfQA8MBwcLBgYCCQMGcgoCCnIAKzIrMhE5LzMzETMwMUEDIxMhASE3MwEDAzcBAci767wDoP22/u4HugFmmvDGAVEEOvvGBDr9ddoBsfvGAeGB/Z4AAAP/vP//BEUEOgADAAcAGQAZQAwSBREKcgIDAwQIBnIAKzIyETMrMjIwMUEHITchAyMTITMDDgQnIzc3PgQ3A48i/f4iAri867z9+Ot3Dyk+XodeURcjO1E0IRMIBDrAwPvGBDr96k2djm8+AcUCBD1cbW0tAAADACMAAAWbBDoABgAKAA4AG0ANAAkMBgEKBnILAwkKcgArMjIrMjIyEjkwMUEBMwEjAzMjAyMTARMzAwKtAcLW/ZGh98I3vOq7AxW87LwBJgMU+8YEOvvGBDr7xgQ6+8YAAAMAFwAABEMEOgADAAcACwAbQA0JBggDAgIGBwZyBgpyACsrETkvMzIRMzAxQQchNxMDIxMhAyMTA0wh/d4ik7zrvANwvOy8Ana+vgHE+8YEOvvGBDoAAwAXAAAERQQ6AAMABwALABlADAkGCAIDAwcGcgYKcgArKzIRMzIRMzAxQQchNzMDIxMhAyMTA40h/fgiOLzrvANyvO28BDrAwPvGBDr7xgQ6AAIAVAAABAwEOgADAAcAELcDBgcGcgIKcgArKzIyMDFBAyMTIQchNwK0vOy8AkQh/GkhBDr7xgQ6vr4AAAUAOf5gBVIGAAAWACsAQgBWAFoAJ0AVJwYGSR4REVIzPgtyMwdyWAByVw5yACsrKysRMzMRMzIyETMwMUEHDgMnLgM3Ez4DFx4EBzc2Ni4CJyYGBgcDHgIzFj4CJTc+BBceAwcDDgMnLgM3BwYGFhYXFjY2NxMuAicmDgITATMBBUoCDD5toW9Pc0siAzANQGWJV1l3RyAE9AIEBQgfPzY6Vz0RSgcqRzFFYUAk++sCCipIaI9cUXJFHQIuDUBkh1Zpg0QR+AIFAhhBPzhWPhNHBSRENkpjPiBxAVPs/q0CFhVev55fAwNDcIlIATtNl3pHAgJKepSaWhYkYGVWNwIDLFAx/lQuPiMCQGd5LBVMpJl5RgMCTHqRSP7TTJN1RQMDYpu1axYscGdEAgIlRzABoDBMLgEBTHqI/B0HoPhgAAACABf+vwRFBDoABwANABtADQYBAw0MDAAKcgEGcgkALysrMhEzMhEzMDFzEzMDIRMzAzcDIxMjNxe865oBmprtvLBs2Dh+IQQ6/IYDevvGv/4AAUG/AAIAbQAABBgEOwADABcAF0ALDxQJCQEABnIBCnIAKysROS8zMjAxQQMjExMHDgInLgI3EzMDBhYWFxY2NgQYu+y8LhIybnE4frpbDjXrNQkbTUY6cW4EOvvGBDr+IcEXHQ4BAWC2gwFI/rdCXzUCAREgAAEAFwAABi0EOgALABlADAUJBgICCwAGcgsKcgArKxEzETMyMjAxUzMDIRMzAyETMwMh0+uaAUya7JoBS5vrvPqmBDr8hgN6/IYDevvGAAIAEf6/BkIEOgAFABEAHUAODAUICAQRCnIPCwYGcgEALysyMisyMhEzMzAxZQMjEyM3ATMDIRMzAyETMwMhBkJr2Th+Ifv065sBTJvsmgFLmuy8+qa//gABQb8De/yGA3r8hgN6+8YAAgBR//8EqwQ6AAMAHAAdQA4REg8cBAQPAgMGcg8KcgArKzIROS8zETMyMDFBByE3AQUeAgcOAychEzMDFz4CNzYmJiclAm4i/gUiAZEBJ2uxZAgGU4alV/4gvO2b2DpjRAkHIEcy/rwEOsDA/qgBBFKddGCOXy4BBDr8hQEBKVE9NEsqAgEAAAIAI///BfgEOgAYABwAHUAOGhkOCxgAAAsMBnILCnIAKysROS8zETMyMzAxQQUeAgcOAychEzMDFz4CNzYmJiclAQMjEwE9ASdssWQIBlOGpVf+Ibvrmtk6Y0QJBx9IMv68BNy87LwC4gEDU510X49fLgEEOvyFAQEpUT00SyoCAQIY+8YEOgABACP//wPlBDoAGAAZQAwOCxgAAAsMBnILCnIAKysROS8zETMwMUEFHgIHDgMnIRMzAxc+Ajc2JiYnJQE9ASdssWQIBlOGpVf+Ibvrmtk6Y0QJBx9IMv68AuIBA1OddF+PXy4BBDr8hQEBKVE9NEsqAgEAAAIAIP/oA8wEUQAnACsAHUAOKyoqCR0ZFAtyBAAJB3IAKzLMK8wzEjkvMzAxQSYGBgcHPgIXHgMHBw4DJy4CNxcGFhYXFj4CNzc2LgITByE3Aig6Xj8L3gqHzHBxoGElCgQOVY2/dnWrWQXfBCFLPEhqSCkIBAYDIU3THf5VHQOPAjBVOAF0rF4DAlyav2YkbceZWAMCbLd0ATdhPgMCQGt/OyM0d2xH/uijowAEACX/6AYJBFIAAwAHAB0AMwAjQBMkAwICGS8OBwZyBgpyDgdyGQtyACsrKysRMxI5LzMyMDFBByE3AQMjEwE3PgMXHgMHBw4DJy4DNwcGHgIXFj4CNzc2LgInJg4CAuwi/cwhARW867wBSQMOWJHEeXSmZigLAw1aksR4cqVnKPkCBgUmUkZKcEwtCQMGBidSR0tuTCwChcDAAbX7xgQ6/dAXcMudWQMDXJrCaRhwyZtXAwNbmMCAFzZ5akUCAj9sgT8XNntsRgICQG6DAAL/vQAABBgEOwADAB0AHUAOARISExMDCQQGcgcDCnIAKzIrMhI5LzMSOTAxQSEBIQEFAyMTJw4CBwYWFhcFByUuAzc+AwFCAQL+ev7/AokB0rzrm8w1Y0cJByJEKwFDH/7ZSYlpOgUFVYekAhH97wQ7AfvGA3wBASZLOC9AIwIBsAEBK1F7UV2GVykABAAN/kcD8QYAABEAFQAsADAAHUAQMC8oHAdyFQByFApyDQYPcgArMisrKzLMMjAxQTMDDgInIiYnNxYWMzI2NjcDASMBEyM+AxceAwcDIxM2JiYnJg4CAQchNwLY7VcOYad2I0MiIBgzGTVDJAd+/vXrAQsfSg1FdqZsWndEFQh07XUHFENBR2tLLgGpHf1zHQHO/fVurGIBCgm8CAk4Vy0GPvoABgD8RV67mVoDAkJxkVH9SQK6O145AgE3YHcC1aamAAIAOf/pA+wEUQADACsAG0ANBA0DAgINIRgHcg0LcgArKzIROS8zETMwMUEHITcBFjY2NzcOAicuAzc3PgMXHgIHIzQmJicmDgIHBwYeAgKUHP41HAEUO2JDDt0Mis5xc6JhJAoEDlWNwHd5q1oB3SNPPkprRygJAwYBIE4CaKOj/kMCL1Y4AXStXQIDWpjBZyRwxplWAwJrtnU5YT0CAz9pgD4jNHlqRgAAA/+4//8GSQQ6ABEAFQAuACVAEhYuLgAkISEKCQpyFBUVIwAGcgArMjIRMysyMhEzETkvMzAxQTMDDgQnIzc3PgQ3AQchNwEFHgIHDgMnIRMzAxc+Ajc2JiYnJQFQ6ncPKD5eh15TGSI7UTQhFAgCiiL+DSICGQEmZ7NpBwVVhqRV/iG87JvYN2RECQgmSi7+vQQ6/epNnY5vPgHFAgQ8XW1tLQHPwMD+hwEDS5VyXopZKwEEOvyEAQEnTTsyQR8CAQADABf//wZaBDoAAwAHACAAJUASFRYTEwYIAyADAgIGBwZyBgpyACsrETkvMzMRMxEzETMyMDFBByE3EwMjEwEFHgIHDgMnIRMzAxc+Ajc2JiYnJQNTIv3fIY2867wC3gEnZ7JpBwZUhqRU/iC87JvYOGNFCAgmSS/+vQKcvr4BnvvGBDr+hwEDSpVzXYpaKwEEOvyEAQEnTTsyQR8CAQAAAwANAAAD8gYAAAMAGgAeABlADR4dFgoHcgMAchECCnIAKzIrKzLMMjAxQQEjARMjPgMXHgMHAyMTNiYmJyYOAgEHITcCA/716wELH0oNRXambVl3RBYJdO12BhREQUZrSy4Bux79cx4GAPoABgD8RV67mVoDAkJxkVH9SQK6O145AQI4YHYC3qenAAACABf+mwRFBDoAAwALABdACwAGBgsKcgkEBnICAC8rMisyEjkwMWUzAyMDMwMhEzMDIQF97GDrS+uaAZqa7bz8jsD92wWf/IYDevvGAAACAF//5gcwBbAAGAAwABtADiwfCXIUBwlyJhoOAAJyACsyMjIrMisyMDFBMwMOAycuAzcTMwMGHgIXFjY2NwEzAw4CJy4DNxMzAwYeAhcWNjY3A6jIrw1Kd6VoYphjKguu9a0FBiA/NU1tQAsDQfWuE4bZjWGLViAKrsetBgkjRDVMaD0KBbD8AWGnfkQCAkZ7pGAEAPv/LFdKLgIDRXZGBAD8AYjQcwMDS36hWgQA+/8tWUgtAgNGd0QAAAIAR//nBioEOgAYADEAG0AOLB8LchQHC3ImGg4ABnIAKzIyMisyKzIwMUEzAw4DJy4DNxMzAwYeAhcWNjY3ATMDDgInLgM3EzMDBh4CFxY+AjcDAcByDEJslWFbhlUiCXLscgQCFjItRF02CQKv7HMQdcGDWn1JGwlywHEEAxs4LzJIMR0GBDr9WFmbdkACA0Nzl1cCqf1WIk9FLgMDQmw8Aqr9WHzCbQQCR3eVUQKp/VYmUEQrAgIoRFMqAAACACH//gPnBhcAFwAbACFAEA0KABcXChobGwoLAXIKCnIAKysROS8zETkvMxEzMDFBBR4CBw4CJyEBMwMXPgI3NiYmJyUBByE3AUIBJ26wYAgKiNN5/iABD+zu2D5mQQgIHUU2/r0B2h39WB0DAAEEWKN1gbFbAgYX+qgBATBZPzVRMAMBAqCnpwADACv/6gbkBckAAwAsADAAIEARAwICLzACci8IHRQDcikJCXIAKzIrMj8rEjkvMzAxQQchNwE3BgYEJy4DNzc+AxceAhcnLgInJg4CBwcGBh4CFxY2NgEDIxMFLCH8LyIEM/AYrf78nY7CbiMQEhRqq+yVmNJwBvQBLWxeZpVkOwwSBwUSNGFMZJBd/KT99P0DTsDA/owCnOB2AwN4xPN9eYb6xHADA4HflAFWhk8DA1WQr1Z8OYN+aUECBEeFBDP6UAWwAAADABn/6QWkBFEAAwArAC8AJEATAwICLi8Gci4KIR0YB3IIBA0LcgArMswrzDM/KxI5LzMwMUEHITcBFjY2NzcOAicuAzc3PgMXHgIHIzQmJicmDgIHBwYeAgEDIxMEZB38sB0CgDtiQw7dDIrOcHSiYSQLAw1XjMF3eKxaAtwjTz5Ka0cpCAQGAiBN/nO87LwCcaen/joCL1Y4AXWsXQIDWpnAZyRwxplWAwNqtnU5YT4BAz9pgD4jNHlqRgOO+8YEOgAABP+sAAAEiQWwAAQACQANABEAJEAREQ0MDAIABgYHAwJyDwUFAggAPzMRMysyMhEzETkvMzMwMUEBIQEzEwM3MxMDByE3BQMjEwNB/XP++AL0j2TKOpD2oCD9KyAB0F7YXgUW+uoFsPpQBTh4+lACZri4Sv3kAhwABP+dAAADugQ6AAQACQANABEAHkAOEQ0MDAEHAwZyEAUFAQoAPzMRMysyEjkvMzMwMUEBIwEzEwMDMxMDByE3BQMjEwIP/on7Ali6JYwYquBxHv11HgGPRLVEAsL9PgQ6+8YC2AFi+8YBxampQP57AYUABgA+AAAGkwWwAAMACAANABEAFQAZADRAGgkUFAYGGBURERAQAwICGAgWAnIECgoLBwJyACsyMhEzKz85LzMzETMRMxEzETMRMzAxQQchNwEBIQEzEwM3MxMDByE3BQMjEwEDIxMDcCH9zyAEDf1z/vcC9Y9jyTqQ9qAh/SshAc9e2F7+G/31/QJmt7cCsfrpBbD6UAU4ePpQAma4uEr95AIcA5T6UAWwAAAGAC0AAAWCBDoAAwAIAA0AEQAVABkALkAXFREREBADAgIYGQZyCRQUBgYYCgsHBnIAKzI/MxEzETMrEjkvMzMRMxEzMDFBByE3JQEjATMTAwMzEwMHITcFAyMTAQMjEwL0Hv3SHgMS/oj7Ali6JYwYquBxHv12HgGOQ7VD/nW87LwBxaio/f0+BDr7xgLZAWH7xgHFqalA/nsBhQK1+8YEOgAFABIAAAZfBbEAFgAaAB8AJAAoADRAGRkaGiQbHx8jIxMoBgYTEwEcJAJyDScnAQgAPzMRMysyEjkvMxEzETMRMxEzETMRMzAxYSMTPgIzBR4CBwMjEzYmJiclIgYHAQchNxMBIQEjAwEHIwEBAyMTAQf1OhaW8JsB1pDNYxA69ToKHl1S/iuHnxUEOiP9BSO3AgsBHf13kqIBGDKM/qUCV4X0hgFhoMddAQJjxpj+nwFiUW05AgR1iQRPycn9FwLp/JcDavz7ZQNp/VH8/wMBAAAFABUAAAUnBDsAFwAbACAAJQApADBAFxobGyUgJCQTKQYGExMBHSUGcg0oKAEKAD8zETMrMhI5LzMRMxEzETMRMxEzMDFhIzc+AjMFHgIHByM3NiYmJyUiBgYHAQchNxMBIQEjAxMHIwEBAyMTAQDrGhSD2JMBNYi2Ug8a7BsIDkhM/spVcEAMA4Ye/UQdtAGAAQ/+BYhlySuB/u8B/l/sYK2Tw18CA2XAiq6vRG1DAwQ6cVEDjaur/ccCOP1aAqf9r1YCpv3s/doCJgAHADcAAAiTBbEAAwAHAB4AIgAnACwAMAA8QB4hIiIkLAJyJysrGzAODhsbAwICBQcCchUvLwkJBQgAPzMRMxEzKxI5LzMzETMRMxEzETMrMjIRMzAxQQchNxMDIxMBIxM+AjMFHgIHAyMTNiYmJyUiBgcBByE3EwEhASMDAQcjAQEDIxMFASL8ayK9/fX9Agf1ORSX8psB1ZHOYhE59ToKHlxT/iqGnxUEOiP9BSO3AgwBHP12kaIBGDKM/qUCWIX2hgMnwMACifpQBbD6UAFgochcAQJixpn+nwFiUW05AgR2iARPycn9FwLp/JcDavz8ZgNp/VH8/wMBAAAHACMAAAcoBDsAAwAHAB8AIwAoAC0AMQA+QB4lIiMjLS0HKCwsGzEODhsbAwICBgcGchUwMAkJBgoAPzMRMxEzKxI5LzMzETMRMxEzETMRMxEzETMzMDFBByE3EwMjEwEjNz4CMwUeAgcHIzc2JiYnJSIGBgcBByE3EwEhASMDEwcjAQEDIxMErSD8PSDgvOu8AiLsGxSD2JMBNYm2UQ8a7RwIDkdN/spVcEAMA4Ye/UMetAGAAQ/+BohmySqB/u4B/2DrXwJhtbUB2fvGBDr7xq2Uwl8CA2XAiq6vRG1DAwQ6cVEDjaur/ccCOP1aAqf9rVQCpv3s/doCJgAD/6n+RQQyB4oAFwBAAEkAK0AUGA0MQEAAKywJRUNDQkhBgEcXAAIAPzLeGs0yOTIRMz8zEjkvMzMzMDFBBR4DBw4DIyc3FzI2Njc2JiYnJRMXHgMHDgMjJwYGBwYWFhcHLgI3PgIzFz4DNzYuAicnARc3NxcBIwM1AQ8BA1ihfUMGB2WcuFmhGIJJhFkLCTRiPf7hLX9XroxOBwhdlbpmODdeCAchOyFWSnE+BAVqpV04NmdUOAkIHUJfOZgBP3WtzwH+ypPrBbABAixbjmJoj1goAYwBLmJPQ1QpAgH+JAEBJ1SNaG2kbTYBATM8Kz0sEJMbX4NTZ3w4AgEePFg6Plg5HQEBBP6cmwQQ/u0BExAAA/+0/k0DxAYeABgAQQBKACZAEQ0ZDEFBAC1DSUZEQoBIGAAGAD8y3hrNMjIyOS8SOS8zMzMwMVMXHgMHDgMjJzcXPgI3Ni4CIyUTFx4DBw4DIycGBgcGFhYXBy4CNz4CMzMyPgI3Ni4CJycTFzc3FQEjAyfN/0WUgEwEA2KUo0apFok0b1EJBiA6Qx7+40SIQJyOWgMEWo6kTzE4ZAoGHTggVUJrPAMEZZ5WMiZXTzcICCdFUCGh+HWs0P7LlOsBBDoBAR1CcVZYcj8ZAX0BARlDPScxGwoB/r0BARM3aVVdgE0jAQIwPio8LRKKHWB+TGJ2NA8iPC4uOB0KAQEEUZybBBH+7gETEAADAGH/6QUbBccAFwAoADkAH0ASDClqMiBqMjIMABhqAANyDAlyACsrKxI5LysrMDFBHgQHBwYCBgYnLgQ3NzYSNjYXJg4CBwYGByE2NjU2LgIBFj4CNzY2NyEGFAcGHgIDL3WudkIRDQsTa67vmXWud0ISDQsUa6/wi16QZkIQAQMCAqYBAQcMNGv+4l+PZUERAgIB/VkBAQUNNWsFxAJSi7PJZ0+K/v/LdAMCUou0yWdQiQEAy3TPA0l/n1EHDAcGCwZKmIFS+8IDSH+fUQYMBQULBkiWglIAAAMANP/oBB0EUgAVACAAKwAfQBILIWonG2onJwsAFmoAB3ILC3IAKysrEjkvKyswMUEeAwcHDgMnLgM3Nz4DFyYOAgchNi4CAxY+AjchBh4CAndzpmUoCwIOWZLEeHKmZikLAg5YksRsQGNJMg8B7wEQLEy7P2VKMg7+DwIQK04ETwNcmsJpGHDJmlgDA1uYwGkXcMudWcMCL1JoNzJkUzT9HAIvU2o3MmVUNAACAKgAAAVhBcYADgATABlADQ4SCAUTAnIFA3ISCHIAKysrETMRMzAxQQE+AhcXBycOAgcBIwMTEyMDAloBXSRij2YvGRMoOysQ/eW/GIIUsOMBhgL8VZVaAQHSAQEmPCL7kgWw+8T+jAWwAAACAHUAAARKBFIAEgAXABVACxcGchIWCnIMBQdyACsyKzIrMDFBEz4CFzIWFwcmJiMOAgcBIxsCIwMBz74dWn9XHzYbKgsXDB4xJgz+eaUcRAuXpAFuAcFKhVQBDAy6AwUBHi8Y/N8EOv0n/p8EOgAABABh/3YFGwYuAAMABwAfADcAJEAQAgInJwMaA3IHBzMzBg4JcgArzTMRM3wvKxjNMxEzfS8wMUEDIxMDAyMTAQcGAgYGJy4ENzc2EjY2Fx4EBTc2Ni4CJyYOAgcHBgYeAhcWPgIDr0q4SSVLuEsC9QsTaq7xmHWud0ISDQsTbK/wmHWudkES/vILCAMWN2VPaJhoPQ0MBwIVOWRPaZhnPQYu/lkBp/r4/lABsAHcUIn+/sp0AwNRi7TJZlGJAQDLdAMCUouzyrhTPIeCa0MDA1mXs1hSPIeDbEMDBFqXtAAEADX/hgQeBLUAAwAHAB0AMwAkQBAHByQkBhkLcgICLy8DDgdyACvNMxEzfS8rGM0zETN8LzAxQQMjExMDIxMlNz4DFx4DBwcOAycuAzcHBh4CFxY+Ajc3Ni4CJyYOAgLxR6lHCEipSP6ZAg5ZkcR5c6ZmKAsCDlqRxHhzpWYp+QMFBSZSRktvTC0JAgcGJlNGS29MLAS1/mgBmPxw/mEBn+UXcMudWQMDXJrCaRhwyZtXAwNbl8GAFzZ5a0QCAj9sgj4XNnptRgICQG6DAAQAY//nBtkHQAAVACAAQQBlADNAGVtOCXJUMTEsOAlyQkNDEQgIGxsWFiIhAnIAKzIyfC8zGC8zETMyETMrMjIvMysyMDFBMwcnLgMjIgYHByc3NjYXHgMBJzY2NzcXBw4CJQcOAgcDBh4CFxY2NjcTMwMOAycuAzcTPgIFNx4DBwMOAycuAzcTMwMGHgIXFj4CNxM2LgIF3CAIGTxwb244M0QKAn4CCYJrPXBucv5OUR0zChKeDQc1Sv66Fk9oOwxUBQMdPzhNbT8LQcZADUp5pGdlmGAmClUUh9wDEhBklV8mC1UPUIKvbGKMWCIKQcY/BgomRjY7VjwjCFUGAxtABsCEAQMnMCU6MxMBJmpzAgEmMSX+Uz0hRixfAWUtTDuJyAFPfUf97SxdUjUCBEZ3RgGG/npgp31FAwJMgqpgAhKR1HTJywVNgKlg/e5mroJHAwJKfqFbAYb+eS9aSCwCAi5SYzMCEy9cTjIAAAQATP/nBcMF5wAVACAAQgBmADNAGVxPC3JVMjIsOQtyQ0REEQgIGxsWFiIhBnIAKzIyfC8zGC8zETMyETMrMjIvMysyMDFBNwcnLgMjIgYHByc3NjYXHgMBJzY2NzcXBw4CJQcOAgcHBgYWFhcWPgI3NzMHDgMnLgM3Nz4CBTceAwcHDgMnLgM3NzMHBh4CFxY+Ajc3NjQmJgU3IggdO3Fsbjg0RQgCfwIIhGs9cG1y/k9OHTMJEp8OBzdK/ucVRloyCiIEARQwLjFJNB8HHrYeCz1lkF1dhVEgCSISesoCixBciFUiCSIMRHGbY1h5SBkIH7YdBQccNy0yRi0aBSMEFjYFZwGFAQInMSU6MxIBJWtyAgEmMSX+Uj0gRyxeAWUuSjt7wAFIcT7yIVNNNAIDKERUKsbFVJp5QwMCSXqcVvGGw2zAwQRId5pZ8VuhekQDA0l4lU7FxiVPRiwBAy9LWCj0KFJGLwAAAwBf/+YHMAcQAAcAIAA4ACtAFTQnCXIFAgEBBwctIQgIFQJyHA8JcgArMisyETMzM3wvMxgvMzMrMjAxQSE3IQchByMHMwMOAycuAzcTMwMGHgIXFjY2NwEzAw4CJy4DNxMzAwYeAhcWNjY3A/L+wBUDOhT+rxepNMivDUp3pWdjmGMqC671rQUGIEA0TW1ACwNB9a4ThtmNYYtWIAqux60GCSNENUxoPQoGmHh4fmr8AWGnfkQCAUd7pGAEAPv/LFhJLgIDRXZGBAD8AYjQcwMCS36iWgQA+/8tWUgtAgNHdkQAAwBH/+cGKgWxAAcAIAA5ACtAFTQnC3IFAgEBBwctIQgIFQZyHA8LcgArMisyETMzM3wvMxgvMzMrMjAxQSE3IQchByMHMwMOAycuAzcTMwMGHgIXFjY2NwEzAw4CJy4DNxMzAwYeAhcWPgI3A0n+0BUDGBH+vRepMcByDEFslmBch1UhCHPscgQCFjItRF02CQKv7HMQdcGDWn1KGglywHEEAxs3MDFJMR0GBTl4eH+A/VhZnHVBAwJEc5dXAqn9ViJPRS4CA0FsPAKq/Vh8wm0DAkd3llECqf1WJlBDKwICJ0NUKgACAFj+jgTcBcgAIQAlABlADBYSDQNyJQAAJAEJcgArzTMRMyvMMzAxZQcuBDcTPgMXHgIHIzYmJicmDgIHAwYeAxcDIxMCNBBlnHFDFwwqE2ei2oWY1GcI9AYnaFxVglw5CywIARc0V+Bf9GCzyQVGdpiwXQEQe9+sYgMCe92XVIVQAgJIepRJ/u01cWhVNQX93AIkAAACAET+iwPvBFEAHwAjABlADBURDAdyIAAAIgELcgArzTMRMyvMMzAxZQcuAzc3PgMXHgIHJzYmJicmDgIHBwYeAhcDIxMB5RJvnl8jCwMNVo2/dXeqWAXdAyBLPEhqSCsIBQYCIE7aX+xgrcMHXZi9ZiNtx5pXAwNrt3MBNmE/AgNAa388Izd2ZkQH/eACIAABADsAAAS4BT4AEwAIsQ8FAC8vMDFBARcHJwMjASc3FwEnNxcTMwEXBwM8/vH8U/3ptQEm+1L+AQ39VPzwsv7V/1YDLP6LrHKp/r4BlqtyqgF1q3SqAUv+YatxAAH88ASl/+AF/AAHABW3BgYEBAECAgEALzMvETMRM3wvMDFDIQcnNyE3F0b98xemKgIOEqYFI34B6mwBAAH9EAUW//IGFAAVABK2ARQUDwaACwAvGswyMxEzMDFBFxY+AhcWFgcHJzc2JicmDgIHI/0aGUF6dXhAZHMFA30CAyYxPXd4ez8lBZoBASYxJQEBb2YnARQuNgICIzEnAQAAAf4xBRj/AgZiAAUACrIAgAIALxrNMDFBJzczBxf+toUWtB8mBRjPe6RtAAAB/j0FGv9XBmIABQAKsgGABAAvGs0wMUMHJzc3M8O1S04YtAXRt0xxiwAI+kP+wgGhBbEADQAbACkANwBFAFMAYQBvAABBBzY2FxYWFyc2JiMmBgEHNjYXFhYXJzYmIyYGEwc2NhcWFhcnNiYjIgYBBzY2FxYWFyc2JiMiBgEHNjYXFhYXJzYmIyYGAQc2NhcWFhcnNiYjJgYBBzY2FxYWFyc2JiMiBhMHNjYXFhYXJzYmIyIG/g9wCHFaWGsBbAMeMDA0AgJxCHJZWGwBbAIdMS80UW4IcFpYagFrAh0wMDX+224IcFpXawFrAh0wMDX9lXEJcVpXawFrAh0wMDX+p3EIclpYawFsAx0xMDT+8W4IcFpXawFrAh0xLzU8bwhwWldsAWwCHTAwNAT0AVhmAQFnVwEqPAE7/sEBWGYBAWdXASo8ATz94AFXZgEBZlcBKjw7/dABV2YBAWZXASo8O/67AVhmAQFnVwEqPAE7BPABWGYBAWdXASo8ATv93wFXZgEBZlcBKjw7/dABV2YBAWZXASo8OwAI+nP+YwF4BcYABAAJAA4AEwAYAB0AIgAnAABFNxcDIwEHJxMzATc3BQclBwclNwEnNyUXARcHBScBBycDNwE3FxMH/WOFDqtmAaWEDqpmASANCwE4EPpbDgn+xxEFaFsDAUw++tpaAv62QAIGZxFfQgLfZxNeQz0DE/6wBgQDEQFR/CaMCoBalIwKgFoBCGISmE78MWITmE8EAl8CAVE7+1dgAv6vPP//ACX+gAV8ByYEJgDcAAAAJwChAUcBPgEHABAETf/IABVADgIjBAAAmFYBDwEBAV5WACs0KzQA//8AF/6ABG0F2wQmAPAAAAAnAKEAi//zAQcAEANY/8gAFUAOAiMEAQCYVgEPAQEBfVYAKzQrNAAAAgAh//4D5wZgABcAGwAaQAwaCxsCcgAXFw0NChIAPzMRMy8zK84zMDFBBR4CBw4CJyEBMwMXPgI3NiYmJyUBByE3AUIBJ26wYAgKiNN5/iABG+z62D5mQQgIHUU2/r0B/x79Vx4DAAEEWKN1grFaAgZg+l8BATBaPjVRMAMBA2+mpgAAAgAmAAAE+gWwAAMAGwAjQBEBAgUAAwYGBQUSEBMCchIIcgArKzIROS8zETMzETMzMDFBAQcBAyU3BTI2Njc2JiYnJQMjEwUeAgcOAgNZAURr/r1D/oIjAWNTi1sLCyxkTP7O2vX9AguH03IMDaX+A9/+NlYByf6WAccBOXNXSnFBAwH7GAWwAQNtyYydzWIABP/I/mAEEARSAAMACAAeADQAJUAUAAMwAQIwJRoPC3IHBnIaB3IGDnIAKysrKxEzMjIyETMzMDFBAQcBAwMjATMBBw4DJy4DNzc+AxceAwc3Ni4CJyYOAgcHBh4CFxY+AgKCARxs/uWF3uwBBNkCYQIMRXWqc2aJUyAEChBNeqhtb4xJE/cCBQMgTUQ+ZEwzCx8CFzNPNkpqRygBq/5TVgGuAgb7BAXa/fMVYselYgMCXZazWFBfvp1dBANkob1wFjN4a0YCAy1QZjfEMlxLLAICQm+DAAIAIwAABOoHEwADAAkAFUAKAgYGAwkCcggIcgArK84zETMwMUEDIxMTByEDIxME6l/sX6Yj/XDa9PwHE/3eAiL+ncj7GAWwAAIAEQAAA9IFdwADAAkAFUAKAgYGAwkGcggKcgArK84zETMwMUEDIxMTByEDIxMD0lnsWZ0i/jab67wFd/4DAf3+w8D8hgQ6AAIAK/7DBKwFsAAFAB0AGUAMBgcHExICBQJyBAhyACsrMi8zOS8zMDFBByEDIxMTNxceAwcOAwc3PgM3Ni4CJwSsI/1x2vX9GCPogcWBNg4NWpXPghNTdk8sCQkRPG9VBbDI+xgFsPzNxgECVZfRf3/RmlUCtwJBbYlKTIlpPwIAAgAR/uADhQQ6ABQAGgAbQA0AAQELFxoGchkKcgwLAC8zKysyETkvMzAxUzcXHgIHDgMHJz4CNzYmJicBByEDIxOuI92M2XIOCEx3llFIRnJKCgsvbFIB3CL+NpvrvAHKxgEDctKTWJh4VhetGVFzTVF5RQMCccD8hgQ6////pP6aB+gFsAQmANoAAAEHAmwGhQAAAAu2BRsMAACaVgArNAD///+w/poGgQQ6BCYA7gAAAQcCbAVIAAAAC7YFGwwAAJpWACs0AP//ACv+mAV2BbAEJgJHAAAABwJsBAz//v//ACL+mgR+BDoEJgDxAAABBwJsA1QAAAALtgMRAgEAmlYAKzQAAAQAJAAABYMFsAADAAcADQARAC9AFw8ODgsMBAQMDAsHBwsLABADCHIIAAJyACsyKzISOS8zLxEzETMvERI5ETMwMUEzAyMBMwMjASEBITchBzcBIQEg9v31AgybfJsCmAE3/Zz+IQYBhR7GATH+1QWw+lAES/04BC38wNmpovy+AAAEACEAAATKBDoAAwAHAA0AEQAtQBYPDg4LBAQMDAsHBwsLABADCnIJAAZyACsyKzISOS8zLxEzETMvETMRMzAxUzMDIwEzAyMBIQEhNyEHNxMh3Oy86wHVkmqSAgwBMv4O/kkHAWElv/f+4AQ6+8YDU/2lA0L9ddqngP2eAAAEAKQAAAbhBbAAAwAHAA0AEQAjQBEQDw8LCgoDDgYIcg0HAgMCcgArMjIyKzISOS8zMxEzMDFBByE3IQMjEyEBITczAQMBNwEC4yH94iICwfz1/QRO/TH+oQXoAga8/qS2Ab4FsMDA+lAFsPzC2gJk+lACpLf8pQAEAGwAAAW0BDoAAwAHAA0AEQAjQBEQDw8LCgoDDgYKcg0HAgMGcgArMjIyKzISOS8zMxEzMDFBByE3IQMjEyEBITczAQMDNwECkyL9+yICcbzsvAOh/bb+7ge5AWea78YBTwQ6wMD7xgQ6/XXaAbH7xgHhgf2eAP//ACb+mgWFBbAEJgAsAAABBwJsBGAAAAALtgMPCgAAmlYAKzQA//8AF/6aBGEEOgQmAPQAAAEHAmwDYAAAAAu2Aw8KAACaVgArNAAABAAmAAAH6gWwAAMABwALAA8AH0APBwYGCgIDAwwLAnINCghyACsyKzIyETMROS8zMDFBByUnAwchNxMDIxMhAyMTB+oh/ZuWbiP9ESOo/fb9BGL99PwFsMABvv2hx8cCYPpQBbD6UAWwAAQAEQAABZYEOgADAAcACwAPAB9ADwcGBgoCAwMMCwZyDQoKcgArMisyMhEzETkvMzAxQQchNwMHITcTAyMTIQMjEwWWIv5QI6Ai/d4hlLzrvANwvOy8BDrAwP48vr4BxPvGBDr7xgQ6AAACACr+wgeJBbAABwAfABlADAgJCRQEBwJyBghyAgAvKysyLzkvMzAxQQMjEyEDIxMBNxceAwcOAwc3PgM3Ni4CJwWB/fPZ/Y/a9f0DWiPpgcSBNg4NWZbOgxNTdk8sCQoSPG9VBbD6UATo+xgFsPzMxgECVZfRf3/RmlUCtwJBbYlKTIhqPwIABAAR/uMGRwQ6ABQAGAAcACAAI0ARHhcYGAABAQsdHAZyGwpyDAsALzMrKzIROS8zMhEzLzAxQTcFHgIHDgMHJz4CNzYmJicDByE3MwMjEyEDIxMDMiMBCo7heQ0HS3eUUUtGckoKCzd2U9Ei/fgiObzrvANyvOy8Ac3GAQNu0ZdZl3lWF64ZUHRNVXlBAgJuwMD7xgQ6+8YEOgAAAQBf/+gF5gXHAEMAHUAOOQwMIyIDcgABAS4XCXIAKzIyETMrMjIRMzAxZQcmJCYCNzc+AxceAwcHBgIGBCcuAzc3PgM3Bw4DBwcGHgIXFj4CNzc2NiYmJyYOAgcHBh4CBWQRoP7l0GQYIA5HeKhvcZFNFwwgF4zY/u2dj9qNOhIdElqSyoEYTGpIKAoeCxFDfmJwu5BeESIFBxA6Oz5UMxwGIRI9jsuwxgVmuwEOrtNew6RjBANtrcdbzpj++sVrAwNxwfWGwXbbr2gDzwJSfYs+xFGojVgDA0+PumjjJ3NyTwMDR213LtiCxohHAAEAS//oBJYEUwBDAB1ADjkMDCMiB3IAAQEuFwtyACsyMi8zKzIyETMwMWUHLgM3Nz4DFx4DBwcOAycuAzc3PgM3Bw4DBwcGHgIXFj4CNzc2NiYmJyIOAgcHBh4CBFMKfuSqVRARCjZchFdXcD0SBxEQbanVeXSucC0LCgxHdaFlFzFFLBoHCgcJLFhHTYFjPwoSAgUKIiQnNCASAxIOOHWgjqMFS4/SjIFKmH1LAwNYipxHf3bIlE8DA2CgymxOX6uETQPGBTlTXSlPOn5vSAMDN2OBR4IYTlM7BDBKTh2HZZVjMQD////A/poFRgWwBCYAPAAAAQcCbAOyAAAAC7YBDwYAAJpWACs0AP///7r+mgQSBDoEJgBcAAABBwJsAr0AAAALtgEPBgAAmlYAKzQAAAMAmv6hBm0FsAADAAkAEQAdQA4JDQ0ICghyBRAMAgMCcgArMjIyLysyMhEzMDFBByE3AQMjEyM3BRMzAyETMwMEXiL8XiIFhXLiPX8k/Eb89tsCctr1/QWwwMD7Gf3YAV/JyQWw+xcE6fpQAAMAV/6/BNkEOwADAAsAEQAfQA8CAwMNCgUGcggHBxAECnIAKzIyETMrMi85LzMwMUEHITcTEzMDIRMzAzcDIxMjNwMpIv1QIjG87JsBm5rtvLBr2jh+IgQ7wMD7xQQ6/IYDevvGv/4AAUG///8AxP6aBV0FsAQmAOEAAAEHAmwENAAAAAu2Ah0ZAACaVgArNAD//wBt/poENwQ7BCYA+QAAAQcCbAM2AAAAC7YCGwIAAJpWACs0AAADALQAAAVOBbAAAwAZAB0AI0ARAwMKChUCAhUVBBwIchsEAnIAKzIrETkvMy8RMxEzLzAxQQMjEwEzAwYWFhcWPgI3Bw4DJy4CNwEzAyMDQ3+af/5o9UoKJGVZMWJhYC4SLl5gYS+S2GoSA5P1/fUEEP0kAtwBoP48V3Q8AgEHDxYNyQ8WDQYBAmjOmgHD+lAAAAMAggAABC4EOwADAAcAGwAjQBAAABgYDQEBDQ0FCnISBAZyACsyKzIvM30vETMRMxgvMDFBAyMTAQMjExMHDgInLgI3EzMDBhYWFxY2NgKgappqAii87LwtETJucTd/uVwONes1CBpNRjpxbgMs/aACYAEO+8YEOv4hwhYeDQEBYLaDAUj+t0JfNQIBESAAAAIAHAAABLUFsAAVABkAGUAMARcGEREXGAJyFwhyACsrETkvMxEzMDFhIxM2JiYnJg4CBzc+AxceAgcBIxMzBFn1SgojZVkxYmFhLxQtXl9gMJLYahH8bvb99QHFVnU7AgEHDxUOyQ8VDQYBAmfOmv49BbAAAgBV/+kFuwXGAAkANgAlQBIFHQEBHR0GHBwKJBUDci8KCXIAKzIrMhE5LzMzETMvETMwMVMXBhYWFwcuAgEuAzc3PgMXHgMHByE3ITc2LgInJg4CBwMGHgIXFjY3Fw4CW6wGH1FHD3iYRAMBitWLOhInE2uq3IWNumUbERX8XSICpwYMCC9iUFWFYTwNKQsURn1eXrRXHTWLkgQ6AURlOwWvBW21/CIBXqnkhv964a5iAwN2wu17ib4iQoRuRAIDRXeSS/8AU5RzQgICKCLDJicMAAAC//L/6gRzBFEACAA1ACVAEgQcAQEcHAUbGwkjFAdyLgkLcgArMisyEjkvMzMRMy8RMzAxQxcGFhcHLgIBLgM3Nz4DFx4DBwchNwU3Ni4CJyYOAgcHBh4CFxY2NxcOAgigCEtlDnCPQQJ8b6hvLwkFDFeOwnZxmloeDBD80x4CPgUHDClINEtsSSkIBQYQMlpEVow6cy+HngNdAWJwBqIFZKf8+gJTkLpqKW3Mn1sDA1mWu2VnrQEWLlhGKgMCQnCEPig7c2A7AgJLPHxEWiwAAwAk/rkFVAWwAAMACQAhACFAEAoGBgsIBwcXFgkDAnICCHIAKysyLzM5LzMzMxEzMDFBAyMTIQEhNzMBATcXHgMHDgMHNz4DNzYuAicCFv31/AQ0/RX+2AbOAgb9bSTxgMaANw4NW5jQghJRdk0tCQkQOmxUBbD6UAWw/MPfAl78ws0BAlWZ0IB/0ptWA8ABQWuHSUqGaUACAAMAIf7kBH4EOgADAAkAHgAhQBAWFQkGcgYKCgcLCwEDBnIBAC8rEjkvMzMRMysvMzAxQQMjEyEBIzczAQE3BR4CBw4DByc+Ajc2JiYnAci867sDov2h/gejAX39eSMBDIvkfQ0ITHmUUEdEcUwJDDt4UAQ6+8YEOv112gGx/XbFAQNlx5hYlHRTFq0YTG9LVm85Av///8X+gAV+BbAEJgDdAAABBwAQBEz/yAALtgMkBgAAmFYAKzQA////vP6ABG0EOgQmAPIAAAEHABADWP/IAAu2AyQGAQCYVgArNAAAAQAr/kgFggWwABkAGUAMGQhyFwICEQoFAAJyACsyLzM5LzMrMDFBMwMhEzMBDgInIiYnNxYWMzI2NjcTIQMjASj1bwJwb/X+/g9kqXgjRSIjFzEYNUMlCHH9kWz1BbD9ggJ++hhwr2EBCwjCBwg3VS0Co/2VAAEAEf5IBD0EOgAZAB1ADxkKchcCAgARCg9yBQAGcgArMisyEjkvMyswMVMzAyETMwMOAiciJic3FhYzFjY2NxMhAyPN608BmU/sww5ipnUjQyIiFzAZNEQlB1T+Z0zrBDr+PAHE+4hvq2ABCQm8BwkBOFYuAfb+SAD//wAm/oAFhQWwBCYALAAAAQcAEARW/8gAC7YDFgoBAJhWACs0AP//ABf+gARrBDoEJgD0AAABBwAQA1b/yAALtgMWCgEAmFYAKzQA//8AJv6ABs4FsAQmADEAAAEHABAFmP/IAAu2AxsPAACYVgArNAD//wAj/oAFwwQ6BCYA8wAAAQcAEASu/8gAC7YDGQsBAJhWACs0AAABAEv/6QUtBcQALAAbQA0aCxEUFAslAANyCwlyACsrMhE5LzMRMzAxQR4DBwcOAycuAzc3IQchBwYeAhcWPgI3NzYuAicmBgcnPgIC7ZfikDcTERNztfCRks55KRIXBAMj/PkIDRVEdlVimG5DDhINE0uKaWO+XB46kZcFwwFqvPiQe4T4xHADA2y68YePwyNOiGY7AwJTjKtVfFyphU8CAigjxSUnDAACAC//6ASeBbAABwAlAB9ADwUICAQlJQAcEglyBwACcgArMisyETkRMzMRMzAxQSEHASM3ASETNzYWFgcOAycuAzczBhYWFxY2Njc2JiYnJwEhA30e/deuFwGa/aTAlIrPawsJY53AZmCfcjwF8wQrW0JJglgKCyxtVpMFsKz94oEBgf5zBwFsyo5upW42AgI8b5xhP2Q8AgM5a0tWekIDAQAC//H+cwRWBDoABwAlAB9ADggFBQQlJQAcGBIHAAZyACsyL8wzEjkvMzMRMzAxUyEHASM3ASUTNzIWFgcOAycuAzczBhYWFxY2Njc2JiYnJ90DeRv92q4XAZX9qMGPidBsCwlhnL9lYJ5yOgTqBC1cREuEWgoLLW9YkwQ6pP3YggGJAf5nBmnHjm2lbjYCAjxunGBAaD0CAzpuTVd6QgMBAP//ACf+RwT4BbAEJgCxTAAAJgJBqSgABwJvAScAAP////r+QwPUBDoEJgDsTAAAJwJB/4L/dgAHAm8A+v/8////wP5HBUYFsAQmADwAAAAHAm8DqwAA////uv5HBBIEOgQmAFwAAAAHAm8CtgAAAAEAKQAABOwFsAAYABK3AwAACxANAnIAKy8zOS8zMDFBBQclDgIHBhYWFwUTMwMlLgI3PgMCdQFyI/6qUopcCgsrY0oBJNr1/P4ChtJxDApkoMYDmgHHAQE/dlRIckQDAQTp+lABBG3HjnOudjwAAgBC//8GbQWwABgALQAfQA4bCwsQJSUDAAAaEA0CcgArLzM5LzMzLxEzETMwMUEFByUOAgcGFhYXBRMzAyUuAjc+AwEjNxc+Ajc2NjQmJxcWFgYHDgICjgFyJP6qUopcCworY0oBJdr1/f4ChtJwCwpln8cCP5Yke05tQA0ICgoL5gwMAQgUhdkDmgHHAQE/dlRIckQDAQTp+lABBGzIjnOudjz8ZsYBAU98SCxcXl0sAjt7ezyL13gAAwBE/+cGSgYYABYAKwBHAB1AEDNEC3I7LQFyHRILcicGB3IAKzIrMisvKzIwMVM3PgMXHgQHBw4DJy4DNwcGHgIXFjY2Nzc2LgInJg4CBRMzAwYWFhcWPgI3NjYnFxYWBw4DJy4CTgINQnWud1FzSikOBAgPSHShaGuLTBj5AgYDIEpDTn1VEBwEFDJQOE1qRScBj8vszAUNLzJIakcqChAEEd4OBw4QVIu/eXOVQwH0FWTPrmgDA0VxiZJDQ1q7nF0DA16ZtnAWM3BjQAIDTHxItzNiUzMCAkl2iOAEsPtPKFQ8AwRDcIE6ZMljAWTHY2/Km1oCAWGrAAIArP/pBbcFsAAgAEYAIUAQKCcnAgEBDjJDCXI6DQ4CcgArMi8rMhE5LzMzETMwMUEjNxcyNjY3Ni4CJyU3BR4DBw4EBw4CBwYGEyc3NiYmJzceAwcHBhYWFxY+Ajc2NicXFhYHDgMnLgIBwuUjl1KOXwsHHDtTMf6fIwFFYKp/QggGOFdrcjUHBgYHDDiLAQgHIFBEGlWVbTgJBwINJyJFYUAmCRAEEugNBw4PU4m9eG2COwJnyQEsaFo2SzAWAgHJAQIvYZhqVGhALC0iBRERBQgI/tECQ0FlPAV4AihThF5HIDkoAwFEbX02Y8pjAWTHY23JnloBAlKWAAIAYf/jBMUEOgAdAEIAJUASPj09GwIBAQ0qKiIzC3IMDQZyACsyKzIyLxE5LzMzMxEzMDFBJTcXPgI3NiYmJyU3Fx4CBw4DBw4CBwYGBTcGFhcWPgI3NiYnFxYWBw4DJyIuAjc3NiYmJzceAgcBbf70H6gxYUUICCdJLf7zHPZitXAGBD1aZCwJBAQICTMBMQQDEy04UjciBwwGFN4PEgoLSneiZDxsVC4DCQMgPigvU5dZCQGgAbgBARo+ODM+HgIBvwECPodyTk8nJSUHGhsGBwi9Eyo2BwIzVWQvTqBNAU6dTl+lfUYCGThdQ04uMhkDgwEsbWIAAwCT/rcD3wWwAB8ANAA/AB9ADjo5PywMDQJyISAgAQECAC8zETMRMysyLzMvMzAxQSE3FzI2Njc2JiYnJTcFHgIHDgQHDgIHDgIHNx4CBwcGBhYXByMmJjY3NzYmJgEHBgYHJz4CNzcBqv7pIbxRjV0LCi9jR/7XHwEPgc5yCgcyUGJsNQYHBwYJHx8zMXe0XQ8RBgIRGQPoGhEFBREKJVwCExwSgFx8ITwuCiECXcABL2lXSWU0AgHAAQNatotQZkEwLyEFDw4FBgkGAYACUKJ/eSVNSB4ZIVNZJ3ZJaD3+j6x0yUdMMF9mObYAAAMAi/6oA7wEOgAeADMAPgAeQA44IB8fAgEBPisKDA0GcgArMj8zOS8zMxEzLzAxQSE3Fz4CNzYmJiclNwUeAwcOAwcGBgcOAiM3HgIHBwYGFhcHByYmNjc3NiYmBQcGBgcnPgI3NwG7/tAe2DRnSgoHK04u/tYdARJMj3NABQRBYW4zCAYHCBobRT1doFoKCwQBDRAC7A8LAwQLBiVMAgYcE31bfyE8LQsgAZ2vAQEcQjw0QR8BAb4BAiVNe1ZRVy8oIgYXBgYHBXkBNnxqVhsyLxYSARg4Oh1VOUUgwKx0yUhNMF5mOrYAAAP/2//mB0MFsAARABUAMgAdQA4mJh4vCXIXFAAVAnILCAAvMysyMjIrMjIvMDFBMwMOBCMjNzc+BDcBByE3ARMzAwYeAhcWPgI3NjYnFxYWBw4DJy4CAgL0nxQyTXaufEkaI1NwSSwbDANFI/2WIwF0ufW5AwUVKyVGZ0QpCRAEEukNBg0QVYy/enWaQwWw/S1kz72WV8cCBVaFm5o/ApPJyfu7BEX7uh0+NyMCBEJufzhjymMBY8hjb8udWgMDYKsAA//Z/+YGHwQ6ABEAFQAzAB9AECcnHi8LchcUABUGcgsICnIAKzIrMjIyKzIyLzAxQTMDDgQnIzc3PgQ3AQchNwETMwMGHgIXFj4CNzY2JzMWFgcOAycuAwFw63gPKD5eh15SGSM7UDQhFAgCgyL+IiMBI3nreQMGGS8mPVc4IQgOAhHdDgoNDUt7rG5XhFYkBDr96kydj28+AcUCBDxdbW0tAc/Cwv0uAtL9LSBANyMBAj1kcC9ev11evV5iu5NVAwI3ZIsAAwAn/+cHQgWwAAMABwAjACBAERYWDh8JcggCcgADAwYIBAJyACs/OS8zKysyMi8wMUEhByEDMwMjATMDBhYWFxY+Ajc2NicXFhYHDgMnLgI3AWwC4iP9HiX1/fUEWPS3BAwuL0ZnRSkJEAMS6QwHDRBWisB6c5dECQMyxwNF+lAFsPu5J1M6AwNCb344Y8pjAWPIY3DJnlkCAmKscgADAAf/6AYeBDoAAwAHACUAIkASGRkQIQtyCQZyAwICBQcGcgUKAD8rEjkvMysrMjIvMDFBByE3EwMjEwETMwMGHgIXFj4CNzY2JzMWFgcOAycuAwMwIv3yIY+87bwCFXnseQMGGDAmPVc5IAgPARHdDgoNDUt7rG9WglUkAny/vwG++8YEOv0uAtL9LSBANyICAj1kcC9ev11evV5jupJUAQE4ZYwAAQBL/+gEiwXIACsAFUAKEgsDciUlHQAJcgArMjIvKzIwMUUuAzcTPgMXMhYXByYmJyYOAgcDBh4CFxY2Njc2JicXFhYHDgICTIHHgzYQKRR0sueJW6xPSkCMSVmSbEcNKgoSPnBUUoFUDg8CDOoJCAsTn/IVA2Os3XsBBoLiql8CKS+2JCIBAUR3llL+90eSe0wCAkJ2T1axVgFXrlaS0W0AAQA9/+gDpwRRACsAFUAKIRoHcgcHAA8LcgArMjIvKzIwMWUWNjY3NjYnMxYWBw4CJy4DNzc+AxcWFhcHJiYjJg4CBwcGHgICAjFOMQgJAQXeBQUGDXq7bnKpbC0KBQ1ak8F0SY0/QDF0OkhtTi8JBQcNLVisASFCMTZvNjZtNnOaTAIDWJbAaituxpdWAQEdJ7ggHQE+aH0+Kjh5aEEAAAIAkf/mBS0FsAADACAAF0ALFBQMHQlyBQIDAnIAKzIyKzIyLzAxQQchNxMTMwMGHgIXFj4CNzY2JxcWFgcOAycuAgUTI/uhI/259LkCBBUrJEdmRSkKEAMR5w4GDg9Vi796dJdFBbDJyfu7BEX7uh0/NiQCA0JvfjhjymMBZMdjb8udWgMCYqwAAAIAc//oBJIEOgADACAAF0ALExMLHAtyBQIDBnIAKzIyKzIyLzAxQQchNxMTMwMGFhYXFj4CNzYmJxcWFgcOAycuAwQGIfyOIsJ563kEDzQzNlI7IwgNCRTcEBQKDE1+p2ZXg1QlBDq/v/0uAtL9LSpUOgICLE1eLk2ZSgFKmExhp3xFAQE3ZYwAAAIAUP/pBRkFxwAgAD8AI0ARACI/PwICFzUxLANyEQ0XCXIAKzLMK8wzEjkvMxI5OTAxQRcHJyIOAgcGHgIXFjY2NzcOAycuAzc+AwUnLgM3PgMXHgIHJzYmJicmBgYHBh4CFxcCnuUYr0B6Z0QICC9VaDNKkWoP8wluqstmYL2ZVQcIbqvGATXITaWLUwYHcK/PZ3vbhgPyAkNxQUmZcAsJIkZdM8oDEgGMARg3YEg9VTQYAQEwZk4BcaJoMAIBMWSecHKVVyVYAQIpVYVedaRkLAIDXLWHAUdcLQICK2NTO1EwFwEBAP///8X+RwWLBbAEJgDdAAAABwJvBFAAAP///7z+RwSXBDoEJgDyAAAABwJvA1wAAAADAAj/5wTZBcgAAwAYADIAKEAUECcnDwAECiUlCh0wCXIUCgNyAggAPysyKzIROS8SOTkzMxEzMDFBAyMTFwc+AxcWBBcBBzcBJiYnJg4CAzcWFjMyNjY3NiYmJyc3NzIWFgcOAicmJgGapuyn7+UKTIS9e5wBAHL+EZ4XAVAwf0NKaEImP1UwajZOh1sKCzFxVZcdlIXRcQsMmu2IT5YDwPxAA8ACAnXBjEoDAodk/gABgwFPMC0CATZed/wkuhgbOm9RV3M6AgGjBmHAjJHHZwEBHQAAAgDoBHIDSQXYAAUADwAStgUFDQcCAgcALzMvEM0yLzAxQTcTNwcBJTczBwYWFwcmJgHkAaDEAf70/rQMpQ8KECdMR0QEgxYBPgEX/sP5WlU7ZC5DK40A//8AQAIOAmUCzgQGABEAAP//AEACDgJlAs4EBgARAAAAAQCbAnAEpQMxAAMACLEDAgAvMzAxQQchNwSlKfwfKQMxwcEAAQB8AnAF3gMxAAMACLEDAgAvMzAxQQchNwXeNvrUNwMxwcEAAv9Y/mYDFQAAAAMABwAOtAIDgAYHAC8zGs4yMDFBByE3AQchNwLoG/yLGwOiG/yLG/7+mJgBApiYAAEAsgQmAhwGHAAKAAixBQAAL80wMVM3PgI3FwYGBweyFAs/XDl3MEoPGAQmh0mFcy5OQotSiQAAAQCNBAQB+gYAAAoACLEFAAAvzTAxQQcOAgcnNjY3NwH6Fgs+XDh6MUoPGQYAjEqFcy5PQotRjwAB/6f+2gETAM8ACgAIsQUAAC/NMDFlBw4CByc2Njc3ARMVDD5bOXkxRQ8Yz4VKhXMuTkKMUYgAAAEAzQQGAcYGAAAKAAixBgAAL80wMVMzBwYWFwcuAjfryxkMEiN2LT0ZBwYAkE2QRkcveIRC//8AugQmA2EGHAQmAYUIAAAHAYUBRQAA//8AmgQEA0QGAAQmAYYNAAAHAYYBSgAAAAL/pP7IAlIA/gAKABUADLMQBQsAAC8yzTIwMWUHDgIHJzY2NzchBw4CByc2Njc3ARseDD1cO3kyRw8gAgYeDD9fOnkyShAg/rRMi3oxTUeVVre0TYt5MU1HlVa3AAACAGkAAARKBbAAAwAHABVACgYHBwIDAnICEnIAKysROS8zMDFBAyMTAQchNwMX5OzkAh8g/D8fBbD6UAWw/orExAAD//z+YARmBbAAAwAHAAsAHUAOCwoGBwcBAwoScgMCcgEALysrERI5LzMRMzAxQQEjAQEHITcBByE3AzP+2+wBJQIfHvw/HgM2Hvw/HgWw+LAHUP6KwMD8hsDAAAEAnwIDAk8D2AANAAixBAsAL80wMVM3NjYzFhYHBwYGJyYmnwIFe2NebQEBBnxiW24C0ihhfQF3XClgeAEBcv//ADX/8gMDAP8EJgASBwAABwASAcEAAP//ADX/8gSvAP8EJgASBwAAJwASAcEAAAAHABIDbQAAAAEAXgHuAWsC8QALAAixAwkAL80wMVMmNjc2FhUUBgcGJl8BTjk3T044N08CazpKAQFFOTtIAQFEAAAHAKL/6AcDBccAEQAjADUARwBZAGsAbwApQBNfVlYyaE1NRCkpOzINFw4OIAUFAD8zMy8zPzMzLzMzLzMRMy8zMDFTNz4CFx4CBwcOAicuAjcHBhYWFxY2Njc3NiYmJyYGBgE3PgIXHgIHBw4CJy4CNwcGFhYXFjY2Nzc2JiYnJgYGBTc+AhceAgcHDgInLgI3BwYWFhcWNjY3NzYmJicmBgYDAScBpwYJVotZVX1ABgYJWY9YVXk9qgkDEjIsLkMpBgkEEjItLUQpAZMGCFqPWVRyNgUGCU+DV1Z9QbMKAhMyKy9EJwYJBBMyLC5EKAEeBghQhFhWfEAFBwhYj1hVcjebCQMTMysvQygGCgMTMiwuQyp4/JF3A3AES0xVi1ACAlGHU01XiU4CAlKHnk8mRi4BASxIKk4mSC8BAS1J/FVNV4pPAgJVh09OUotSAgJRh6FQJUcuAgIsSipPJkguAQEsSXhNU4pTAgJRh1NOVopPAgJViJxQJUcuAgItSSpPJkguAQEsSQNJ+5hOBGcAAgBaAIsCYQOpAAQACQASQAkBBQMJAggGBgAALy8XOTAxQQEHNQEDEwcDNQJh/sfHAVCUrpTdA6j+bwMSAYP+dv5tAQGEEgAAAv/8AIsCAwOoAAQACQAOtAIICAUAAC8vOS8zMDFnATcXAQMzExUnBAE5xwH+rxmT3cKMAZEDEv59Ax3+fRICAAH/4ABwA8YFJQADAA6zAAMCAQB8LzMYLzMwMUEBJwEDxvyQdgNwBNj7mE4EZ///AIkCjAL0Bb8GBwHiAHMCm///AGYCmwLsBbAGBwI7AHMCm///AH4CjgMFBbAGBwI8AHMCm///AIkCjgLfBb8GBwI9AHMCm///AJgCmwMtBbAGBwI+AHMCm///AHgCjgL1Bb0GBwI/AHMCm///AKcCjwLvBb0GBwJAAHMCmwACAIYCjwMoBVEAAwAHABW3BgYCAgMHBwMALzMvETMRM30vMDFBByE3AQMjEwMoGv14GwHCe517BDuXlwEW/T4CwgABAIcDpgLkBD4AAwAIsQMCAC8zMDFBByE3AuQb/b4aBD6YmAACAG8DHQL7BMAAAwAHAAyzAgMHBgAvM84yMDFBByE3AQchNwLMGv29GwJxG/29GwO1mJgBC5eXAAEAiwGFAjsGNQAVAAyzEBEGBQAvMy8zMDFTNz4CNxcOAgcHBgYWFhcHLgOTARBVl3E6RF86DQIICAonKEtFUScFA8wRdezCNX5AkqZcEzp9fXMwdCyJo6YAAAEAPgGCAe8GMgAVAAyzEBEGBQAvMy8zMDFBBw4CByc+Ajc3NjYmJic3HgMB5wIPVZdxO0ZeOg0CCAgKJyhMRFEnBQPrEXXtwjR7QZKlXxM5fHxzL3gsiaOnAAIAawKMA0wFvQAEABkAE7cWCwQECwIRAgAvMz8zLxEzMDFBAyMTMwMHPgMXHgIHAyMTNiYmJyYGBgGSar2Mjy4pCClIcE9aZiUHUrtKBQYrNUFRLATz/ZkDIf6JAUGKdkcCAleLUP4FAcwpWT4CAUVr////1/6EAkIBtwYHAeL/wf6T//8AMf6UAc0BqAYHAeH/wf6U////pf6UAjwBtwYHAeD/wf6U////tv6HAkYBtwYHAjr/wf6U////tP6UAjoBqQYHAjv/wf6U////zP6HAlMBqQYHAjz/wf6U////1/6HAi0BuAYHAj3/wf6U////5v6UAnsBqQYHAj7/wf6U////xv6HAkMBtgYHAj//wf6U////9f6IAj0BtgYHAkD/wf6U////2v6oAnwBagYHAZ3/VPwZ////2/+/AjgAVwYHAZ7/VPwZ////w/82Ak8A2QYHAZ//VPwZAAH/5f3rAZACWQAUAAixBRAALy8wMWc3PgI3Fw4CBwcGBhYXBy4DEwIOVZZuOkNdOQwCCQQnNUxDUikJDhJx4bYxfzmInFcTSZ6TOnQpf5idAAAB/5796AFKAlYAFAAIsRAFAC8vMDFlBw4CByc+Ajc3NjYmJzceAwFDAg5Vlm48RF45DAMIAyc1S0JTKgk5EXPjtzN8PIqdWxJGm5A4eSh+lpwABP/3AAAEogXHAAMAHgAiACYAIkAQIiElJiYBGxcSBXIJAgIBDAA/MxEzK8wzEjkvM84yMDFhITchAQMGBgcnPgI3Ez4CFx4CByc2JiYnJgYGBQchNwEHITcD8PwHIwP5/hdMC1tSticuGAVVEIXUhnqrVwTtAx1JPkRgOQEXGP1DGgKOGv1EGccDSf2WYJYxSQ9HVyYCdIPHbgMDZbN5AThcOAIBRW/gjY3+946OAAADAA8AAAZbBbAAAwAHABEAIkAQAwIGCw4QBwcNEQ4EcgoNDAA/MysyEjkvORI5M84yMDFBByE3AQchNwEDIwEDIxMzARMGWxv6BRsFxRv6BRwFtvzt/je39f3tAcq3A8Sbm/7Jm5sDI/pQBB374wWw++EEHwAAAwAs/+0GXQWwABcAGwAtACNAEiIpDRwZGAZyAgEBDgwPBHIODAA/KzISOS8zKzLMPzMwMUEnNxcyNjY3NiYmJycDIxMFHgIHDgIBByE3EzMDBhYWFxY2NwcGBicuAjcCF+QkyFV+TAsKHlhMld3z/QFvh8ZkDA6W7wOzH/2wH9jqsgQJJSYVKxUQJEslWm4sCAIcAckBQXdTR21AAwH7GAWwAQRrxIqY0m0CH7CwAQn75iM0HQEBBgO6CwoBAVGJU///ACb/6wgVBbAEJgA2AAAABwBXBFQAAAAGACAAAAZFBbAAAwAHAA0AEgAXAB0AKkAUHRUKChIGBwMCAhESBHITGxsIEQwAPzMzETMrEjkvM84yETMRMzMwMUEHITcBByE3ARMBMwMBCwIjAwETATMBCwIjExMGPRz6NhwFkhv6NhwBM1IBao9B/oslESOaIQKfVgFn+f3mJxEllw0wBC2amv7Cmpr9EQFmBEr+ofuvBbD7nf6zBbD6UAFpBEf6UAWw+53+swReAVIAAgAQ//4GRQQ6ABEAIgAgQA8WExMRFAgUCBEKHA8ABnIAKzIyPzk5Ly8RMxEzMDFTBR4DBwMjEzYuAiclAyMhIRMzAwUWNjY3EzMDDgPMAnRde0UUCTPtNQUFHT0x/qWb7AO8/dZ/610BQUplPAxy7HENXI2wBDoCAj9sklb+wgFALUw5IAIB/IYC1/3pAgExYEgCpP1dZJpnNAAAAwBL/+0EnwXGACMAJwArAB1ADiorJyYmBxkSBXIABw1yACsyKzISOS8zzjIwMWUWNjcXBgYnLgM3Ez4DFxYWFwcmJicmDgIHAwYeAhMHITcBByE3AuA0ZjIJO3g8fLl1Lw41FGek3Ig8dTsvLl4wWYljPQw2CQ00Z/wZ/QgZAskY/QcatAERD8oODgECV5vMeAFTgdmeVQEBEgzKEBMBATprjlP+qkeDZz4C8YmJ/vSJiQAAAwBEAAAGAwWwAAMABwAfAClAEwYHAwICFAoUFwkKChYXBHIWDHIAKysSOX0vMxEzERI5GC8zzjIwMUEHITcFByE3ASU3BTI2Njc2JiYnJQMjEwUeAgcOAgYDHPqFHAVTHPqFGwKQ/oEkAWNTi1sMCStkTP7O2vT8AguG1HMMDab9BKabm+qbm/5iAccBOXJYSnFBAwH7GAWwAQNtyI6dzGMAAwBEAAAEfgWwAAMAHAAgAC1AFR8gIBEDAgUGBhoCGgIaBBARBHIEDAA/KzISOTl9Ly8RMxEzETMRMxEzMDFBByE3AQE3FzI2Njc2JiYnJTcXHgIHDgIHAQcBByE3BD9P/GtPASP+dxnbUolcCwoqZU3+71fAjNNtDA2F2IoBYgEBo0/9EFAER7Gx+7kCW4sBPnVUTW4+AgHIAQNiw5OTv2cP/eMPBbCxsQAEABX/5wQ+BbAAAwAUABgAHAAVQAkEBAMPAQsNAwQAPz8zMxI5LzAxQQMjEwE3BwYCBgYnJiYnJT4DNwMHATcFBwE3Anf99P0ByfIJD2yw8pc/fD4BAGucaj0MDCX9PiMCiiT9PSQFsPpQBbD9TwFOi/7/ynUCARAGtwNVj7NfAoDM/vXMQMz+9csAAAL/5QAABK4EOgAbAB8AGEALCBUVHh8Gcg4BHgoAPzMzKxI5LzMwMWEjNzY2LgInJg4CBwcjNz4DFx4EBwEDIxMEhOweCQEYPWlRaZ1tQg4d7B0Vbq/wmXWvd0QSDv7GvOy8tT+Jg2tCAgRalrZas7GJ/8t0AwJSi7TKZwOJ+8YEOgAC/+oAAAVaBbAAFwAbABpADBkYAwAADgwPBHIODAA/KzISOS8zzjIwMUElNwUyNjY3NiYmJyUDIxMFHgIHDgIHByE3Awz9EyMCzVaNWwsKLWRK/s7Z9f0CCobTcwsOpP6bI/0JIwIeAccBOXRZSXBAAwH7GAWwAQNrxo6dzmRqx8cABADA/+gFOAXJACEAMwBFAEkAJUASQicwR0c5MA1yHwUOSUkWDgVyACsyMi8QzDIrMjIvEMwyMDFBNw4CJy4CNzc+AhceAhUnNiYnJgYGBwcGFhYXMjYTNz4CFx4CBwcOAicuAjcHBhYWFxY2Njc3NiYmJyYGBgEBJwECQqIGToFQVHM4BQYIUYdYT3VAowIsOCw8JAUKAwopKDZBoAYIWo9ZV3w/BQYJWI5aVn4/sggDEzIrL0MoBgkDEjIsLkQpAVD8kXcDcAQiAlB3QAICU4hPTVSLUgICQ3ZOATFHAQExSiZOIEgzAUX9JE1ZiU4DAVCHVE5YiU4CAlCHolElRy0CAixKKk8mSC8BAS1JA0n7mE4EZwABACv/6gPaBfoALgAUtxkYGAEkDAABAC8zLzMSOS8zMDFlBy4DNxM+AxceAwcHDgQHNz4DNzc2NCYmJyIOAgcDBh4CAnsTY5lmKgtvCjZchlpEZ0EcBAUNe7/q/XgSdujFhBEGAQkYGCIrGg0DbAcDH0XE2gVDd6NjAqZPlnpGAwI3W3VAKoXgsn5EAbQCTY/KfSoRLCgcAyk/Qhr9XzRcSSwAAAQAIwAAB+AFwwADABUAJwAxACVAESswLioCAxsSJAkJMS4EKi0MAD8zPzMzLzPcMs4yERI5OTAxQQchNxM3PgIXHgIHBw4CJy4CNwcGFhYXFjY2Nzc2JiYnJgYGAwMjAQMjEzMBEwdSGv20Gi4HC2KiamSHQQgICmKhaWSIQbUJBBM+Oz5VMQgJBRQ+Oj5WMvb9/P7NuOz8/gEzuAIvj48B21Rko14CA2GdYFNloV0DA16ds1UyXT4BAjxiN1QxXz8BAjxjARv6UAQc++QFsPviBB4AAgDwA5QE0QWwAAwAFAAkQBEJBAEDBgoHBxMUAgADAwYGEQAvMxEzETM/MzMRMxIXOTAxQRMDBwMDIxMzExMzAwEHIwMjEyM3BAY/r0A5Q25egzrEhl7+ERGFTnVNiBADlQFj/p0BAX/+ggIb/oMBff3lAhte/kQBvF4AAAIAff/rBG4EUQAdACYAF0AKIhcXBB4OBxsECwA/Mz8zEjkvMzAxZQcGBicuAzc+AxceAwcGBgchAxYWFxY2AyYGBwMhEyYmA6kBU79jbahwMQoKZaHLcW+fYisEAQIB/RE8LnlFacByU5I+NAIKNSx3xWg1PQICYJ7CZWvNpl8DA16bv2IMFwz+tjI3AgNIA14CSTL+6gEfNDsA//8Auv/zBYwFmgQnAeEASgKGACcBlQD4AAABBwI/AwoAAAAHsQYEAD8wMQD//wCF//MGJgW3BCcCOgCQApQAJwGVAZsAAAAHAj8DpAAA//8Ai//zBhYFqAQnAjwAgAKTACcBlQGCAAABBwI/A5QAAAAHsQIEAD8wMQD//wC6//MF2AWkBCcCPgCVAo8AJwGVAS0AAAEHAj8DVgAAAAexBgQAPzAxAAACAET/6ARGBfcAKQA/ABlADCoAABI1HwtyCRIAcgArMisyETkvMzAxQRYWFzYuAycmBgYHJz4CFx4DBgcHDgQnLgM3Nz4DFyYOAgcHBh4CFxY+Ajc3LgMCYVGONAQJIDtbQC9YViwPL2ZpNoKqXyYCDQgNPV+FrWxwpGcpCgMMVYm3fUVrTC8IAwUHJ1BDUXNKLAoPBCg+SQQGAkM/NHRvXTgDAQ0aD7MYIQ8BAmyy2d9iO1y9rYZNAwJXkrxoFmq4i0vBAjRbdD0WNnJiPQMCS3yQQVwoPiwYAAEAHv8WBUkFsAAHAA61BAcCcgIGAC8zKzIwMUEBIxMhAyMBBUn++O3r/bfr7QEIBbD5ZgXd+iMGmgAD/6b+8wUBBbAAAwAHABAAH0AODgYGBwcPAnIMAwMKAgsALzMzMxEzKzIRMxEzMDFFByE3AQchNwEHASM3AQE3MwQqIvv3IgTgIvwnIgJGA/zkqRsCtf5DGJhOv78F/r+//LIf/LCbAtACzIYAAAEAmgJwA/gDMQADAAixAwIALzMwMUEHITcD+CL8xCIDMcHBAAMANP//BPMFsAAEAAkADQAWQAoJCwsKBAgIAQJyACs/My8zETMwMWUBMwEjExMHIwMHNyEHAdwCQtX9OaAdUgiIjaojAUoi9QS7+k8DA/3U1wMDwsLCAAAEAEn/6AeuBFEAFwAvAEcAXwAdQA5bNjYeEwtyTkNDKwYHcgArMjIRMysyMhEzMDFTNz4DFx4EFwcOBCcuAzcHBh4CFxY+Azc3Ni4DJyYOAgUHDgMnLgQnNz4EFx4DBzc2LgInJg4DBwcGHgMXFj4CUwMNWpLCdleIZkcuCwUTUXSOoFRwomgq9AMFCSpVRTVkWUk2DgYEFy5DUi9JclExBl8DDVqSxHZXiGVHLQoEE1J1jqBUb6NnKfQDBQkqU0U1ZFhKNg8HAxUuQlIuS3JRMQIKF23Kn1oDA0BriJdLJE+fjm8+AQJem8B7Fzd4aUMBAStKXmQvIyxeWEYsAgI/bIIxF23Kn1oDA0Jti5hLJE+djGw+AgJenL97FzZ4aUQCASpIW2MwIitgWkktAgM/bIEAAAH/D/5GAx4GGQAfABC3GxQBcgsED3IAKzIrMjAxRQ4CJyYmJzcWFjMWNjY3Ez4CFzIWFwcmJiMiBgYHAR0NYKRzJEQiIxMpFTVIKAi/DmasdShMJiQXLRc4UTEITW+kWgIBCwm6BwgCLk8wBPFxqFwBDQi3BgcuUzQAAgAxAQQEOAP5ABkAMwAbQAsXBIAKEUAxHoAkKwAvMxrdMhreMhrNMjAxUzc2NjM2FhcWFjMyNjcHBgYjIiYnJiYjBgYDNzY2MzYWFxYWMzI2NwcGBiciJicmJiMGBnoTMoFIQWs3MmM8S300Fi90RDxmMjdpQE+HgBMyfUdBazgyZDtMfzUWMHdFPGUzNmlAToQCudMyOgErIBwqTTHTMDwpHh8rAUv+K9MxOwEsHx0pTDLTMD0BKR0fLAFLAAMAYACBBBgEvQADAAcACwAfQA0CAQEKCgsAAwMHBwYLAC/OMhEzETMRMxEzETMwMUEBJwEXByE3AQchNwPZ/ShpAtmnI/y0IwMDJPy1IgR6/AdCA/rrxsb+WMbGAAAD/9YAAQPfBFEABAAJAA0AIkAQAwcGAAQIBgUJCQECAg0NDAAvM3wQzi8yMhgvMxc5MDFBBQcBNyUFBzcBAwchNwEDAmIo/Q0bA079YMUeA3OsIvzFIgLK48MBRn6T3R+NAUX8aLi4AAMAFAAAA/EEVAAEAAkADQAiQBADBwYABAgGAQICBQkJDQ0MAC8zfBDOLzIyGC8zFzkwMUElNwEHBSU3BwEFByE3AzH9kicDBxr8nAKtzR38eAMpIvzFIgKz4cD+u3+X3SSO/rxvubkAAgA8AAAD4wWwAAcADwAdQA4FCAgOBxJyAwoKCwECcgArMjIRMysyMhEzMDFTATMHARMHIzcBAzczEwEjPAHptEr+lbEEmVYBbK8Dmfz+FqsC5ALMv/3Z/dymvAIoAiSo/Rr9NgD//wBjAKgCCgUIBCcAEgA1ALYABwASAMgECQACAGcChAJ2BDoAAwAHABC2BgICBwMGcgArMjIRMzAxQQMjEyEDIxMBSEyVTQHCTZRNBDr+SgG2/koBtgAB/9H/ZAEMAQAACQAKsgSACQAvGs0wMUEHBgYHJzY2NzcBDAoNYkt3KTwNDwEASmOuQU07eUdU//8AXgAABZAGGQQmAEoAAAAHAEoCNQAAAAMATgAABFMGGQAQABQAGAAbQA8YBhcKchMUBnINBgFyAQoAPysyKzIrPzAxYSMTPgIXFhYXByYmIyYGBxcHITchAyMTAT3sxRGAzYNOlko3Onk+ZoQQyiD9oR8D5rzsvAR/g7dgAgIlFsUXHAJlZUawsPvGBDoAAAMAXgAABK0GGQASABYAGgAbQA8ZGgZyFAByDgYBchMBCnIAKzIrMisrMjAxYSMTPgIXHgIXByYmIyIGBgcTATMBAwchNwFO7MgQeMB8SpaTSXhLmk09YUAKowEH6/76xSD9nCAEmXysWAIBDxcLtg4ZK1M8+2QF5/oZBDqwsAAABQBeAAAGvAYaABEAFQAmACoALgAlQBQjHAFyLioUFQZyDQYBci0XFwEKcgArMhEzKzIrMjIyKzIwMWEjEz4CFxYWFwcmJiMiBgYHFwchNwEjEz4CFxYWFwcmJiMmBgcXByE3IQMjEwFO7MoObLB3JEcjFxYtFzlXNwnOH/2VIAMp7MQRgM2DTpVKNjp5P2SEEcof/aAfA+a87LwEonKqXAEBCwi8BgYrUDhosLD7xgR+hLZgAQElF8UWHAFjZUawsPvGBDoABQBeAAAHBgYaABEAFQAoACwAMAApQBcrAHIkHAFyLhQULRUGcg0GAXIpFwEKcgArMjIrMisyMhEzKzIrMDFhIxM+AhcWFhcHJiYjIgYGBxcHITcBIxM+AhceAhcHJiYjJgYGBxMBMwEDByE3AU7syg5ssXYkRyMXFi4XOFc3Cc8g/ZUgAynsyRB4v3tKlpVId0yaTD1iQAqjAQbs/vrFH/2bHwSicqpcAQELCLwGBitQOGiwsPvGBJp8qlgBARAWC7YNGAEqUzz7ZAXn+hkEOrCwAAAEAF7/7QT7BhkAAwAXABsALQAlQBQiKQtyEwpyCRwcDQ0EAXIYAgMGcgArMjIrMhEzETMrKzIwMUEHITcBFhYXByc3JiYjIgYGBwMjEz4CAQchNxMzAwYWFhcWNjcHBgYnLgI3AdUf/qggAkhy2mgf5xAmWCk4UjEKy+vKDmmuAqog/a8f2euzBAolJhUrFBAkSSZabS4IBDqwsAHeAj4rzwFYEw8vUjX7XQSicqlc/iGwsAEJ++YiNB0BAQUDugsKAQFRiFQAAAQAFf/qBpsGFgAbAB8AMQBnADFAGzsyQGRgWwtyAUVJQAdyJi0Lch4QHwZyFAoBcgArMisyMisyKzLMMivMMxI5OTAxQSMuAjc+AxceAwcjNiYmJyYGBwYeAgEHITc3MwMGFhYXFjY3BwYGJy4CNwU2JiYnLgM3PgMXHgIHJzYmJiciBgYHBh4CFx4CBw4DJy4CNxcUFhYXMjY2A8VyEDooBwdNdY1GW4xfLQTsAxdCPkptDAgGEAwC0R79tR607JEEByQnFSsUECRLJmBqJQn+HAk+Xyg8eWM5BARRgJlMaLFpAuoCJUoyL1dABwchO0IcVaJlBgRWh6BNa7lvAeMtVDovX0cC9lCnqVNOckojAQI3ZI5ZNV06AQFXSjhycnIBCrCwWfyoIT0nAgEGA7oLCgECYZhUETY9IAoPL0hnSlR/VCgBAk+XcQEzSSgBH0EwJjEeEwcWR39mWX9SJgICVJ9zATpQKQEbPgAV/6j+cghEBa4ABQALABEAFwAbAB8AIwAnACsALwAzADcAOwA/AEMARwBXAHMAjACaAKgAAEEjEyEHIyEjNyEDIwEhEzMHMwUhNzM3MwEhNyEFITchASE3IQEHIzcTByM3ASE3IQEHIzcBITchBSE3IQEHIzcTByM3AQcjNwUTMwMGBiMiJicXBhY3MjYlIzcXNjY3NiYnJwMjExceAgcOAgcGBgcGIgcnNzM2Njc2JicnNzcyFhcWBhceAhUGBgEHBgYnJiY3NzY2FxYWBzc2JicmBgcHBhYXFjYBJ28yAS0UvgZ+whUBLjJt+TH+0jhvJL8GGf7SFMAkbf4n/vEUAQ/85P7yFQENARj+8xUBDQPhLG4t8C1tLPxN/vEVAQ78ny1vLQTo/vIVAQ4Bb/7xFQEP+i8tby2wLG8sBxksbi3+9jpjOwloUFFpAlkCJTAsOv3zmgRsLFYJCUAiZlFeYKguWToBAjJGHwQCBAQPLr40fytKCQYsJHwGiwUTBAMDBBg1IwGA/sMHCYZkYHMDCAqFY190ag4FMEBDUQoPBjFBRFAEkQEddHT+4/nhATvKcXHK/sVxcXEGV3T7dPn5AvL6+vpecQI/+fkEGHR0dPzu/PwBePr6/oj8/PQBe/6FTlxSVQIrMwE6cEYBAiIyLBQBAf4vAiUBARk+NzgnERgDDwME9QNIAygvKSMDAUYBAgUDDwMYEiIyV0kBR3BhfgICfF9wYnwCAnzOcjpXAgFYPXI7VwIBWAAFAFz91QfXCHMAAwAeACIAJgAqAABTCQIDMzQ2NzY2NTQmIyIGBzM2NjMyFhUUBgcOAhM1IxUTNTMVAzUzFVwDvAO//EF3yhkpRGKnlX+xAssCPic4OTUoLz0dycp/BAYEAoMDz/wx/DEC3jM+GyWBUoCXfY03MEA0NE0aITpO/ruqqv1IBAQKmgQEAAH/5AAAAnsDIwAcABC1AxwcCxMCAC/MMjMRMzAxZQchNwE+Ajc2JiciBgcHPgIXHgIHDgIHBwJOGv2wFwE4Gj4vBwYsKjpFDLQHV4lTSH1KAwNMbDOekZGEAQEWOEAlKTEBSDUCVHpBAQEzZ1BGbVgldQAAAQBwAAACDAMUAAYAI0AVBAUFAwMvAH8AAg8AXwCvAP8ABAABAC/NXXEyETMRMzAxQQMjEwc3JQIMgrFjzBsBawMU/OwCPDGXcgACABb/8QKBAyQAEQAjAAyzFw4gBQAvM8QyMDFBBw4CJy4CNzc+AhceAgc3NiYmJyYGBgcHBhYWFxY2NgJ6EApQjGVgdjMHEQtPjGZfdzHNFAQFJy4xOx4FFQQGJy8xOx0B1phdmFgDA1qTWphemFgDA1uV+7EjTzkBAjZSKLAkTzkBAjVTAAEAYf/zA7QEoAAyABdAChQeHiYBMQoMJn4APzM/MxI5LzMwMXczFj4CNzc2LgInJgYGBwYWFhcWPgI3Fw4CJy4CNz4CFx4DBwcOAwcjwQ9dn3xRDyAEByA+MUFgOggFHEc7J0s/Lgo/DmuZU3GWRwgKhdB8ZpJYIAkJE3S8/JwbswInVohg2SlURSsBAUJqPDVbOQEBFy0+JkRVfkUBAmasa3zBbAICToOqXkua8KVVAQAEAB7/7gO/BKAAEgAiADQARAAdQA0oFxdBDg4FOTF+HwULAD8zPzMSOS8zMxEzMDFBDgMnLgI3PgMXHgMHNiYmJyYGBgcGFhYXFjY2AQ4DJy4DNz4CFx4CBzYmJiMmBgYHBhYWFzI2NgN4BVOGolFjtnAFBVaIn05HjHND7AcrTi41YUEHBilOMDVgQgEwBFB+lUhChGs+AgWAxGhhqWbzBiNCKjBRNgYFIUErMFI3AUdbhFMnAgFGj3FZf1EmAgEmTXZAMkUjAQEnTDkzRSMBAShNAj1Sd0wkAQIkSG5MdJVIAgJGi3ksPyEBJUYwLUEiASZJAAABAFkAAAQUBI0ABgAOtQUBBn0DCgA/PzMzMDFBBwEhASU3BBQZ/WP++wKe/YAhBI2R/AQDzAHAAAEAPP/sA54EnAAxABVACRYfHw4nCwMAfgA/Mj8zOS8zMDFBMwcjJg4CBwcGHgIXFjY2NzYmJicmBgYHJz4CFx4CBw4CJy4DNzc+AiQDNicVDGKphVgPGQUJIkE0P2I+BwYfSTo1ZkwPOA5yoVdtkkQICYXPemSWYSgKCRR5wAEABJzEAi1hk2WsK1dJLQEBO2Q6N1c0AQEpTDVIV4JGAQJprGd8u2YDA0h+pmBRmfGpWgABADD/6wPdBI0AIwAXQAohCQkCGRELBQJ9AD8zPzMSOS8zMDFBJxMhByEHNjYXNhYWBw4CJy4CJzMWFhcyNjY3NiYmJyYGATzBrgK0Iv4TVy1lM3CcTQgJg9F8Za9tA+YEXEpCYToGBiRPOzZdAg8xAk3D/BcWAQFgqG5+uWMDAlCWa0xFAThjPzlYMgEBIAAC//8AAAO1BI0ABwALABVACQABAQoEC30KEgA/PzMSOS8zMDFBByE3ATMJAgMjEwO1IvxsEgKTyf73/qMClMrrygG7wKMC7/6o/ocC0ftzBI0AAgAI/+4DwASgAB0APQAdQA0fAAAdHh4SNCoLCRJ+AD8zPzMSOS8zMxEzMDFBFz4CNzYmJiMmBgYHBz4CFx4DBw4DIycHNxceAwcOAycuAzcXBhYWFxY2Njc2LgInAW1wNmhJCAcnSS0vVT0L7gmHx2dLjXA+BARTgpNFsgoVlEeKcD8FBFmNplJQj2w+AukBMFExN2RFCAYZM0YoAqcBASFLPDFAHwEcPC8BcpFFAgEmT3pVUnFFHwE3cwEBHEBvVF2GVicCASxXgFYBM0QhAQIlTTotPSURAQAB//IAAAO8BKAAHgAStwsUfgMeHgISAD8zETM/MzAxZQchNwE+Ajc2JicmBgYHBz4CFx4CBw4DBwUDdCL8oB4B1SlhTAkKT0U/YD4J7AqI0XZnr2UIBUNkcjX+5b+/rAGGI1VlOUZSAQEwWjwBe69bAgFNlnBJfWtcKdQAAQC0AAADDASNAAYACrMGfQIKAD8/MDFBAyMTBTclAwzD7Jn+viQCFQSN+3MDcVLGqAACADn/7QO9BKAAFQArAA61HBF+JwYLAD8zPzMwMUEHDgMnLgM3Nz4DFx4DATc2NCYmJyYOAgcHBhQWFhcWPgIDshwOSXqtcGqTVR0LHQ5Jeq1wa5JVHP7rIgUZPzg8VjcfCCIFGT45PVU3IAKtzGe2i0wDAlOKsGHNZ7WLTAMCU4qw/r74K2FVOAICMVVmM/YsYlY5AgIyVmcAA//WAAAEKgSNAAMACQANABxADAQMDA0NCH0HAwMGAgAvMzMRMz8zLzMRMzAxZQchNwEBIzcBMyMHITcDkSL8piID2fx0rhoDk6dSIfzKIr+/vwM9/ASUA/nAwAADAGwAAASCBI4ABAAJAA0AG0AQCAcDBAYACg0IAQwKcgUBfQA/MysRFzkwMUEBIQEjAxMHIwEBAyMTAcgBqwEP/deJcNoxgP7jAgxf618CDgJ//PcDCv1ocgMJ/ZX93gIiAAH/ogAABH0EjQALABVACgcKBAEECQUDAH0APzIvMxc5MDFBEwEhAQEhAwEhAQEBh6MBMgEh/iYBF/73sv7E/t8B5v77BI3+awGV/bH9wgGc/mQCVwI2AAAEAIsAAAYeBI0ABQAKAA8AFQAgQA4SBBABDgQMAQgEBgF9BAAvPzMRMxEzETMRMxEzMDFlATMHASMTEwcjAwEBMwEjExMHIwM3AVoBjYkd/maMOiAflUgDSQFf6/4kkwVKFY1OItMDutD8QwSN/D/MBI38UwOt+3MEjfwzwAPVuAAAAgBuAAAEtwSNAAQACQAPtQcDBQF9AwAvPzMRMzAxQQEhASMDExMjAwIJAawBAv2LtyyFEqjgAToDU/tzBI38l/7cBI0AAAEAOP/sBGQEjQAVAA+1DBEGAH0GAC8/ETMyMDFBMwMOAicuAjcTMwMGFhYXFjY2NwN37YISkt6Fe8JmDoHrgggkWEVJcEgLBI39AIa8XwMCYriCAwD8/0NiNwICNGRIAAIAYwAABF4EjQADAAcAEbYGBwcBAH0BAC8/ETkvMzAxQQMjEyEHITcC5MrsywJlI/woIwSN+3MEjcDAAAEAD//uA/4EngA5ABhACgomDzYxKxgUD34AP8wzL8wzEjk5MDFBNi4CJy4DNz4DFx4CByc2JiYjIgYGBwYeAhceAwcOAycuAzcXBh4CMzI2NgK9CCI9SiFEhWs8BQVXh6FOb7xxAuoDLlY4MWRKCAcnQkodRoRoOQUGWYqkUFeee0UC6wMdO1IxMmVJATgsOycYChQ2UHVTWIJUJgECUJ93ATpOKB1CNik3JRcJFDlUeVRcgFAkAgEwXY1eATRKLhccQAACAAkAAAQWBI0AGQAeABhAChsNDQwMGhgXAH0APzIvMzkvMxI5MDFTBR4DBw4CBwchNwUyNjY3NiYmJycDIyEDNxMV0wGvUJRyPgYGVYlVUv5pIAEbO2tLCQcoUDXfqewCs7/tzgSNAQIoUYFaZYRXIynAASdRQThLJQIB/DMCBAL+Bw0AAAMAOv8vBFYEoAADABkALwAcQAwAAwMrKwoKAiAVfgIALz8zEjkvMxI5ETMwMWUBBwEBBw4DJy4DNzc+AxceAwc3Ni4CJyYOAgcHBh4CFxY+AgKrASSi/uMCOwYPXpnOfnmsaykLBg5fmc99ea1qKfwHBggqWkxReVQyCQgGBypaTVF7UzKu/vx7AQUCMTh30p9YAwJenspuOnfRoFgDAl+fyqI6PYBuRQMDQG+JRjs9gXFIAwNCcosAAAEACQAABDAEjQAYABO3AgEBDQwPfQ0ALz8zEjkvMzAxQSU3BT4CNzYmJicnAyMTBR4CBw4DAjT+uCIBLDxwTgoIKFM296nsywHGcLtrCAdZjqwBmgHAAQElUEI5UiwDAfwzBI0BA1ameWSQWysAAgA7/+0EWASgABUAKwAQticGHBF+BgsAPz8zETMwMUEHDgMnLgM3Nz4DFx4DBzc2LgInJg4CBwcGHgIXFj4CBEwGDl6Yz355rWspCwcOX5nOfnitair9BwYIKllMUXlUMgkHBwcrWkxSeVQwAmk5dtSgWQMCXp7Kbjp30aBYAwJdnsmmOj2AbUYDA0BviUY7PYFxSAMDQ3GLAAEACQAABKgEjQAJABG2AwgFAQcAfQA/Mi8zOTkwMUEDIwEDIxMzARMEqMrk/omO7MvjAXiNBI37cwMt/NMEjfzTAy0AAwAJAAAFyASNAAYACwAQABZACQIOCgUMBwQAfQA/MjIyLzMzOTAxQTMTATMBIwEzAwMjATMDIxMBQMKzAdjW/Xai/p3HcDbsBPXKy+w6BI38sQNP+3MEjfyo/ssEjftzAUoAAAIACQAAAzEEjQADAAcAD7UGAwIEfQIALz8RMzMwMWUHITcTAyMTAzEi/Zsi88rsy7+/vwPO+3MEjQADAAkAAASdBI0AAwAJAA0AF0AMBgcLBQwIBgoBBAB9AD8yLzMXOTAxQQMjEyEBASc3AQMBNwEBv8rsywPJ/bX+vxHjAYSZ/uG8AW0EjftzBI39uf7u8+kBfftzAiON/VAAAAH/8//tA68EjQATAA20EAwHAX0APy/MMzAxQRMzAw4CJy4CNxcGFhYXFjY2AjyG7YcQeb52c6taBesDHUQ5OVEvAW4DH/zidK5gAgNWoncBNVAtAQI3WAABABoAAAHPBI0AAwAJsgB9AQAvPzAxQQMjEwHPyuvKBI37cwSNAAMACQAABKkEjQADAAcACwAYQAoCAwMECQUIBH0FAC8/MxEzEjkvMzAxQQchNxMDIxMhAyMTA6ch/X4imcrsywPVy+rKAp3AwAHw+3MEjftzBI0AAAEAP//vBE4EoAAqABZACSkqKgUZEH4kBQAvMz8zEjkvMzAxQQMOAicuAzc3PgMXHgIXJy4CJyYOAgcHBh4CFxY2NzcjNwQsRziktVB6sG8sDQkPXJbLf326bQriBjJZQVF4VDEKCggKMGBOPXMzKPUfAmL+L0FGGwIBWpvJckl3zptVAwJYq38BQFYsAwI9aoVITEGCa0ECARkhzK0AAwAJAAAD6ASNAAMABwALABpACwcGBgEKCwsBAH0BAC8/ETkvMxE5LzMwMUEDIxMBByE3AQchNwG/yuzLAn8i/dciAr4i/ZciBI37cwSN/hHAwAHvwMAAAAMAD/8TA/4FcwADAAcAQQApQBMHPj4kCBczBgYzCwIgIBcAABd+AD8zLxEzETM/My8REjk5MxEzMDFBAyMTAwMjEyU2LgInLgM3PgMXHgIHJzYmJiMmBgYHBh4CFx4DBw4DJy4DNxcGHgIzPgIC8zWWNlA2ljYBRQgiPUkiRIVrPAUFVoigT2+8cQLqAy5WODFkSQkHJ0JKHUaEaDkFBlmKpFBXnntFAusDHTtSMjFlSgVz/swBNPrU/swBNPEsOycYChQ1UHZSWYJTJwECUJ93ATpOKAEeQzYoNyUXCRQ5VHlTXIFQJAECL16NXgE0Si4XARtAAAMAEQAABAgEoAADAAcAJgAdQA0EBQUBIhl+DgICDQEKAD8zMxEzPzMSOS8zMDFhITchAwchNyUHDgIHJz4DNxM+AxceAgcnNiYmJyYOAgOU/H0hA4R/Gf0GGQGQHAg6Y0WKJjAdDwUfCkNxnmV5oEsE7gQQOjwzSS0ZwAG5kJBp+VOPdCtZDkJWVyIBAV6jekQDAmezdgExYEACAS1MWwAFAAIAAAPnBI4AAwAHAAwAEQAVABtACwYHAwICERQKCRF9AD8zPxI5fC8zGM4yMDFBByE3BQchNyUBIQEjAxMHIwMBAyMTAzsa/QcZAtQa/QcZAWkBYgEB/iaJJ40sgcwBvWDrYAJEkZHYj4+iAn/89wMK/WhyAwn9lf3eAiIAAAIACQAAA+AEjQADAAcADrUHBgN9AgoAPz8zMzAxQQMjEyEHITcBv8rsywMMIv2cIgSN+3MEjcDAAAAD/6QAAAPrBI0AAwAIAA0AG0AMCAx9AAUFCQIDAwkKAD8zETMRMxEzPzMwMWE3IQcBEzMDIwEBEyMBAysi/TMiAgqE/+Gz/jwBtXem/YvAwANR/K8EjftzA2oBI/tzAAADADv/7QRYBKAAAwAZAC8AF0AKAwICCiAVfisKCwA/Mz8zEjkvMzAxQQchNwUHDgMnLgM3Nz4DFx4DBzc2LgInJg4CBwcGHgIXFj4CAy0i/mYhAroGDl6Yz355rWspCwcOX5nOfnitair9BwYIKllMUXlUMgkHBwcrWkxSelMxAqHAwDg5d9OgWQMCXp7Kbjp30aBYAgNdnsmmOzyAbkUDA0BviUY7PYFxSAMCQnGLAAL/pAAAA+sEjQAEAAkADrUBCQoECH0APzM/MzAxQRMzAyMBARMjAQJohP/hs/48AbV3pv2LA1H8rwSN+3MDagEj+3MAA//bAAADoQSNAAMABwALABdACgcGBgIKC30DAgoAPzM/MxI5LzMwMWUHITcBByE3AQchNwL4Iv0FIQMMI/2XIQMEIf0DIsDAwAH+wcEBz8DAAAMACQAABKQEjQADAAcACwATtwoFCwcCAAN9AD8zMzMzLzMwMUEHITczAyMTIQMjEwP7Iv1/IkXK7MsD0MrtywSNwMD7cwSN+3MEjQAD/9oAAQQMBI0AAwAHABAAJUASDQgJAwoGEBAOB30KAgwDAwIKAD8zETMRMz8zMxEzEhc5MDFlByE3AQchNwEHASM3AQM3MwOHIvzPIgO2IvzwIgF/Av4MqxsBhu8YmsC/vwPNwMD90Bf9u50BvgGrhgADAEEAAAU0BI0AFQAnACsAFUAJFgAAK30eDCoKAD/NMj8zLzMwMUEXHgMHDgMjJy4DNz4DFyYGBgcGFhYXFxY2Njc2JiYnEwMjEwLBeGi7jkoJCnGy2XN4aruMSAkKcbLZZGGkbA4MOXtZi2SkawwLOnxXWcvsywQZAQI5cKpzfbd4OgICO3Stc3y1dDi7ATuAZ115PwMBAT+EaVx1OgMBL/tzBI0AAgBtAAAFRQSNABkAHQAfQA4VFBQGBwcNHA4AHR0NfQA/MxEzPxI5ETMzETMwMUEzAwYCBCcnLgM3EzMDBh4CFxcWNjY3AwMjEwRa6zIapf7yuEmBunIrEDLrMgkHMGZVSn2jWxK4y+vKBI3+07H++JMBAQNbntJ7AS7+0UmKbkQEAQNntHMBLvtzBI0AAAMAAAAABHEEoAAsADAANAAnQBMtNAouMwooEhIpEREyMjEKBh1+AD8zPzMRMxEzMxEzPzM/MzAxQTc2LgInJg4CBwcGBhYWFwcuAzc3PgMXHgMHBw4DBzc+AgE3IQchNyEHA3MFBwwvW0dMdlU0CQUHAhpGQApnlFwlCQQMZJ3Jcm2sdDUJAw1ZjrxxC2B4P/7JIwHAIvwQIgHAIwJrKz5zXTgCAjRefEUrOn1zWRh1EmaXtWIjcr2LSwMCTou3aiRwwJJdD3Ugf6j99cHBwcEAAAMAYv/rBQsEjQADAAcAIwAcQA0XFgsgDQ0DBAoFAgN9AD8zMz8SOS8zPzMwMUEHITcTEzMDEzc+AhceAgcOAwc3Mj4CNzYmJicmBgYEGyL8aSKHyu3LBw81fH47fLhgCQdaj7RgEzJZRiwICCZZQzx2dASNwMD7cwSN+3MB+78aHgwBAV2xgG2UWSgBuhcvTDVFWzABAhMfAAACADn/7QREBKAAAwArABdACgABAQkdFH4oCQsAPzM/MxI5LzMwMUEHITcBNw4CJy4DNzc+AxceAhcjLgInJg4CBwcGHgIXFjY2Ar0i/kQhAgzqFJjjgnipZiUMCg5clcl7gb1sCOoCLV1HUHZPMAkKBwMlVUxLckwCp8DA/twBhbdbAwJcnMdtT3POnFYDAmO4f0ZhNAMCPWuHRFE7f21GAgMvYQAAA//B//8GwwSNABEAKQAtACBADygpKRwsHQEtfR8cCgsICgA/Mz8zPzMzMxI5LzMwMUEzAw4EJyM3Nz4ENyUeAgcOAychEzMDFzY2NzYmJiclNwMHITcBc+9uEixEbJ5xNhYiQ1o5IhUIBCBuu2wIB1iOrVv+G8rtqd1emQ4IKlM0/rYiICL90iIEjf34XLqmgUkByAEEQWV4eTRfA1OheWSTYi8BBI38MwEBZ2M4SygCAcABlcDAAAMACf//BsYEjQAXABsAHwAhQA8XFhYbGhoeCx99DQoKHgoAPzMRMz8zEjkvMzMvMzAxQR4CBw4DJyETMwMXNjY3NiYmJyU3BwchNxMDIxMFL268bQgGWo2uWv4ay+up316YDggqUjX+tyJrIf2NIpnK7MsC9wNToXljlGIvAQSN/DMBAWdiOUsoAgHAW8DAAfD7cwSNAAMAYwAABQoEjQADAAcAGwAZQAsYDQ0DEwQKBQIDfQA/MzM/MxI5LzMwMUEHITcTEzMDEzc+AhceAgcDIxM2JiYnJgYGBBwi/Gkjh8rsywcNNnt+O4O5WA437DgJHlVLO3ZzBI3AwPtzBI37cwH7vxoeDAEBZLuH/qoBV0hlNwICEx8AAAQACf6hBKMEjQADAAcACwAPABtADA8LfQMHBw4KAgIKCgA/My8RMzMRMz8zMDFlAyMTJQchNxMDIxMhAyMTAo5c7FwBsCL9fyLuyuzLA8/K7Muz/e4CEg3AwAPN+3MEjftzBI0AAAIAC//8A/gEjQAXABsAG0AMAgEBDQsOChsaGg19AD8zETM/MxI5LzMwMUEhBwUeAgcGBgcnEyMDBRY+Ajc2JiY3NyEHAm/+uSIBLDRcNwECjVr7qunKAchcsJNiDRBftfoh/YciAunAAQEiSTxjXQEBA837cwICL2CTYnmeT+m+vgAD/4P+rwS/BI0AEAAWAB4AI0AQGh0dCRcKChwUCQoWEREAfQA/MhEzPzMzMxEzETMvMzAxQTMDDgQHIzcXPgM3EyEDIxMhASEDIxMhAyMBmutTEDJMbJJgUBogQF5BLA+MAunK66n+Af4sBMhc7Dv9DzvsBI3+Y1q7sphzHr8BPH+KmVcBmvtzA8388/3vAVH+sAAABf+qAAAGRQSNAAMACQANABMAFwA1QBkUFxcRDAsLBwcREQYODg8KAgIVCgkDAw99AD8zETM/MxEzEjkvMzMRMxEzETMRMxEzMDFBAyMTIQEhNzMBAwM3CQIhEzMHJwEhAQPjyuzKA07+B/7XFacBQ6q7zAEE/Bf+/gEJnbY1jf6f/s8B7QSN+3MEjf1L1QHg+3MCC5D9ZQHYArX+INUf/gkClwACAA7/7gPrBJ8AHgA+AB1ADR8CAgE+PhU0KgsLFX4APzM/MxI5LzMzETMwMUEnNxc+Ajc2JiYjJgYGBwc+AxceAwcOAycXHgMHDgMnLgM3Fx4CFxY2Njc2LgInJwIuwhaBN2pKCAg0WC4xV0EM7QdVhJ1QSZN6RgQDVIKX/qVEinFCBAVfk61VUJNxQALoATFSNDlyUgkGGjZJKJcCKwF9AQEdRz82QRsBGzwxAVh+TyQBASFGd1dUeEwlRwEBIERvUmGGUiQCASpUgVkBN0MdAQEgSkAvPyQRAQEAAwALAAAErQSOAAMABwALABtADAADCgcLCgECBQUIfQA/MxEzMz8zMzMzMDF3ARcBATMDIwEzAyNaA3KP/JAC2enK6f3b6crpVgQ4V/vJBI37cwSN+3MAAAMACgAABGoEjQADAAkADQAfQA4MCwsHBwYGAgkDfQoCCgA/Mz8zEjkvMxEzETMwMUEDIxMhASE3MwEDAzcBAcDK7MsDlf26/u4GtAF9rfq2AVsEjftzBI39S9UB4PtzAguQ/WUAAAP/wf/+BJgEjQADAAcAGQAYQAsTEAoHAgMDCH0GCgA/PzMRMzM/MzAxQQchNyEDIxMhMwMOBCcjNzc+BDcD4CL90iIC5svsyv3I7m8SLUVqnXA2FyJCWTkiFQkEjcDA+3MEjf33W7ingkoCyAIHQWN2eDQAAgB2/+gEiQSNABIAFwAXQAoBF30VFhYODgcLAD8zETMRMz8zMDFBASEBDgIHIiYnNxYWMzI2NjcDExMHAQIIAXUBDP3cLWiLYxw2GhEUKRQyRzYXIJ8orP7rAecCpvx4UIFLAQMCwQMEKUMoA1L9p/7zRQOrAAQACf6vBLgEjQAFAAkADQARAB1ADRENfQUJCRALCAICCAoAPzMvETMzMxEzPzMwMWUDIxMjNzMHITcTAyMTIQMjEwS4btk6gCIFIv1/Iu7K7MsD0Mrty8D97wFRwMDAA837cwSN+3MEjQACAFsAAARbBI0AAwAXABO3FAkJAgMOfQIALz8zEjkvMzAxQQMjEwMHDgInLgI3EzMDBhYWFxY2NgRbyuzKCA41dHY6hcFfDznsOggdVks7dnMEjftzBI39/78YHw4CAV+7jAFc/qNIZDcDARIfAAQACQAABkMEjQADAAcACwAPABlACwsHBw8QCgYGAw59AD8zMxEzPzMRMzAxZQchNwEDIxMhAyMTIQMjEwTxIvvGIgNKyuzKAy7K7Mr8aMrsy8DAwAPN+3MEjftzBI37cwSNAAAFAAn+rwZXBI0ABQAJAA0AEQAVACdAEhENDRV9BBACAhAQDAwTEwkICgA/MzMRMxEzETMvETM/MxEzMDFlAyMTIzczByE3AQMjEyEDIxMhAyMTBldu2DqAIgQi+8YiA0rK7MoDL8vsyvxoyuzLwP3vAVHAwMADzftzBI37cwSN+3MEjQACAEv//ATlBI0AAwAaABdACgYFBQ8SChEBAH0APzIyPzM5LzMwMVMHITcBJQcFHgIHBgYHJxMjAwUWNjY3NiYmbCEBuyIBPf65IgEqNls3AQKPWvuq6coByHvknhIQX7MEjcDA/moBwAECJkw7YmYBAQPN+3MCAlmxgXiiU///AAv//AXZBI0EJgIjAAAABwH+BAoAAAABAAv//APzBI0AFgAVQAkVFhYKDAkKCn0APz8zEjkvMzAxQR4CBw4CJyUTMwMXNjY3NCYmJyU3AnFvs2AREp7lev44yumq+1uNAzZbNf7VIQL3A1OieIGxWQMBBI38MwEBZmI7TCYCAcAAAgAU/+0EHwSgAAMAKwAXQAoCAQEcCCcLExx+AD8zPzMSOS8zMDFBITchAR4CFxY+Ajc3Ni4CJyYGBgcHPgIXHgMHBw4DJy4CJwNY/kUhAbz9hAIvXkhRdE4tCgoHBSZXSktzTBDsFpjghHeqZycMCg9ak8d9fsFwBgHnwP7eR14wAgM+a4ZFUTp+bkYDAjNkRwGFul8DAlydxm5PdM2bVgMDX7OAAAQACf/tBhoEoAADAAcAHQAzAB1ADiQZfi8OCwMCAgYHfQYKAD8/EjkvMz8zPzMwMUEHITcTAyMTAQcOAycuAzc3PgMXHgMHNzYuAicmDgIHBwYeAhcWPgIClSL+kyKXyuzLBTwHDl2Zzn55rmspDAYPXprOfXitain8BwYHKlpLUXpVMgkHBwgrWkxRelMxAqTAwAHp+3MEjf3cOXfToFkDAl+ey284dtGgWAIDXZ7Jqjs9gW5HAwNAb4pGOj2CcEgDA0FxigAAAv/RAAAEUgSOAAMAIwAZQAsjAAQEGRsWfRkBCgA/Mz8zEjkvMzMwMUEBIQEFJSImJicuAicuAjc+AzMFAyMTJwYGBwYWFhcFAmf+dP72AZIB3v6jDRUVCgQGBgNIbTsFBVaKpVYBzcrsqcdXjQ4HJkwyATUCS/21AkuNAQcJBQUNDAYdTnNUYIhVJwH7cwPNAQFUXDdEIgIBAAP/9gAABEkEjQADAAcACwAbQAwLCgoDAgYHBwN9AgoAPz8zETMREjkvMzAxQQMjEyEHITcTByE3AijK7MoDDSH9myK7Hf1zHgSN+3MEjcDA/gGmpgAABv+q/q8GRQSNAAMABwANABEAFwAbADtAHAIOAQEODgYbGBgVEhIQDwwJCRMGBhkKDQcHE30APzMRMz8zERI5LzMzMzMRMzMRMxEzETMvETMwMUEjEzMBAyMTIQEhNzMBAwM3CQIhEzMHJwEhAQWlyVzJ/eLK7MoDTv4H/tcVpwFDqrvMAQT8F/7+AQmdtjWN/p/+zwHt/q8CEAPO+3MEjf1L1QHg+3MCC5H9ZAHYArX+INUf/gkClwAABAAK/q8EagSNAAMABwANABEAJ0ASEA8PCwoKBg0HfQIOAQEODgYKAD8zETMvETM/MxI5LzMzETMwMUEjEzMBAyMTIQEhNzMBAwM3AQO7yVzI/arK7MsDlf26/u4GtAF9rfq2AVv+rwIQA877cwSN/UvVAeD7cwILkP1lAAQACgAABRUEjQADAAcADQARAClAExAPDwoACwsKAwMKCgYNB30OBgoAPzM/MxI5LzMvETMRMxEzETMwMUEzAyMTAyMTIQEhNyEBAwM3AQHXmnCaWcrsywRA/br+QwYBXgF+rPy3AVsDjf1+A4L7cwSN/UvVAeD7cwILkP1lAAQAYAAABXQEjQADAAcADQARACFADxAPDwsKCg4GCg0HBwMAfQA/MjIRMz8zOS8zMxEzMDFTIQchJQMjEyEBITczAQMDNwGCAb8i/kECasrsywOV/br+7ga0AX2s+rUBXASNwMD7cwSN/UvVAeD7cwILkP1lAAABAD7/6AV3BKgARAAbQAwAAQEvGAskIyM6DX4APzMzETM/MzMvMzAxZQcuBDc3PgMXHgMHBw4CBCcuAzc3PgM3Bw4DBwcGHgIXFj4CNzc2NiYmJyYOAgcHBh4CBSYQfOS/h0ANBQtEdKZsaoxQGgkJE4nT/vuPidOLPQ4FDliRxHoWS21JKwkFCRlJgFxos4xZDQYFBRA4OD1UMxwGBQ5EkMqvwQM0ZJrViilht5FTAgNWjq9dRpDuqlwDAlmg3oYwdcqXVQPIAUBqgEElVpRwQAIDP3qnZjUnZ2JCAwI6XmwwLYWyay7//wBsAAAEggSOBCYB7gAAAAcCQQAJ/tMAAv+i/q8EfQSNAAMADwAiQBELDggFBAoGD30CCgEBCgoNCgA/MxEzLxEzPzMSFzkwMUEjEzMBEwEhAQEhAwEhAQEDwshcyP1powEyASH+JgEX/vey/sT+3wHm/vv+rwIQA87+awGV/bH9wgGc/mQCVwI2AAAFAGL+rwW8BI0ABQAJAA0AEQAVACJAEBENDRQVfRASDAkECAICCBIAPzMvETMzMz8/MzMRMzAxZQMjEyM3MwchNxMDIxMhAyMTIwchNwW8btk7gCEFIf1+Iu7K7MoD0cvryq0i/HUiwP3vAVHAwMADzftzBI37cwSNwMAAAwBbAAAEWwSNAAMABwAbAB9ADgAYGA0DAw0NBgcSfQYKAD8/MxI5LzMvETMRMzAxQTMDIwEDIxMDBw4CJy4CNxMzAwYWFhcWNjYB/ZlvmgLOyuzKCA41dHc5hcJeDznsOQkeVUs7dnMDQv1+A837cwSN/f+/GB4PAgFfu4wBXP6jSGU2AwESHwAAAgAJAAAECQSNAAMAFwAUQAkPEhQJCQF9ABIAPz85LzM/MDFzEzMDEzc+AhceAgcDIxM2JiYnJgYGCcvrygkPM3R3OIbCXg456zkJHlVLPHVzBI37cwICvxgfDgECX7uL/qIBXkhlNwICEiAAAQA7//AFlASnADQAG0AMGBgdHRERIgt+LQALAD8yPzM5LzMRMy8wMUUuAzc3PgMXHgMHByUuAzcXBhYWFwU3NiYmJyYOAgcHBh4CFxY2NxcOAgNWecOGPQ4PD2agz3d4snArDhf8I12FUiMFugQZR0EDBwUOK21VTHpZOQsTChhDcU5QmEkxNHuBDwFOkMd7dHPIlFICA1OSw3SYAQNBcZVYATtkPwQDG1J/SwICNmJ9RoVLelcxAQIjHLcgIgwAAQAy/+0EbwSkACsAFUAJERQUGQsLJAB+AD8yPzM5LzMwMUEeAwcHDgMnLgM3NyEHJQcGFhYXFj4CNzc2LgInJgYHJz4CAnt4wII6DRAPZ5/OeHiybywOGANmIv2NBQ4sbFVMelo4CxMJF0NxTlGXSTA1foQEowFQkcd4dHPHlVIDAlKSxHSZwAEaUYBKAwI3YX1Hg0t7WDEBASIduB8iDAAAAgAO/+gEBgSNAAcAJgAbQAwIBQUEJiYdEwsHAH0APzI/MzkvMzMRMzAxUyEHASM3ASETFx4DBw4DJy4DNxcUFhYXMjY2NzYmJicnygM8G/4ypBcBK/3t5J1Mi2o6BQZdkbBZUZNxPwLoM1U1PHBNCAgwWjaQBI2j/mV9AQH+6AICLVV/VGOPWSkCAitWgloBOEUfASRRQj5JIQIBAAADADT/7QRQBKEAFQAkADQAG0AOCyVqLR1qLS0LABZqAAsALy8rEjkvKyswMUEeAwcHDgMnLgM3Nz4DFyYGBgcGBgchNjQnNiYmAxY2Njc2NjchFAYXBh4CApd5rGoqCwYOXpnNf3mtaykLBw5fmc5wWoNUFQEDAgIgAQECJF3kWoJUFAIDAf3hAQEBEzBUBJ4DXZ7Jbjl21KBZAwJenspuOnfRoFnDBFGGTwYLBgYLBkeCVvzTAk+GTwYKBgUJBDZnUzQABAAHAAAECgSgAAMABwALACoAIUAPBgcDAgIJJh1+EgoKEQkSAD8zMxEzPzMSOS8zzjIwMUEHITcFByE3ASE3IQEHDgIHJz4DNxM+AxceAgcnNiYmJyYOAgNDGf0GGQLRGf0GGgNz/H0hA4T+FxwIOmNEiyYwHQ8FHwpDcZ5ld6FOBewDEjo7NEguGQK8kZHrj4/+L8ACIvlTj3QrWQ5CVlciAQFeo3pEAwJjrXUBMlo6AgEtTFsAAAMAHv/xA+4EoQAjACcAKwAdQA0nJiYqKysHGRJ+AAcLAD8zPzMSOS8zMy8zMDFlFjY3FwYGJy4DNzc+AxcWFhcHJiYnIg4CBwcGHgIBByE3BQchNwJlM2QyBjVsN26laSsMGxBYjsB3OnI5KTBiM0ltSy4JHAcGJ1ABMBn9DRoCyRn9DhmxARAMvg4PAQJLhLNrwHK8iUkBARQNuxAPATFYdEPDOWpWNAJQkZHukJAABAAJAAAHtgShAAMAFQAnADEAKUASKzAuLSQJCTEufSotChsSEgIDAC8zM3wvMxg/Mz8zMy8zERI5OTAxQQchNxM3PgIXHgIHBw4CJy4CNwcGFhYXFjY2Nzc2JiYnJgYGAQMjAQMjEzMBEwcjGv3WGhMGCmSiZWKIRQcHCmOhZWCJRrIIBBc/ODtVNAcIBBg/NzpWM/7oyuT+iY7sy+MBeI0BYZCQAaJJZJtWAgJZll9JY5lVAgJXlapLMlY3AQI1WjZKMVY3AgI1WQEI+3MDLfzTBI380wMtAAAC/9oAAAS0BI0AGAAcABtACxscAgEBDgwPfQ4KAD8/MxI5fC8zGM4yMDFBJTcFPgI3NiYmJyUDIxMFHgIHDgMHByE3Ar/9Rx8Cnj5tSggIJU41/wCp68oBz224aggGWIuqWx/9Ox8BnQGyAQEvWEA4TywCAfwzBI0BA1SidmKRXy5NsrIAAAL/9f/zAoUDIwAZADMAGUAKGwAAGRoaCBAsJAAvM8wyOS8zMxEzMDFTMz4CNzYmJyIGByM+AhceAgcOAgcjBzcXHgIHDgInLgI1MxYWFzI2NzYmJifuSSJBLgYHOikqQw+2B1iESEWBVAECXYc+gQcPYkF7TwECZpZLS35MrQFBMTFZCQYdNx8B0AIVLiYsKAEmKE1lLwEBLWBOS1gmAShSAQIgUk1WajECATZrUDIsATQ2JSkSAQAC//MAAAJ5AxUABwALABdACQMHBwEBBgUICgAvzDIyOS8zETMwMUEHITcBMwMHAQMjEwJ5Gv2UDAGynMnOAbaJsooBOZSCAe7+/9oB2/zrAxUAAQAL//MCkgMVACEAErYfCQkEAxkRAC8zzDI5LzMwMVMnEyEHIQc2NjM2FhYHDgInLgInFxYWNzI2NzYmJyIGz5Z4AeEa/rY6HkAgS2w4AwNYjVVHfFADrQQ1Lz1KCAY2NyI7AV4nAZCRnA0PAT5wSld/RAIBNmdLAi4nAUw7NUEBFQAAAQAW//MCbAMkAC0AE7YTHBwDAAwkAC8zzDI5fS8zMDFBMwcnJgYGBwcGFhY3PgI3NiYHIgYGByc+AjMyFhYHDgInLgI3Nz4DAh4iDgdZjl4ODwMOLislPScEBzUzIT0wDS4ISWs9SmcyAwNYjlNdfjwGBAxSh7ADJJYBAzR0W3ckQyoBASU8JDM+ARcrHyM+XTRGdUdVf0YBAlSPWjVrpHI6AAABACUAAAK6AxUABgAMswUBBgIAL8wyMjAxQQcBIwElNwK6FP5HyAG8/lsaAxVy/V0CggGSAAAEAAX/8wKCAyIADwAfAC8APQAXQAoMJDsDFBQ0LBwEAC8zzDI5LxczMDFlDgInLgI3PgIXHgIHNiYmIyIGBgcGFhYzMjY2Ew4CIy4CNTQ2NhceAgc2JiYjIgYHBhYWMzI2AlMCXY5KRIFSAQJgjkdCgFStBBoxGyA7KQUEGi8cIDsq4AJZhUI9eVBWhkZDeEy2BBQnGipEBwQUKBkrROFVaTABAS1iTVJmMAEBLV49HygUFy4iHykUFzABe0xfLAEqWEZPZzEBAS5fVxomEzIsGyYUNAAAAQA0//QCfAMiAC4AE7YSGxsKIwEtAC8zzDI5fC8zMDF3FxY2Njc3NiYmIyIGBgcGFhYzMjY2NxcOAiMuAjc+AhceAgcHDgMHJ3gKUoFVDRQDDCkpJzslBAMTLSMgOCsKNwlDZDpNaTUDA1iPVF12NAYFCk6BrmoWhgECK2VWmiFAKStDJCE3HxYqHSE5WTMBQ3RJVoVLAQJYkVc2baNtNwEBAAABAJECiwM8AzEAAwAIsQMCAC8zMDFBByE3Azwe/XMdAzGmpgADAQgETANaBpoAAwAPABsAGUAJEw0NBwEDAxkHAC8zM3wvGM0RMxEzMDFBNxcFBSY2NzIWFRQGIyImNxQWMzI2NzYmJyIGAaLH8f7v/sABb01HZ2xMSGpgICQlOgUGIiMpNQXYwgHB5E1qAWJJTGleSyAxNyUgMwE6AAQACQAAA/sEjQADAAcACwAPABtADAsKCgYPDgd9AwIGCgA/MzM/MzMSOS8zMDFlByE3EwMjEwEHITcBByE3A1Qi/Xgi88rsywKEIv3LIgLYIv15Ir+/vwPO+3MEjf4tv78B08DAAAT/h/5JBEsEUQASACQAWwBfADNAGl1fBnIlJhgYD0BBQS5TUw8PBUo3D3IhBQdyACsyKzIROS85ETMzETMRMxI5OSsyMDFTNz4CFx4CBwcOAycuAjcHBhYWFxY2Njc3NiYmJyIGBgMXBgYHBhYWFxceAgcOAycuAzc+AjcXDgIHBh4CMxY+Ajc2JiYnJy4CNz4CAQchN1oCCpDVc2u3bAYBCFmJpFNouG/xAwMsUTI3ZUcJAwQrUDQ4ZkYtXCQ/BwUcLxitW6ViBgV3s8FOPJeLWAMDZpdOMyU/KgcGJ0NMIChpZ0oJCClHJsE5cEkBAj5eA1wZ/owQAsYWe6dTAwJTnnQXWotdLgICVJyIFjVNKgEBLVM4FjVOLAEsVP61OBM6LB4eCgEBAjl9amKKVSYBARg7aFBafEsRWwouQigrNh0MAQ8mQTMuMBICAgEiTkNAXUMCiZWVAAAEADv/5wSJBFIAFQArAC8AMwAXQAwwCi0GHBELcicGB3IAKzIrMj8/MDFTNz4DFx4DBwcOAycuAzcHBh4CFxY+Ajc3Ni4CJyYOAgUTMwMDEzMTRAMMRXixeGmJTRsEBxFMeqhta45PGfkCBQMfS0NBY0gtCwcECCJIPUxrRCYByqnaxsUMtBAB9BVm0K1mAwNlobtYOF++m1wDA12Xt3IWMnJlQQECQGl3NjQudW9JAwNJeYkrAh794v3kAhz95AACACsAAATqBbAAGQAuAB9ADyYIGxoaAgEBDgwPAnIOCAA/KzISOS8zMxEzPzAxQSE3BTI2Njc2JiYnJQMjEwUeAgcOAg8CNx4CBwcGBhYXByMmJjY3NzYmJgLa/mIhAUxPilsLCStgRf7Z2vX9AgqAy20KCXi1YyB7OXazWg8RBQMRGgPxGxAEBhAJIlcCWMYBL2dVR2I0AgH7GAWwAQNatYpxlFkYMRSEAlKif3UkTUceHCFUWSdySGg7AAMAKwAABXYFsAADAAkADQAgQBAKCAkCDAsLBwYGAgMCcgIIAD8rEjkvMzMRMz8/MDFBAyMTIQEhNzMBAwE3AQId/fX9BE79Mv6gBekCBrz+pLYBvQWw+lAFsPzC2gJk+lACpLf8pQAAAwAUAAAERgYAAAMACQANABxADgsHBgYCCQZyAwByCgIKAD8zKysSOS8zMzAxQQEjCQIhJzMBAwM3AQIK/vXrAQsDJ/3p/uAj3wFYgfauAUwGAPoABgD+Ov2hvwGg+8YCBaD9WwAAAwArAAAFYAWwAAMACQANABpADgYLBwgMBQIJAwJyCgIIAD8zKzISFzkwMUEDIxMhASE3MwEDATcBAh399f0EOP0N/s4KYwJ3yP4Z4QImBbD6UAWw/QZ2AoT6UALfYPzBAAADABQAAAQzBhgAAwAJAA0AIEAQDAsLBwYGAgkGcgMBcgoCCgA/MysrEjkvMzMRMzAxQQEjCQIhNTMBAwE3AQIO/vHrAQ8DEP28/vx+AZt+/rS8AZsGGPnoBhj+Iv3BngGh+8YCH3n9aAAAAgAJ//8EFgSNABkAHQAWQAkbGg8CAQ4PfQEALz8zETMRMzIwMWEhNxcWNjY3NzYuAiclNwUeAwcHBgYEAwMjEwGG/uoj+nSlZA8ICA00ZVH+4SIBAne3ezYMBhSw/u5vyuzLvwEBW6RvOkd/YzsDAcABA1aVxnM5p/uLBI77cwSNAAEAOf/tBEQEoAAnABG2GRUQfiQABQAvzDM/zDMwMUE3DgInLgM3Nz4DFx4CFyMuAicmDgIHBwYeAhcWNjYDDOoUmOOCd6pmJQwKDlyVyXyAvWwI6gItXUdQdk8wCQoHAyVVTEtyTAGDAYW3WwMCXJzHbU9zzpxWAwJjuH9GYTQDAj1shUVRO39tRgIDL2EAAAIACf//BAAEjQAZADEAKEATHBspGQICARsmAQEmGwMNDA99DQAvPzMSFzkvLy8RMxI5OREzMDFBITcFPgI3NiYmJycDIxMFHgMHDgIHAyE3BT4CNzYmJicnNwUXHgIHDgMCQv67HAEJNGVICAgpTi/PqezLAZJLlHdEBQVqoVaz/nqBAQw1ZkkKCCJIMf0fASQpTnxFBAVViKUB/aYBARxDOjc9GwEB/DMEjQECH0Z3WWJ4OwX9xb8BAh9GOzVDIgIBpgFBBEB0U2KETyIAA/+aAAAEAQSNAAQACQANABxADA0ABgMMDAEHA30FAQAvMz8zEjkvEjk5MzAxQQEjATMTAzczEwMHITcCgP4T+QKSpky3BJv7qyD9eSADk/xtBI37cwOr4vtzAbC1tQAAAQDoBG0CLAYqAAoACrIFgAAALxrNMDFTNz4CNxcGBgcH6BQILkkyfyM2DBcEbYQ9c2MmUjp0Q3oAAAIBBATSA30GfAAPABMAErUSEwoADQUALzN83DLWGM0wMUE3DgInLgInFwYWFzI2JyczFwLTqgdmlEpHiVsDpgJIOz1dpIeiUQWwAlRjKQIBLGFRAj01ATZHwcEAAv0nBL7/dgaJABcAGwAdQAwAFRUFGRsbCRERDAUALzMzETMzLzMRMxEzMDFDFw4CBwYmJgcGBgcnPgIzMhYWNzY2JzcXB/piBidHMypERCcmKgtmBSpINClERicmKfOkytUFnhwuUzYBASgnAwI1IBouVTUnJwMCNzrRAdAAAgDcBOcFHQaKAAYACgAUtwgHBwUBgAQGAC8zGs05My/NMDFTJRcXBycHJRMzAdwBQZjvtYK0Ab/D4v8ABOf2AfQBjY2bAQj++AACABYE2wOhBn8ABgAKABdACQdACAgDBoACBAAvMxrNOTMvGs0wMUEXIycHIyUlEyMDArPutYKz3gFB/r9qiaQF0faOjvau/vgBBwAAAgDcBOgEjwbHAAYAGgAfQA0REghAGgkICAMGgAIEAC8zGs05MxEzMxoQzDIwMUEXBycHByUFJzc+Ajc2JiYjNx4DBwYGBwK/5KWPxc4BNwHmjQoWOi8FBCs6EhAjVk4xAgJTNgXe9QGfngH3dAF7AggZHR0XBWcBDSI8MD47CwACANsE6AOjBswABgAeACVAEAgHBxAYDEAUExMcDAwGgAQALxrNMhEzMxEzGhDNMjIRMzAxQRcHJwcHJSUXDgIHBiYmBwYGByc+AjMyFhY3NjYCrfalksLPAUUBGlkGJD8sJUA9JR8mC1sGJD8tJEA/JCAmBdLpAY6NAer6HChILgEBJiUDAi0aGCdJMCYjAwMtAAMACQAABBYFxAADAAcACwAbQAwCCgoLCwcDAwd9BgoAPz8zLxEzETMRMzAxQQMjEwEDIxMhByE3BBZY61j+lMrsywMMIv2cIgXE/gkB9/7J+3MEjcDAAAACAQQE0QN8BnwADwATABK1ERMACg0FAC8zfNwyGNbNMDFBNw4CJy4CJxcGFhcyNic3FwcC06kGZpRKR4pbAqUBSDs9XcyWwMgFrwJVYikCASxhUQI9NQE2ScABvwAAAgEFBNMDdQcHAA8AJQAoQBEbHBwRJRISEREJDQUACQkFEAA/M3wvMxEzETMYLzMRMxEzLzMwMUE3DgInLgInFwYWFzI2JyM3PgI3NiYmIiM3HgMVDgIHAs+mBmWRSkeIWgGjAkg6O10logcVQzgEBCAwLgsNIGJhQAExSCIFrwJTYikCAStgUQI8MwE0U3UBBRcdFRUIXwEIHDgxKjEXBgD//wCJAokC9AW8BgcB4gBzApj//wBmApgC7AWtBgcCOwBzApj//wB+AosDBQWtBgcCPABzApj//wCJAosC3wW8BgcCPQBzApj//wCYApgDLQWtBgcCPgBzApj//wB4AosC9QW6BgcCPwBzApj//wCnAowC7wW6BgcCQABzApgAAQBs/+gFPwXIACkAFUAKGhYRA3ImAAUJcgArzDMrzDMwMUE3BgYEJy4ENzc2EjY2Fx4CFycuAicmDgIHBwYeAxcWNjYD6fIbrv77nXezfUcWDQcScrj4mZvadwb0BDZxXmqhcUUNBwgBG0BqUWORYAHZAp3gdgMCUo62zWk4jQEFzncDA33glwFXhk8DA12cu1k5Po2Ib0YCA0mIAAABAGv/6gVGBcgALQAbQA0tLCwFGhYRA3ImBQlyACsyK8wzEjkvMzAxQQMOAicuBDc3NhI2NhceAhcjLgInJg4CBwcGHgMXFjY2NxMhNwUTVzu70F15vohSHQ4FE3K5+5uU2H0L7gc/c1RrpXRGDQYJBSVJdVQ0aWIpNv7jIQLh/dpQWyYBAlCLt9JuKI4BCNJ5AwNuz5JRdkEDA1+gvVwoRZKHbUECAQ4lIgEfuwACACsAAAUVBbAAGwAfABK3HA8QAnICHQAALzIyKzIyMDFhITcFMj4CNzc2LgInJTcFHgMHBwYCBgQDAyMTAeD+tyUBInO+klsQBg0YUJFt/rIjATuW5JQ+EAUUiNb+72D99f3HAUuKunAsYLOMVAMByAEDcML8ji2b/v2+ZwWw+lAFsAACAG7/6AVpBcgAGQAxABC3IRQDci0HCXIAKzIrMjAxQQcOBCcuBDc3PgQXHgQFNzYuAycmDgIHBwYeAxcWPgIFXQUPUYKt03t2tH5MGQwFD1ODrdJ4drV/Sxn++wYIBB9CbVFopnlJDQYIBB9CbVFrpndIAvUtcNe9jU8DAlWQuM5nLW/Wu41PAwJUjrfOky4/jIVuQwMDXp28WS4+jYhwRgIEXqC/AAADAG3/BAVpBcgAAwAdADUAG0ANJRgDcgADAzELCXIBAgAvMysyMhEzKzIwMWUBBwEBBw4EJy4ENzc+BBceBAU3Ni4DJyYOAgcHBh4DFxY+AgNjAT6s/skCngQPUoCs1Xt3tX9KGQ0ED1OBrdN6d7V/Sxj+/AUIAx5CbVJqp3dJDgQIAx9BblFtpnZIwv7IhgE2ArUjcdm9jk8DAlWRuNBpInHYvI5PAwJVjrnQiiRAjYdvRAMDX5+9XCM/jolxRgIEX6HAAAABAKsAAAMwBI0ABgAVQAkDBAQFBQZ9AgoAPz8zLzMRMzAxQQMjEwU3JQMwxOqX/pIlAj0EjftzA2p60M0AAAEAHAAABAkEogAgABdAChAQDBV+AyAgAhIAPzMRMz8zMy8wMWUHITcBPgI3NiYmJyYGBgcHPgIXHgMHDgMHBQPJIfx0HQIaKlI8CAcnTDFFa0UM6QuS3nxMjm89BwQ7Wmky/sa/v6UBnyJMWjk0RSQBAjllQQGBumICAihQfVZFdWJWKPkAAf+B/qEEEgSNAB8AGkALBgAeHgMWDwUCA30APzMzLzMSOS8zMzAxQQEhNyEHAR4CBw4DJyYmJzcWFhcWNjY3NiYmJycBRAF//dIiA1sa/mNpkEQIC3Gz431mv1tGRZxSabR4Dg1AiF5TAl8BbsCX/oITgbhogsuNSQIBOiyzKy8BAlWcamR+PQEBAAAC/9H+xAQfBI0ABwALABZACQYEC30KAwcHAgAvMxEzLz8zMzAxZQchNwEzCQMjAQQfIvvUFAM7yP7x/hEDMP7/6wEBv8CeA/D+iP2rA836NwXJAAAB/9j+nQRNBIwAJwAWQAkkCQkCGhMFAn0APzMvMxI5LzMwMUEnEyEHIQM2NhcyHgIHDgMnJiYnNxYWFxY+Ajc2LgInJgYGASvO3AMUJP2vdDZ4PWeSWCIJC2Wj0Hhqw1lYPJtQTIBjPQoGDi5RPTBSQwFqEgMQzP6fHxkBT4esXnjFkEwBAj03rzQxAQE0Xn1KNWdTNAEBFjIAAQAx/sQEWgSNAAYAD7UBBQUGfQMALz8zETMwMUEHASMBJTcEWhn86PgDDP1DIgSNkfrIBQgBwAACAQUEzAODBtkADwAnAClAEREQEBkhIRUdHBwlFRUACQ0FAC8zzTIyfC8zMxEzETMYLzMzETMwMUE3DgInLgInFwYWFzI2ExcOAiMGJiYHBgYHJz4CMzIWFjc2NgLNpwZkkktHh1gCpQNFOzxcY2EEKUg0KURFJyYpC2cGKUk0KEVGJyYrBa4CVWMsAgEuY1ECPDUBNQFnGy9UNQEoJwIDNSEcLlQ2KCYCAzUAAf+4/poBAQCzAAMACLEBAAAvzTAxZQMjEwEBXexes/3nAhkABQA7//AGnwSfACkALQAxADUAOQAxQBg4OTkxfRYtLRcwCjU0NCYbAQYGJn4RGwsAPzM/MxEzERI5LzM/MzMRMz8zETMwMUEHLgMnJg4CBwcGHgIXFj4CNxcOAicuAzc3PgMzHgIBByE3EwMjEwEHITcBByE3BCYnLFpaWi1Se1YzCgcHBihYSy1aW1kuBT5+fT55rGkpCwcPXprOfkGCggISIf14IfTK7MsChCL9yyIC2CL9eSIEjcMCBggGAQFAbYpIOzyAb0cEAgMFBgG/AwcGAgNdncluOnjQn1gBCAn8Mr+/A877cwSN/i2/vwHTwMAAAAEARf6xBD0EpAA7ABS3ABUfHzULKTUALy8zEjkvMzIwMUUWPgI3NzYuAicmDgIHBh4CFxY+Ajc3DgInLgM3PgMXHgMHBw4EJyYmJzcWFgFRcaNuQQ8kBwQmVEZEaUkqBwUJKUw8OWtbPwxkDoDNhGiUWiMIClWMu3B5rGclDh8QSHCdyn1LkERAMWWQAmChwV/2OHhpQgMBO2R4OzFrXDwCAh8+WTkKgMVtAwNTi69fasCTVAIDXp/Lb89u17+SUgIBIR2wFRwAAf8A/kcBOwDOABEACrINBgAAL8wyMDF3MwMOAiciJic3FhYzMjY2N0/sKQ9hpnUjQyEgFzEZNEImB87+9W6sYgEKCMIGCTRULf///6n+oQQ6BI0EBgJnKAD////a/p0ETwSMBAYCaQIA////yf7EBBcEjQQGAmj4AP//ABMAAAQABKIEBgJm9wD//wBN/sQEdgSNBAYCahwA//8AIv/oBD8EowQGAoDWAP//AFb/6QQHBboEBgAa+QD//wAx/rEEKQSkBAYCbuwA//8AN//pBEIFxwYGABwAAP//APgAAAN9BI0EBgJlTQD///8E/kcB2wQ6BAYAnAAA////BP5HAdsEOgYGAJwAAP//ACMAAAHKBDoGBgCNAAD///98/l8BygQ6BiYAjQAAAQYApNQKAAu2AQQCAABDVgArNAD//wAjAAABygQ6BgYAjQAAAAMACf/mA+cEoQADABYAMQApQBQPJiYNIyMJGy8LcgQAAAITCX4CCgA/PzMSOS8zKzIROS8zMxEzMDFBAyMTFwc+AhcWFhcBJzc3JiYnJgYGAzcWFjMyNjY3NiYmJyc3NzYeAgcOAicmJgFzg+eC6+AKbcKLfr9Q/nSLFfEcRShHWC9CVR5EJjlXNgcINl41XhxfS5BzQAQIcbxzPnMC7f0TAu0CAoXHbAMDeFv+ZgN7/BwgAQFLdPz8thgcNlg2P0IYAQGeBQIjTHpVda9hAgEeAAIATP/oBGkEowAVACsADrUcEX4nBgsAPzM/MzAxQQcOAycuAzc3PgMXHgMHNzYuAicmDgIHBwYeAhcWPgIEXgIPW5fRhH6uaCYMAg9dmNGDfa5nJfoGBggpWUxRe1YzCQUGBypZTVJ7VTECVRF626leAwNjp9FxE3nZp10DAmOl0JEyPIJxSQMDQ3OMRjE8hHRLAwNEdY4AAQBWAAAEYQWwAAYAE0AJAQUFBgRyAwxyACsrMhEzMDFBBwEjASE3BGEZ/Qb4Avr9WiEFsJH64QTwwAAAAwAQ/+gEJQYAAAQAGgAvABlADiEWB3IrCwtyBApyAAByACsrKzIrMjAxQTMDByMBBw4DJy4DNzc+AxceAwc3Ni4CJyYOAgcHBhYWFxY+AgEb7OVEzgQLAwxKfbB0Z4lOHQUIEEt4qGtxklAZ+AIGBiVRRz1mTjQLHQQrXkpLb0ssBgD62dkCLRZkyKNgAwNhmrZYRF2/nV4DA2Ofv3IWN3hpRAICLFBnOLdDe08CA0BtgQAAAQA2/+kD9gRRACcAGUAMHRkZFAdyBAQACQtyACsyMi8rMi8yMDFlFjY2NzcOAicuAzc3PgMXHgIHIzQmJicmDgIHBwYeAgHjPGJGD90OjM5xc6VkKAsFDViQw3h4rFwB2yZQP0ptSywIBAYEI1CqAi9WOAJ1rF0CA1qXwWgkcMiYVQMDarZ1OWE9AgM+aYA/IzZ5akQAAwA3/+gEmQYAAAQAGgAvABlADSEEBBYLcisLB3IBAHIAKysyKzIvMjAxZRMzASMBNz4DFx4DBwcOAycuAzcHBh4CFxY2Njc3Ni4CJyYOAgLM4ez+9cr9fAMMS3+zc2iHTRwECBBNeadrbJFTHPkDBgcnUURPflQRHAMUMVA4S3BNLu4FEvoAAgkWZcqkYAMDZJ23V0RdvJxcAwRjoLxyFTZ3akQDA01/SLcyYlAyAQNAbYIAAwAt/lIESgRRABMAKQA+ABtADzAlC3I6GgdyDgYPcgAGcgArKzIrMisyMDFBMwMOAycmJic3FhYXFjY2NxMBNz4DFx4DBwcOAycuAzcHBh4CFxY2Njc3Ni4CJyYOAgN9zasRWI7AeFWkSkA4f0JkiVEOhP0LAgxLfbN1aolLGwUIEUx5qGtskVIc+QMGBydRRFF8VBAdAxMyUDlLb00uBDr8FnK8iEgCATAprCIoAQNSj14DCP63FmbJomADAmKbuFpDXr2bXAMDZaC8cRY1d2pEAgRNfkm3M2NPMQICQG2CAAIAMv/pBDQEUQAVACsAELccEQtyJwYHcgArMisyMDFTNz4DFx4DBwcOAycuAzcHBh4CFxY+Ajc3Ni4CJyYOAjwDDV2WyHlzqWwsCgMOXpfIeHGpbCz4AwYKKldGSnNSMQkDBQgsVkZLc1ExAgoXccycVwMCW5rCahhxyplWAwJamMGAFzh6aUMCAz9rgkEWOHtrRQICQG2DAAAD/8j+YAQkBFIABAAaAC8AGUAOIRYHcisLC3IDBnICDnIAKysrMisyMDFBAyMBMwEHDgMnLgM3Nz4DFx4DBzc2LgInJg4CBwcGFhYXFj4CAZLe7AEE0gJ8AwxKfbFzZYlTIAQKEE16qWxvklAa+QMGCCdTRT1nTTQMHwMtXkhKcE4uA1z7BAXa/fMVZMijYQMDXZWyWFFevp5dAwNjoL5xFTZ4akQCAy1QZjjEQndLAwJCboIAAAMANv5gBEoEUgAEABoALwAZQA4hFgtyKwsHcgQOcgMGcgArKysyKzIwMUETNzMBATc+AxceAwcHDgMnLgM3BwYeAhcWNjY3NzYuAicmDgICWeFBz/78/PoDDEp/tHVoiU4cBAgQTXuoa22SVBz6AwYHJ1JFUH9UER0DFDJROUtxTi7+YAURyfomA6kWZsqjYAMDY524V0RevZtbAwNjn71yFTZ4akYDAk2ASrczY1ExAgJBboMAAQA6/+wD9QRRACoAGUAMExISABkLB3IkAAtyACsyKzIROS8zMDFFLgM3Nz4DFx4DBwchNwU3NiYmJyYOAgcHBh4CFxY2NxcGBgIEcrB1MwkEDVePwHVtm10hDBT81B8CPQULHFFGSmxJKggFCBU8ZkpMkkIpSsMTAVORwG0rbcebWAMCU4y0ZX+tAR1AbEMDAj9rgD4qQnlfOAIBLCanOy8AAwAu/lIEOQRRABIAKAA9ABtADy8kC3I5GQdyDQYPcgAGcgArKzIrMisyMDFBMwMOAicmJic3FhYXFjY2NxMBNz4DFx4DBwcOAycuAzcHBh4CFxY2Njc3Ni4CJyYOAgNrzq0WkOqdT5xGQDV1PWGJUg6G/R0DDEV2rXRriUsaBQgQTHmna2yMSxb4AgYCH0tDUXtQER0DEy9POUtqRicEOvwLl+J6AgEpJK0eIQECTIpcAxT+thZkyKVhAgNhnLhaRF28nFwDBGWhvG4VM3ZrRgIETX9ItzNiUDECAkJugQAC/5/+TwRnBEgAAwAlABlADA4VAQEVHwQHcgMGcgArKzIvMy8RMzAxQQEjASUeAxcTHgIXFjY3BwYGJy4DJwMuAicmBgc3NjYEZ/wz+wPN/Yw/WD4rEO4HFyUfEygTNBgvGDpRNiMO4QoiNykQIhAMHj0EOvomBdoNASxKYDT8Zho6LAYDAQHBBgUCAjpZZy8DdSNCKwEBAwG5BwkA//8AqwAAAzMFtQQGABW6AAABACT/7QRJBJ8AQQAXQAs4OBAifhkKMwALcgArMj8/MzkvMDFFLgM3PgI3JTY2NzYmByIGBwYWFhcBIwEuAjc+AhceAgcOAgcFDgIHBhYWFxY+Ajc3BgYHBgYHBgYBmEKFbj8EBEJlOgEfI0gHBTsrM1AIBiAzFAIX8v5BJkUrBAZpoFZPjVUFAzVSL/7GGS0gBQcpSCldn3pODcsNa1kOHhBW4BEBI0duTUpuVySzGEIvLTQBQzIlQzwa/U8CRDBibEFdf0ABAj95WDtgTh7HESkzIC86GgEEPXCXWQF+zFcOHAtGPgAAA//vAAADPQSNAAMABwALAB1ADQgJCQsKCgYHfQMCBgoAPzMzPxI5LzMzLzMwMWUHITcTAyMTAQcFNwM9Iv2bIvPK68oBqBv9ghu/v78DzvtzBI3+pZm6mAAABv9+AAAGDwSNAAMABwALABAAFAAYADNAGAoLCxgYDwcGFBMGEwYTDQ99AwICFxcNCgA/MxEzETM/Ejk5Ly8RMxEzETMRMxEzMDFlByE3AQchNwEHITcHASEBMxMHITcBAyMTBZAi/ZYhAl0h/eAiAqwh/ZUicf1V/vUDJKMuIv2aIQL4oemhvr6+AgC+vgHPvr5/+/IEjf03vLwCyftzBI0AAgAJAAADvASNAAMAGQAXQAoPEBABfQUEBAAKAD8yLzM/My8zMDFzEzMDJzcXMjY2NzYmJicnNxceAgcOAiMJy+vKKSLZPXBNCQgqUzXyI9Rvu20ICZPeewSN+3PkwQEoU0M6TikCAcABA1OieYarUAAAA//b/8cEuwS7ABUAKwAvABtACy8vHBF+LS0nBgtyACsyMnwvGD8zM3wvMDFBBw4DJy4DNzc+AxceAwc3Ni4CJyYOAgcHBh4CFxY+AgEBIwEETAYOXpjPfnmtaykLBw5fmc5+eK1qKv0HBgcrWUxReVQyCQcHBytaTFJ6VDABafvLqwQ1Amk5d9OgWQMCXp7Kbjp30aBYAgNdn8imOz2AbUUDA0BviUY7PYFxSAMCQnGLAtH7DAT0AAQAIgAABP4EjQADAAcACwAPABtADAIDgA4PDwsHfQoGCgA/Mz8zMy8zGswyMDFBByE3EwMjEyEDIxMFByE3A8Ai/X4imsrsywPUy+rKASge+30eAp3AwAHw+3MEjftzBI2Wp6cAAAIACf5HBKgEjQAJABsAH0APFxAPcgkDBn0ICgoCAgUKAD8zETMRMz8zMysyMDFBAyMBAyMTMwETAzMHDgInJiYnNxYWMzI2NjcEqMrk/omO7MvjAXiNvesSDmOmdiNDIiMYMBg0QyYIBI37cwMt/NMEjfzTAy37uIFwrGEBAQoJwAYJNFMuAP//AEACDgJlAs4GBgARAAAAAwAgAAAE9wWwABoAHgAiACNAEQIBAR0iISEdDg8PHgJyHQhyACsrMhEzETkvMxEzETMwMWEhNwUyNjY3NzYuAiclNwUeAwcHDgIEAwMjEwEHITcB7v7DJQEfk897FQoLCz58Z/61IwEvktWGMxAKFXzE/v9Q/fb9AYoe/XMdxwKG4IdQVamNVwMByAEDcb/2h06T/bpnBbD6UAWw/YSmpgAAAwAgAAAE9wWwABoAHgAiACNAEQIBAR0iISEdDg8PHgJyHQhyACsrMhEzETkvMxEzETMwMWEhNwUyNjY3NzYuAiclNwUeAwcHDgIEAwMjEwEHITcB7v7DJQEfk897FQoLCz58Z/61IwEvktWGMxAKFXzE/v9Q/fb9AYoe/XMdxwKG4IdQVamNVwMByAEDcb/2h06T/bpnBbD6UAWw/YSmpgAAAwArAAAEEAYAAAMAGgAeABlADR4dFgoHcgMAchECCnIAKzIrKzLEMjAxQQEjARMjPgMXHgMHAyMTNiYmJyYOAgEHITcCIf716wELH0oNRXambVl3RBYJdO12BhREQUZrSy4BrR39cx0GAPoABgD8RV67mVoDAkJxkVH9SQK6O145AQI4YHYC7qamAAADAJ0AAAUlBbAAAwAHAAsAFUAKAwoLBgcCcgEIcgArKzIvMzIwMUEDIxMhByE3AQchNwNq/PT9Aq4j+5sjAxse/XMeBbD6UAWwyMj+CKamAAP/5f/tAq4FQwADABUAGQAdQA4KEQtyGBkZAgIEBAMGcgArMi8yETMvMysyMDFBByE3EzMDBhYWFxY2NwcGBicuAjcBByE3Aq4f/bAe2euzBAklJxUrFhEkSyZabiwIAg0e/XMeBDqwsAEJ++YjNB0BAQYDugsKAQFRiFQBwaamAP///6MAAASrBzcGJgAlAAABBwBEAVQBNwALtgMQBwEBYVYAKzQA////owAABMMHNwYmACUAAAEHAHUB9gE3AAu2Aw4DAQFhVgArNAD///+jAAAEqwc3BiYAJQAAAQcAngDyATcAC7YDEQcBAWxWACs0AP///6MAAATFByoGJgAlAAABBwClAQEBNwALtgMcAwEBa1YAKzQA////owAABKsHBgYmACUAAAEHAGoBHgE3AA23BAMjBwEBeFYAKzQ0AP///6MAAASrB5IGJgAlAAABBwCjAY0BbAANtwQDGQcBAUdWACs0NAD///+jAAAE2AexBiYAJQAAAQcCQgF+ARcAErYFBAMbBwEAuP+ysFYAKzQ0NP//AF/+NwUKBccGJgAnAAABBwB5Abz/+gALtgEoBQAAClYAKzQA//8AJgAABLwHPgYmACkAAAEHAEQBIQE+AAu2BBIHAQFsVgArNAD//wAmAAAEvAc+BiYAKQAAAQcAdQHDAT4AC7YEEAcBAWxWACs0AP//ACYAAAS8Bz4GJgApAAABBwCeAL8BPgALtgQTBwEBd1YAKzQA//8AJgAABLwHDQYmACkAAAEHAGoA6wE+AA23BQQlBwEBg1YAKzQ0AP//ADcAAAIyBz4GJgAtAAABBwBE/9kBPgALtgEGAwEBbFYAKzQA//8ANwAAA0gHPgYmAC0AAAEHAHUAewE+AAu2AQQDAQFsVgArNAD//wA3AAADFwc+BiYALQAAAQcAnv93AT4AC7YBBwMBAXdWACs0AP//ADcAAAMwBw0GJgAtAAABBwBq/6MBPgANtwIBGQMBAYNWACs0NAD//wAmAAAFhgcqBiYAMgAAAQcApQEsATcAC7YBGAYBAWtWACs0AP//AGL/6QUiBzgGJgAzAAABBwBEAWwBOAALtgIuEQEBT1YAKzQA//8AYv/pBSIHOAYmADMAAAEHAHUCDQE4AAu2AiwRAQFPVgArNAD//wBi/+kFIgc4BiYAMwAAAQcAngEKATgAC7YCLxEBAVpWACs0AP//AGL/6QUiBywGJgAzAAABBwClARgBOQALtgI6EQEBWVYAKzQA//8AYv/pBSIHBwYmADMAAAEHAGoBNQE4AA23AwJBEQEBZlYAKzQ0AP//AFj/6AUxBzcGJgA5AAABBwBEAUkBNwALtgEYAAEBYVYAKzQA//8AWP/oBTEHNwYmADkAAAEHAHUB6gE3AAu2ARYLAQFhVgArNAD//wBY/+gFMQc3BiYAOQAAAQcAngDmATcAC7YBGQABAWxWACs0AP//AFj/6AUxBwYGJgA5AAABBwBqARIBNwANtwIBKwABAXhWACs0NAD//wChAAAFUAc2BiYAPQAAAQcAdQHBATYAC7YBCQIBAWBWACs0AP//ABz/6QPRBgAGJgBFAAABBwBEAKwAAAALtgI9DwEBjFYAKzQA//8AHP/pBBsGAAYmAEUAAAEHAHUBTgAAAAu2AjsPAQGMVgArNAD//wAc/+kD6wYABiYARQAAAQYAnksAAAu2Aj4PAQGXVgArNAD//wAc/+kEHQX0BiYARQAAAQYApVkBAAu2AkkPAQGWVgArNAD//wAc/+kEBAXPBiYARQAAAQYAancAAA23AwJQDwEBo1YAKzQ0AP//ABz/6QPRBlsGJgBFAAABBwCjAOYANQANtwMCRg8BAXJWACs0NAD//wAc/+kEMAZ6BiYARQAAAQcCQgDW/+AAErYEAwJIDwAAuP/dsFYAKzQ0NP//ADf+NwPmBFEGJgBHAAABBwB5AUH/+gALtgEoCQAAClYAKzQA//8AOv/rA/AGAAYmAEkAAAEHAEQAlgAAAAu2AS4LAQGMVgArNAD//wA6/+sEBQYABiYASQAAAQcAdQE4AAAAC7YBLAsBAYxWACs0AP//ADr/6wPwBgAGJgBJAAABBgCeNAAAC7YBLwsBAZdWACs0AP//ADr/6wPwBc8GJgBJAAABBgBqYAAADbcCAUELAQGjVgArNDQA//8AIwAAAeQF9wYmAI0AAAEGAESL9wALtgEGAwEBnlYAKzQA//8AIwAAAvoF9wYmAI0AAAEGAHUt9wALtgEEAwEBnlYAKzQA//8AIwAAAsgF9wYmAI0AAAEHAJ7/KP/3AAu2AQcDAQGpVgArNAD//wAjAAAC4gXGBiYAjQAAAQcAav9V//cADbcCARkDAQG1VgArNDQA//8ADQAABCcF9AYmAFIAAAEGAKVjAQALtgIqAwEBqlYAKzQA//8AOP/pBB4GAAYmAFMAAAEHAEQAqwAAAAu2Ai4GAQGMVgArNAD//wA4/+kEHgYABiYAUwAAAQcAdQFNAAAAC7YCLAYBAYxWACs0AP//ADj/6QQeBgAGJgBTAAABBgCeSQAAC7YCLwYBAZdWACs0AP//ADj/6QQeBfQGJgBTAAABBgClWAEAC7YCOgYBAZZWACs0AP//ADj/6QQeBc8GJgBTAAABBgBqdQAADbcDAkEGAQGjVgArNDQA//8ASv/oBC8GAAYmAFkAAAEHAEQAsgAAAAu2Ah4RAQGgVgArNAD//wBK/+gELwYABiYAWQAAAQcAdQFUAAAAC7YCHBEBAaBWACs0AP//AEr/6AQvBgAGJgBZAAABBgCeUAAAC7YCHxEBAatWACs0AP//AEr/6AQvBc8GJgBZAAABBgBqfAAADbcDAjERAQG3VgArNDQA////vP5HBBkGAAYmAF0AAAEHAHUBHgAAAAu2AhkBAQGgVgArNAD///+8/kcEGQXPBiYAXQAAAQYAakcAAA23AwIuAQEBt1YAKzQ0AP///6MAAASrBuMGJgAlAAABBwBwAPkBOQALtgMQAwEBplYAKzQA//8AHP/pBAMFrQYmAEUAAAEGAHBSAwALtgI9DwEB0VYAKzQA////owAABKsHHwYmACUAAAEHAKEBKgE3AAu2AxMHAQFTVgArNAD//wAc/+kD9QXoBiYARQAAAQcAoQCDAAAAC7YCQA8BAX5WACs0AAAE/6P+VQSrBbAABAAJAA0AIwArQBUNDAwDFh0GAAIHAwJyDg8PBQUCCHIAKzIRMxEzKzISOTkvMxI5LzMwMUEBIQEzEwM3MwEDByE3ARcOAgcGFhcyNjcXBgYjIiY3PgIDKP2F/vYDEKtUzg+fARmyI/z+IwMFdSNSPgYDGB4XLRUMIk4oVmkCAU52BOH7HwWw+lAE/LT6UAIcx8f+Hz0ZOkovHSABDgmNFRRpV0pwUAAAAwAc/lUD0QRQABsAOgBQACtAFx46Og9DSg9yJzELcjs8PBkKcgkFDwdyACsyMisyETMrMisyEjkvMzAxZRM2JiYnJgYGBwc+AxceAgcDBgYXBwcmNBMHJyIOAgcGFhYXFjY2NxcOAycuAjc+AzMTFw4CBwYWFzI2NxcGBiMiJjc+AgKIUgYaRTgyWD0K6wZZiZ9MbqpZC08JBxMC6Q91GJwwZVg8BwUfQCw7c1UQPxZPaHtBWpRWBQVhmbZZp3UjUj4GAxgeFy0UDSJOKVVpAQJOddkCBzRUMQEBI0QxAVV/UycBAlqkdP4eOXc3EgE1bwHvlQESLEs4LUEmAQEwWTpsPWZKKAECT45daY1TJP2oPRk6Si8dIAEOCY0VFGlXSnBQ//8AX//oBQoHSwYmACcAAAEHAHUB/AFLAAu2ASgQAQFtVgArNAD//wA3/+oD8gYABiYARwAAAQcAdQElAAAAC7YBKBQBAYxWACs0AP//AF//6AUKB0sGJgAnAAABBwCeAPgBSwALtgErEAEBeFYAKzQA//8AN//qA+YGAAYmAEcAAAEGAJ4iAAALtgErFAEBl1YAKzQA//8AX//oBQoHKgYmACcAAAEHAKIB1wFTAAu2ATEQAQGCVgArNAD//wA3/+oD5gXfBiYARwAAAQcAogEAAAgAC7YBMRQBAaFWACs0AP//AF//6AUKB04GJgAnAAABBwCfAQ4BSwALtgEuEAEBdlYAKzQA//8AN//qA/QGAwYmAEcAAAEGAJ83AAALtgEuFAEBlVYAKzQA//8AJgAABNkHQQYmACgAAAEHAJ8AlQE+AAu2AiUeAQF1VgArNAD//wA4/+gFzwYCBCYASAAAAQcB1QTDBQIAC7YDOQEBAABWACs0AP//ACYAAAS8BuoGJgApAAABBwBwAMYBQAALtgQSBwEBsVYAKzQA//8AOv/rA/AFrQYmAEkAAAEGAHA7AwALtgEuCwEB0VYAKzQA//8AJgAABLwHJgYmACkAAAEHAKEA+AE+AAu2BBUHAQFeVgArNAD//wA6/+sD8AXoBiYASQAAAQYAoWwAAAu2ATELAQF+VgArNAD//wAmAAAEvAcdBiYAKQAAAQcAogGeAUYAC7YEGQcBAYFWACs0AP//ADr/6wPwBeAGJgBJAAABBwCiARMACQALtgE1CwEBoVYAKzQAAAUAJv5VBLwFsAADAAcACwAPACUAKUAUCgsLGB8ODw8HAnIQEREDAgIGCHIAKzIRMzIRMysyETMvMzkvMzAxZQchNwEDIxMBByE3AQchNwEXDgIHBhYXMjY3FwYGIyImNz4CA+gj/REiASH99v0C0yL9ciMDUyP9FiQBC3UkUT4GAxgeFy0UDCJNKFZpAgFOdcfHxwTp+lAFsP2gxMQCYMjI+os9GTpKLx0gAQ4JjRUUaVdKcFAAAgA6/nID8ARRACsAQQAlQBMSExMLNDsOchkLB3IsLSQkAAtyACsyETk5KzIrMhI5LzMwMUUuAzc3PgMXHgMHByE3BTc2JiYnJg4CBwcGHgIXFjY3Fw4CNxcOAgcGFhcyNjcXBgYjJiY3PgIB9m+rcDIIBAtUjcB2cZxcHwsO/NQcAj0ECR9SRUtrRicIBAYSNFxEVYs5dC6HnRh0I1I+BgMYHhctFQwiTihWaQIBTnYUAlOPu2opbcufXAMCWpW8ZWetARU/cEgCAkJwgz4oO3RfOwICSzx7RVorbT0YOkowHSABDwiMFhQBaVZKcFD//wAmAAAEvAdBBiYAKQAAAQcAnwDVAT4AC7YEFgcBAXVWACs0AP//ADr/6wQHBgMGJgBJAAABBgCfSgAAC7YBMgsBAZVWACs0AP//AGb/6wUXB0sGJgArAAABBwCeAPoBSwALtgEvEAEBeFYAKzQA////+f5RBEIGAAYmAEsAAAEGAJ5BAAALtgNCGgEBl1YAKzQA//8AZv/rBRcHMwYmACsAAAEHAKEBMgFLAAu2ATEQAQFfVgArNAD////5/lEEQgXoBiYASwAAAQYAoXoAAAu2A0QaAQF+VgArNAD//wBm/+sFFwcqBiYAKwAAAQcAogHYAVMAC7YBNRABAYJWACs0AP////n+UQRCBd8EJgBLAAABBwCiASEACAALtgNIGgEBoVYAKzQA//8AZv32BRcFxwYmACsAAAEHAdUBmP6SAA60ATUFAQG4/5iwVgArNP////n+UQRCBqYEJgBLAAABBwJPATwAfAALtgM/GgEBmFYAKzQA//8AJgAABYUHPgYmACwAAAEHAJ4BFgE+AAu2Aw8LAQF3VgArNAD//wANAAAD9gdfBiYATAAAAQcAngBWAV8AC7YCHgMBASZWACs0AP//ADcAAANJBzEGJgAtAAABBwCl/4UBPgALtgESAwEBdlYAKzQA//8AEwAAAvsF6wYmAI0AAAEHAKX/N//4AAu2ARIDAQGoVgArNAD//wA3AAADLgbqBiYALQAAAQcAcP99AUAAC7YBBgMBAbFWACs0AP//ACMAAALgBaQGJgCNAAABBwBw/y//+gALtgEGAwEB41YAKzQA//8ANwAAAyEHJgYmAC0AAAEHAKH/rwE+AAu2AQkDAQFeVgArNAD//wAjAAAC0wXfBiYAjQAAAQcAof9h//cAC7YBCQMBAZBWACs0AP///47+WwIpBbAGJgAtAAABBgCk5gYAC7YBBQIAAABWACs0AP///3X+VQIKBdgGJgBNAAABBgCkzQAAC7YCEQIAAABWACs0AP//ADcAAAJWBx0GJgAtAAABBwCiAFYBRgALtgENAwEBgVYAKzQA//8AN//oBo8FsAQmAC0AAAAHAC4CMgAA//8AIP5GA/sF2AQmAE0AAAAHAE4B+gAA//8ABP/oBToHNQYmAC4AAAEHAJ4BmgE1AAu2ARcBAQFqVgArNAD///8E/kcCxwXeBiYAnAAAAQcAnv8n/94AC7YBFQABAYJWACs0AP//ACb+SQVyBbAEJgAvAAABBwHVAV7+5QAOtAMXAgEAuP/nsFYAKzT//wAR/jQETgYABiYATwAAAQcB1QD0/tAADrQDFwIBAbj/1LBWACs0//8AJgAAA8AHMwYmADAAAAEHAHUAbAEzAAu2AggHAQFcVgArNAD//wAgAAADOQeQBiYAUAAAAQcAdQBsAZAAC7YBBAMBAXFWACs0AP//ACb+BgPABbAEJgAwAAABBwHVASj+ogAOtAIRAgEBuP+XsFYAKzT///+m/gYCFgYABCYAUAAAAQcB1f/V/qIADrQBDQIBAbj/l7BWACs0//8AJgAAA9cFsQYmADAAAAEHAdUCywSxAAu2AhEHAAABVgArNAD//wAgAAADagYCBCYAUAAAAQcB1QJeBQIAC7YBDQMAAAJWACs0AP//ACYAAAPABbAGJgAwAAAABwCiAV790P//ACAAAAL0BgAEJgBQAAAABwCiAPT9rf//ACYAAAWGBzcGJgAyAAABBwB1AiABNwALtgEKBgEBYVYAKzQA//8ADQAABCUGAAYmAFIAAAEHAHUBWAAAAAu2AhwDAQGgVgArNAD//wAm/gIFhgWwBCYAMgAAAQcB1QGV/p4ADrQBEwUBAbj/l7BWACs0//8ADf4GA/IEUQQmAFIAAAEHAdUBAP6iAA60AiUCAQG4/5ewVgArNP//ACYAAAWGBzoGJgAyAAABBwCfATIBNwALtgEQCQEBalYAKzQA//8ADQAABCcGAwYmAFIAAAEGAJ9qAAALtgIiAwEBqVYAKzQA//8ADQAAA/IGAwYmAFIAAAEHAdUAPwUDAAu2AiADAQE6VgArNAD//wBi/+kFIgblBiYAMwAAAQcAcAEQATsAC7YCLhEBAZRWACs0AP//ADj/6QQeBa0GJgBTAAABBgBwUAMAC7YCLgYBAdFWACs0AP//AGL/6QUiByAGJgAzAAABBwChAUEBOAALtgIxEQEBQVYAKzQA//8AOP/pBB4F6AYmAFMAAAEHAKEAggAAAAu2AjEGAQF+VgArNAD//wBi/+kFdgc3BiYAMwAAAQcApgGLATgADbcDAiwRAQFFVgArNDQA//8AOP/pBLUF/wYmAFMAAAEHAKYAygAAAA23AwIsBgEBglYAKzQ0AP//ACYAAATVBzcGJgA2AAABBwB1AaoBNwALtgIeAAEBYVYAKzQA//8AEQAAA4UGAAYmAFYAAAEHAHUAuAAAAAu2AhcDAQGgVgArNAD//wAm/gYE1QWwBCYANgAAAQcB1QEp/qIADrQCJxgBAbj/l7BWACs0////n/4HAvIEUwQmAFYAAAEHAdX/zv6jAA60AiACAQG4/5iwVgArNP//ACYAAATVBzoGJgA2AAABBwCfALwBNwALtgIkAAEBalYAKzQA//8AEQAAA4cGAwYmAFYAAAEGAJ/KAAALtgIdAwEBqVYAKzQA//8AJv/qBL0HOAYmADcAAAEHAHUBywE4AAu2AToPAQFPVgArNAD//wAb/+sD+gYABiYAVwAAAQcAdQEtAAAAC7YBNg4BAYxWACs0AP//ACb/6gS9BzgGJgA3AAABBwCeAMcBOAALtgE9DwEBWlYAKzQA//8AG//rA8oGAAYmAFcAAAEGAJ4qAAALtgE5DgEBl1YAKzQA//8AJv48BL0FxgYmADcAAAEHAHkBk///AAu2ATorAAATVgArNAD//wAb/jMDwQRPBiYAVwAAAQcAeQE9//YAC7YBNikAAApWACs0AP//ACb9+wS9BcYGJgA3AAABBwHVAUT+lwAOtAFDKwEBuP+gsFYAKzT//wAb/fIDwQRPBiYAVwAAAQcB1QDt/o4ADrQBPykBAbj/l7BWACs0//8AJv/qBL0HOwYmADcAAAEHAJ8A3AE4AAu2AUAPAQFYVgArNAD//wAb/+sD/AYDBiYAVwAAAQYAnz8AAAu2ATwOAQGVVgArNAD//wCd/gAFJQWwBiYAOAAAAQcB1QEz/pwADrQCEQIBAbj/jbBWACs0//8AP/38Aq4FQwYmAFgAAAEHAdUAgv6YAA60Ah8RAQG4/6GwVgArNP//AJ3+QQUlBbAGJgA4AAABBwB5AYMABAALtgIIAgEAAFYAKzQA//8AP/49Aq4FQwYmAFgAAAEHAHkA0wAAAAu2AhYRAAAUVgArNAD//wCdAAAFJQc5BiYAOAAAAQcAnwDNATYAC7YCDgMBAWlWACs0AP//AD//7QO/Bn4EJgBYAAABBwHVArMFfgAOtAIaBAEAuP+osFYAKzT//wBY/+gFMQcqBiYAOQAAAQcApQD0ATcAC7YBJAsBAWtWACs0AP//AEr/6AQvBfQGJgBZAAABBgClXwEAC7YCKhEBAapWACs0AP//AFj/6AUxBuMGJgA5AAABBwBwAO0BOQALtgEYCwEBplYAKzQA//8ASv/oBC8FrQYmAFkAAAEGAHBXAwALtgIeEQEB5VYAKzQA//8AWP/oBTEHHwYmADkAAAEHAKEBHgE3AAu2ARsAAQFTVgArNAD//wBK/+gELwXoBiYAWQAAAQcAoQCIAAAAC7YCIREBAZJWACs0AP//AFj/6AUxB5IGJgA5AAABBwCjAYEBbAANtwIBIQABAUdWACs0NAD//wBK/+gELwZbBiYAWQAAAQcAowDrADUADbcDAicRAQGGVgArNDQA//8AWP/oBVMHNgYmADkAAAEHAKYBaAE3AA23AgEWAAEBV1YAKzQ0AP//AEr/6AS8Bf8GJgBZAAABBwCmANEAAAANtwMCHBEBAZZWACs0NAAAAgBY/owFMQWwABUAKwAbQA0eJQELAnIXFhERBglyACsyEjk5KzIvMzAxQTMDDgInLgI3EzMDBhYWFxY2NjcDFw4CBwYWFzI2NxcGBiMmJjc+AgQ89aYXpf+eldprEqb0pQomalthj1gOsXUjUz0FBBgeFywVDSNNKFZpAgFOdQWw/DWd5noDA33hlwPN/DJUh1ICA0uMXP6QPRk6Si8dIAEOCY0VFQFpVktvUQAAAwBK/lUELwQ6AAQAGwAxACFAESQrD3IBEQZyHB0dBAQYCwtyACsyMhEzETMrMisyMDFBEzMDIxM3DgMnLgM3EzMDBh4CFxY2NgMXDgIHBhYXMjY3FwYGIyImNz4CAraN7LzeY04MQG6kb1l5RhcIdet2AwYcNy1ggUsCdSNSPwUEGR0XLRUNI00pVmgBAU91AQsDL/vGAeADYreQUgMDQXCQUAK7/UInSDojAgNRjv6xPRk6Si8dIAEOCY0VFGlXSnBQ//8AtQAABzoHNwYmADsAAAEHAJ4BwQE3AAu2BBkVAQFsVgArNAD//wB5AAAF9AYABiYAWwAAAQcAngEEAAAAC7YEGRUBAatWACs0AP//AKEAAAVQBzYGJgA9AAABBwCeAL0BNgALtgEMAgEBa1YAKzQA////vP5HBBkGAAYmAF0AAAEGAJ4bAAALtgIcAQEBq1YAKzQA//8AoQAABVAHBQYmAD0AAAEHAGoA6QE2AA23AgEeAgEBd1YAKzQ0AP///+UAAATrBzcGJgA+AAABBwB1Ab0BNwALtgMODQEBYVYAKzQA////5gAAA+8GAAYmAF4AAAEHAHUBIgAAAAu2Aw4NAQGgVgArNAD////lAAAE6wcWBiYAPgAAAQcAogGYAT8AC7YDFwgBAXZWACs0AP///+YAAAPkBd8GJgBeAAABBwCiAP0ACAALtgMXCAEBtVYAKzQA////5QAABOsHOgYmAD4AAAEHAJ8AzwE3AAu2AxQIAQFqVgArNAD////mAAAD8QYDBiYAXgAAAQYAnzQAAAu2AxQIAQGpVgArNAD///+NAAAHbwdCBiYAgQAAAQcAdQLwAUIAC7YGGQMBAWxWACs0AP//AA7/6gZfBgEGJgCGAAABBwB1Am4AAQALtgNfDwEBjVYAKzQA//8AFv+iBZAHgAYmAIMAAAEHAHUCIwGAAAu2AzQWAQGWVgArNAD//wAq/3UEMAX9BiYAiQAAAQcAdQE0//0AC7YDMAoBAYtWACs0AP///5b//wQWBI0GJgJLAAAABwJB/wX/a////5b//wQWBI0GJgJLAAAABwJB/wX/a///AGMAAAReBI0GJgHzAAAABgJBJbr///+aAAAEAQYeBiYCTgAAAQcARADLAB4AC7YDEAcBAWtWACs0AP///5oAAAQ6Bh4GJgJOAAABBwB1AW0AHgALtgMOAwEBa1YAKzQA////mgAABAkGHgYmAk4AAAEGAJ5pHgALtgMTAwEBa1YAKzQA////mgAABDsGEgYmAk4AAAEGAKV3HwALtgMbAwEBa1YAKzQA////mgAABCIF7QYmAk4AAAEHAGoAlQAeAA23BAMXAwEBa1YAKzQ0AP///5oAAAQBBnkGJgJOAAABBwCjAQQAUwANtwQDGQMBAVFWACs0NAD///+aAAAETgaYBiYCTgAAAAcCQgD0//7//wA5/jwERASgBiYCTAAAAAcAeQFi/////wAJAAAD+wYeBiYCQwAAAQcARACgAB4AC7YEEgcBAWxWACs0AP//AAkAAAQPBh4GJgJDAAABBwB1AUIAHgALtgQQBwEBbFYAKzQA//8ACQAAA/sGHgYmAkMAAAEGAJ4+HgALtgQWBwEBbFYAKzQA//8ACQAAA/sF7QYmAkMAAAEGAGpqHgANtwUEGQcBAYRWACs0NAD//wAaAAAB3wYeBiYB/gAAAQYARIYeAAu2AQYDAQFrVgArNAD//wAaAAAC9AYeBiYB/gAAAQYAdSceAAu2AQQDAQFrVgArNAD//wAaAAACwwYeBiYB/gAAAQcAnv8jAB4AC7YBCQMBAXZWACs0AP//ABoAAALdBe0GJgH+AAABBwBq/1AAHgANtwIBDQMBAYRWACs0NAD//wAJAAAEqAYSBiYB+QAAAQcApQCYAB8AC7YBGAYBAXZWACs0AP//ADv/7QRYBh4GJgH4AAABBwBEANkAHgALtgIuEQEBW1YAKzQA//8AO//tBFgGHgYmAfgAAAEHAHUBegAeAAu2AiwRAQFbVgArNAD//wA7/+0EWAYeBiYB+AAAAQYAnnceAAu2AjERAQFbVgArNAD//wA7/+0EWAYSBiYB+AAAAQcApQCGAB8AC7YCMREBAW9WACs0AP//ADv/7QRYBe0GJgH4AAABBwBqAKMAHgANtwMCNREBAXRWACs0NAD//wA4/+wEZAYeBiYB8gAAAQcARAC/AB4AC7YBGAsBAWtWACs0AP//ADj/7ARkBh4GJgHyAAABBwB1AWEAHgALtgEWCwEBa1YAKzQA//8AOP/sBGQGHgYmAfIAAAEGAJ5dHgALtgEbCwEBa1YAKzQA//8AOP/sBGQF7QYmAfIAAAEHAGoAiQAeAA23AgEfCwEBhFYAKzQ0AP//AGwAAASCBh4GJgHuAAABBwB1ATkAHgALtgMOCQEBa1YAKzQA////mgAABCEFywYmAk4AAAEGAHBwIQALtgMQAwEBsFYAKzQA////mgAABBMGBgYmAk4AAAEHAKEAoQAeAAu2AxMDAQFdVgArNAAABP+a/lUEAQSNAAQACQANACMAIUAPDQwMAxYdCAN9Dw4FBQESAD8zETMzPzMvMxI5LzMwMUEBIwEzEwM3MxMDByE3ARcOAgcGFhcyNjcXBgYjIiY3PgICgP4T+QKSpky3BJv7qyD9eSACj3YkUj4GAxkdFy0UDSJOKFZpAQJOdgOT/G0EjftzA6vi+3MBsLW1/os9GTpKLx0gAQ4JjRUUaVdKcFAA//8AOf/tBEQGHgYmAkwAAAEHAHUBbQAeAAu2ASgQAQFbVgArNAD//wA5/+0ERAYeBiYCTAAAAQYAnmoeAAu2AS0QAQFbVgArNAD//wA5/+0ERAX9BiYCTAAAAQcAogFIACYAC7YBMRABAXBWACs0AP//ADn/7QREBiEGJgJMAAABBgCffx4AC7YBLhABAWRWACs0AP//AAn//wQWBiEGJgJLAAABBgCf+R4AC7YCJB0BAXRWACs0AP//AAkAAAP7BcsGJgJDAAABBgBwRSEAC7YEEgcBAbBWACs0AP//AAkAAAP7BgYGJgJDAAABBgChdh4AC7YEFQcBAV5WACs0AP//AAkAAAP7Bf0GJgJDAAABBwCiAR0AJgALtgQZBwEBgFYAKzQAAAUACf5VA/sEjQADAAcACwAPACUAI0AQGB8LCgoGDw4HfREQEAUGEgA/MzMRMz8zMxI5LzMvMzAxZQchNxMDIxMBByE3AQchNxMXDgIHBhYXMjY3FwYGIyImNz4CA1Qi/Xgi88rsywKEIv3LIgLYIv15Iul1I1I/BQMYHhcsFgwjTSlVaQIBTna/v78DzvtzBI3+Lb+/AdPAwPuuPRk6Si8dIAEOCY0VFGlXSnBQ//8ACQAABBEGIQYmAkMAAAEGAJ9UHgALtgQWBwEBdFYAKzQA//8AP//vBE4GHgYmAgAAAAEGAJ5xHgALtgEwEAEBZlYAKzQA//8AP//vBE4GBgYmAgAAAAEHAKEAqQAeAAu2ATAQAQFNVgArNAD//wA//+8ETgX9BiYCAAAAAQcAogFQACYAC7YBNBABAXBWACs0AP//AD/9+wROBKAGJgIAAAABBwHVASn+lwAOtAE0BQEBuP+ZsFYAKzT//wAJAAAEqQYeBiYB/wAAAQYAnn8eAAu2AxEHAQF2VgArNAD//wAOAAAC9gYSBiYB/gAAAQcApf8yAB8AC7YBCQMBAX9WACs0AP//ABoAAALbBcsGJgH+AAABBwBw/yoAIQALtgEGAwEBsFYAKzQA//8AGgAAAs4GBgYmAf4AAAEHAKH/XAAeAAu2AQkDAQFdVgArNAD///+W/lUBzwSNBiYB/gAAAAYApO4A//8AGgAAAgIF/QYmAf4AAAEGAKICJgALtgENAwEBgFYAKzQA////8//tBJgGHgYmAf0AAAEHAJ4A+AAeAAu2ARkBAQF2VgArNAD//wAJ/gMEnQSNBiYB/AAAAAcB1QDP/p///wAJAAADMQYeBiYB+wAAAQYAdR0eAAu2AggHAQFrVgArNAD//wAJ/gQDMQSNBiYB+wAAAQcB1QDN/qAADrQCEQYBAbj/lbBWACs0//8ACQAAAzEEkAYmAfsAAAAHAdUCJAOQ//8ACQAAAzEEjQYmAfsAAAAHAKIA8P1B//8ACQAABKgGHgYmAfkAAAEHAHUBjQAeAAu2AQoGAQFrVgArNAD//wAJ/f0EqASNBiYB+QAAAAcB1QEy/pn//wAJAAAEqAYhBiYB+QAAAQcAnwCfAB4AC7YBEAYBAXRWACs0AP//ADv/7QRYBcsGJgH4AAABBgBwfiEAC7YCLhEBAaBWACs0AP//ADv/7QRYBgYGJgH4AAABBwChAK8AHgALtgIxEQEBTVYAKzQA//8AO//tBOMGHQYmAfgAAAEHAKYA+AAeAA23AwIwEQEBUVYAKzQ0AP//AAkAAAQWBh4GJgH1AAABBwB1ASIAHgALtgIfAAEBa1YAKzQA//8ACf4EBBYEjQYmAfUAAAAHAdUA1f6g//8ACQAABBYGIQYmAfUAAAEGAJ80HgALtgIlAAEBdFYAKzQA//8AD//uBBsGHgYmAfQAAAEHAHUBTgAeAAu2AToPAQFbVgArNAD//wAP/+4D/gYeBiYB9AAAAQYAnkoeAAu2AT8PAQFmVgArNAD//wAP/j0D/gSeBiYB9AAAAAcAeQFIAAD//wAP/+4EHAYhBiYB9AAAAQYAn18eAAu2AUAPAQFmVgArNAD//wBj/gMEXgSNBiYB8wAAAQcB1QDj/p8ADrQCEQIBAbj/kLBWACs0//8AYwAABF4GIQYmAfMAAAEGAJ9NHgALtgIOBwEBdFYAKzQA//8AY/5EBF4EjQYmAfMAAAAHAHkBNAAH//8AOP/sBGQGEgYmAfIAAAEGAKVsHwALtgEbCwEBf1YAKzQA//8AOP/sBGQFywYmAfIAAAEGAHBkIQALtgEYCwEBsFYAKzQA//8AOP/sBGQGBgYmAfIAAAEHAKEAlQAeAAu2ARsLAQFdVgArNAD//wA4/+wEZAZ5BiYB8gAAAQcAowD4AFMADbcCASELAQFRVgArNDQA//8AOP/sBMkGHQYmAfIAAAEHAKYA3gAeAA23AgEaCwEBYVYAKzQ0AAACADj+hQRkBI0AFQArABpADB4lFxYWEQYLcgwAfQA/MisyMhEzLzMwMUEzAw4CJy4CNxMzAwYWFhcWNjY3AxcOAgcGFhcyNjcXBgYjIiY3PgIDd+2CEpLehXvCZg6B64IIJFhFSXBIC5V1I1I+BgMYHhctFA0iTihWaQIBTnUEjf0AhrxfAwJiuIIDAPz/Q2I3AgI0ZEj+3z0ZOkovHSABDgmNFRRpV0pwUAD//wCLAAAGHgYeBiYB8AAAAQcAngEXAB4AC7YEGwoBAXZWACs0AP//AGwAAASCBh4GJgHuAAABBgCeNR4AC7YDEwkBAXZWACs0AP//AGwAAASCBe0GJgHuAAABBgBqYR4ADbcEAxcJAQGEVgArNDQA////1gAABCoGHgYmAe0AAAEHAHUBPAAeAAu2Aw4NAQFrVgArNAD////WAAAEKgX9BiYB7QAAAQcAogEXACYAC7YDFw0BAYBWACs0AP///9YAAAQqBiEGJgHtAAABBgCfTh4AC7YDFA0BAXRWACs0AP///6MAAASrBj8GJgAlAAABBgCusP8ADrQDDgMAALj/PrBWACs0////ugAABSAGQQQmAClkAAEHAK7+hAABAA60BBAHAAC4/z+wVgArNP///8IAAAXpBkAEJgAsZAAABwCu/owAAP///8YAAAKNBkIEJgAtZAABBwCu/pAAAgAOtAEEAwAAuP9BsFYAKzT//wAn/+kFNgY/BCYAMxQAAQcArv7x//8ADrQCLBEAALj/KrBWACs0////uQAABbQGPwQmAD1kAAEHAK7+g///AAu2AQoIAACOVgArNAD//wAeAAAFAwY/BCYAuhQAAQcArv7+//8ADrQDNh0AALj/KrBWACs0//8ACf/1AzoGmwYmAMMAAAEHAK//Gv/rABBACQMCASsAAQGiVgArNDQ0////owAABKsFsAYGACUAAP//ACb//wS3BbAGBgAmAAD//wAmAAAEvAWwBgYAKQAA////5QAABOsFsAYGAD4AAP//ACYAAAWFBbAGBgAsAAD//wA3AAACKQWwBgYALQAA//8AJgAABXIFsAYGAC8AAP//ACYAAAbOBbAGBgAxAAD//wAmAAAFhgWwBgYAMgAA//8AYv/pBSIFxwYGADMAAP//ACYAAAT6BbAGBgA0AAD//wCdAAAFJQWwBgYAOAAA//8AoQAABVAFsAYGAD0AAP///8AAAAVGBbAGBgA8AAD//wA3AAADMAcNBiYALQAAAQcAav+jAT4ADbcCARkDAQGDVgArNDQA//8AoQAABVAHBQYmAD0AAAEHAGoA6QE2AA23AgEeAgEBd1YAKzQ0AP//ADv/5wQyBjwGJgC7AAABBwCuAT///AALtgNCBgEBmlYAKzQA//8AKP/qBAQGOwYmAL8AAAEHAK4BDP/7AAu2AkArAQGaVgArNAD//wAR/mED+wY8BiYAwQAAAQcArgEU//wAC7YCHQMBAa5WACs0AP//AGb/9QKOBiYGJgDDAAABBgCu/eYAC7YBEgABAZlWACs0AP//AFf/5wQ4BqMGJgDLAAABBgCvGPMAEEAJAwIBOA8BAaJWACs0NDT//wAhAAAEkAQ6BgYAjgAA//8AOP/pBB4EUQYGAFMAAP///97+YARZBDoGBgB2AAD//wBkAAAEEgQ6BgYAWgAA////n/5PBGcESAYGAosAAP//AET/9QL6BboGJgDDAAABBwBq/23/6wANtwIBJwABAaJWACs0NAD//wBX/+cD+AXCBiYAywAAAQYAamvzAA23AgE0DwEBolYAKzQ0AP//ADj/6QQeBjwGJgBTAAABBwCuAQX//AALtgIsBgEBmlYAKzQA//8AV//nA+4GLgYmAMsAAAEHAK4A+//uAAu2AR8PAQGZVgArNAD//wBS/+cGBAYsBiYAzgAAAQcArgIT/+wAC7YCQB8BAZZWACs0AP//ACYAAAS8Bw0GJgApAAABBwBqAOsBPgANtwUEJQcBAYNWACs0NAD//wArAAAErAc+BiYAsQAAAQcAdQG6AT4AC7YBBgUBAWxWACs0AAABACb/6gS9BcYAOQAbQA0KJg82MSsJchgUDwNyACvMMyvMMxI5OTAxQTYuAicuAzc+AxceAgcjNiYmJyYGBgcGHgIXHgMHDgMnLgM3FwYeAjMWNjYDUAkoS14uTJR3QgYIZ6C+XoXQdgX0BjFoTUWAWQsILVBcKFGVdD4HCWaevmFnt4pLBPQEIUZlP0SBWwF+O1E3JhEbSmaLXWmbZjECA2zGiExtPQECLV5KNEw0JA4cTWqRYWubYi4CAT53qm0BQGNCIgIqWwD//wA3AAACKQWwBgYALQAA//8ANwAAAzAHDQYmAC0AAAEHAGr/owE+AA23AgEZAwEBg1YAKzQ0AP//AAT/6ARdBbAGBgAuAAD//wArAAAFdgWwBgYCRwAA//8AJgAABXIHMwYmAC8AAAEHAHUBpgEzAAu2Aw4DAQFbVgArNAD//wCZ/+gFVgcmBiYA3gAAAQcAoQEVAT4AC7YCHgEBAV5WACs0AP///6MAAASrBbAGBgAlAAD//wAm//8EtwWwBgYAJgAA//8AKwAABKwFsAYGALEAAP//ACYAAAS8BbAGBgApAAD//wAlAAAFfAcmBiYA3AAAAQcAoQFTAT4AC7YBDwEBAV5WACs0AP//ACYAAAbOBbAGBgAxAAD//wAmAAAFhQWwBgYALAAA//8AYv/pBSIFxwYGADMAAP//ACsAAAWDBbAGBgC2AAD//wAmAAAE+gWwBgYANAAA//8AX//oBQoFxwYGACcAAP//AJ0AAAUlBbAGBgA4AAD////AAAAFRgWwBgYAPAAA//8AHP/pA9EEUAYGAEUAAP//ADr/6wPwBFEGBgBJAAD//wAXAAAERQXbBiYA8AAAAQcAoQCW//MAC7YBDwEBAX1WACs0AP//ADj/6QQeBFEGBgBTAAD////I/mAEEARRBgYAVAAAAAEAN//qA+YEUQAnABNACQAJHRQHcgkLcgArKzIRMzAxZRY2Njc3DgInLgM3Nz4DFx4CByc0JiYnJg4CBwcGHgIB4DtiQQ3fDYnLcXOjZCcKBAxTi753eK5cAd0lTz9KaUUnBwQFAyJPqwEuVjgBdKxdAgJamMFoJG/GmVYDAmq3dQE4YT0CAj5qfz4jNXlqRAD///+8/kcEGQQ6BgYAXQAA////ugAABBIEOgYGAFwAAP//ADr/6wPwBc8GJgBJAAABBgBqYAAADbcCAUELAQGjVgArNDQA//8AFgAAA5UF8wYmAOwAAAEHAHUAyP/zAAu2AQYFAQGLVgArNAD//wAb/+sDwQRPBgYAVwAA//8AIAAAAgoF2AYGAE0AAP//ACMAAALiBcYGJgCNAAABBwBq/1X/9wANtwIBGQMBAbVWACs0NAD///8C/kYCAQXYBgYATgAA//8AIgAABH4F8gYmAPEAAAEHAHUBSv/yAAu2Aw4DAQGKVgArNAD///+8/kcEGQXoBiYAXQAAAQYAoVMAAAu2Ah4BAQGSVgArNAD//wC1AAAHOgc3BiYAOwAAAQcARAIjATcAC7YEGBUBAWFWACs0AP//AHkAAAX0BgAGJgBbAAABBwBEAWYAAAALtgQYFQEBoFYAKzQA//8AtQAABzoHNwYmADsAAAEHAHUCxAE3AAu2BBYBAQFhVgArNAD//wB5AAAF9AYABiYAWwAAAQcAdQIIAAAAC7YEFgEBAaBWACs0AP//ALUAAAc6BwYGJgA7AAABBwBqAe0BNwANtwUEKxUBAXhWACs0NAD//wB5AAAF9AXPBiYAWwAAAQcAagExAAAADbcFBCsVAQG3VgArNDQA//8AoQAABVAHNgYmAD0AAAEHAEQBHwE2AAu2AQsCAQFgVgArNAD///+8/kcEGQYABiYAXQAAAQYARH0AAAu2AhsBAQGgVgArNAD//wCRA/4BlQYABgYACwAA//8AnQP4ArwGAAYGAAYAAP//ADP/8AQqBbAEJgAFAAAABwAFAg4AAP///wT+RwL5BeEGJgCcAAABBwCf/zz/3gALtgEYAAEBgFYAKzQA//8AjQQEAfoGAAYGAYYAAP//ACYAAAbOBzcGJgAxAAABBwB1AsEBNwALtgMRAAEBYVYAKzQA//8ADwAABmEGAAYmAFEAAAEHAHUCmwAAAAu2AzMDAQGgVgArNAD///+j/nAEqwWwBiYAJQAAAQcApwFpAAQAELUEAxEFAQG4/7WwVgArNDT//wAc/nUD0QRQBiYARQAAAQcApwCkAAkAELUDAj4xAQG4/8mwVgArNDT//wAmAAAEvAc+BiYAKQAAAQcARAEhAT4AC7YEEgcBAWxWACs0AP//ACUAAAV8Bz4GJgDcAAABBwBEAX0BPgALtgEMAQEBbFYAKzQA//8AOv/rA/AGAAYmAEkAAAEHAEQAlgAAAAu2AS4LAQGMVgArNAD//wAXAAAERQXzBiYA8AAAAQcARADA//MAC7YBDAEBAYtWACs0AP//AHYAAAXRBbAGBgC5AAD//wA//iUFXwQ8BgYAzQAA//8AqAAABWEG/QYmARkAAAEHAKwEXAEPAA23AwIVEwEBLVYAKzQ0AP//AHUAAARKBdAGJgEaAAABBwCsA8f/4gANtwMCGRcBAXtWACs0NAD//wA4/kcIgARRBCYAUwAAAAcAXQRnAAD//wBi/kcJcgXHBCYAMwAAAAcAXQVZAAD//wAf/jcEpAXGBiYA2wAAAQcCbAFz/50AC7YCQioAAGRWACs0AP//ABf+OAO9BFAGJgDvAAABBwJsARr/ngALtgI/KQAAZVYAKzQA//8AX/46BQoFxwYmACcAAAEHAmwBs/+gAAu2ASsFAABkVgArNAD//wA3/joD5gRRBiYARwAAAQcCbAE3/6AAC7YBKwkAAGRWACs0AP//AKEAAAVQBbAGBgA9AAD//wB1/l8EMAQ6BgYAvQAA//8ANwAAAikFsAYGAC0AAP///6QAAAfoByYGJgDaAAABBwChAlABPgALtgUdDQEBXlYAKzQA////sAAABoEF2wYmAO4AAAEHAKEBi//zAAu2BR0NAQF9VgArNAD//wA3AAACKQWwBgYALQAA////owAABKsHHwYmACUAAAEHAKEBKgE3AAu2AxMHAQFTVgArNAD//wAc/+kD9QXoBiYARQAAAQcAoQCDAAAAC7YCQA8BAX5WACs0AP///6MAAASrBwYGJgAlAAABBwBqAR4BNwANtwQDIwcBAXhWACs0NAD//wAc/+kEBAXPBiYARQAAAQYAancAAA23AwJQDwEBo1YAKzQ0AP///40AAAdvBbAGBgCBAAD//wAO/+oGXwRRBgYAhgAA//8AJgAABLwHJgYmACkAAAEHAKEA+AE+AAu2BBUHAQFeVgArNAD//wA6/+sD8AXoBiYASQAAAQYAoWwAAAu2ATELAQF+VgArNAD//wBL/+kFLQbeBiYBWAAAAQcAagD3AQ8ADbcCAUIAAQFBVgArNDQA//8ANP/qA9oEUQYGAJ0AAP//ADT/6gP4BdAGJgCdAAABBgBqawEADbcCAUAAAQGiVgArNDQA////pAAAB+gHDQYmANoAAAEHAGoCRAE+AA23BgUtDQEBg1YAKzQ0AP///7AAAAaBBcIGJgDuAAABBwBqAX//8wANtwYFLQ0BAaJWACs0NAD//wAf/+oEpAcaBiYA2wAAAQcAagDfAUsADbcDAlQVAQGEVgArNDQA//8AF//qA98FzgYmAO8AAAEGAGpS/wANtwMCURQBAaNWACs0NAD//wAlAAAFfAbqBiYA3AAAAQcAcAEiAUAAC7YBDAgBAbFWACs0AP//ABcAAARFBaAGJgDwAAABBgBwZfYAC7YBDAgBAdBWACs0AP//ACUAAAV8Bw0GJgDcAAABBwBqAUcBPgANtwIBHwEBAYNWACs0NAD//wAXAAAERQXCBiYA8AAAAQcAagCK//MADbcCAR8BAQGiVgArNDQA//8AYv/pBSIHBwYmADMAAAEHAGoBNQE4AA23AwJBEQEBZlYAKzQ0AP//ADj/6QQeBc8GJgBTAAABBgBqdQAADbcDAkEGAQGjVgArNDQA//8AYf/pBRsFxwYGARcAAP//ADT/6AQdBFIGBgEYAAD//wBh/+kFGwcJBiYBFwAAAQcAagFGAToADbcEA08AAQFqVgArNDQA//8ANP/oBB0F0AYmARgAAAEGAGp2AQANtwQDQQABAaVWACs0NAD//wBI/+kE8gcbBiYA5wAAAQcAagEXAUwADbcDAkIeAQGFVgArNDQA//8AIP/oA+YFzwYmAP8AAAEGAGpZAAANtwMCQQkBAaNWACs0NAD//wCZ/+gFVgbqBiYA3gAAAQcAcADkAUAAC7YCGxgBAbFWACs0AP///7z+RwQZBa0GJgBdAAABBgBwIgMAC7YCGxgBAeVWACs0AP//AJn/6AVWBw0GJgDeAAABBwBqAQkBPgANtwMCLgEBAYNWACs0NAD///+8/kcEGQXPBiYAXQAAAQYAakcAAA23AwIuAQEBt1YAKzQ0AP//AJn/6AVWBz0GJgDeAAABBwCmAV4BPgANtwMCGQEBAWJWACs0NAD///+8/kcEhwX/BiYAXQAAAQcApgCcAAAADbcDAhkBAQGWVgArNDQA//8AxAAABV0HDQYmAOEAAAEHAGoBSAE+AA23AwIvFgEBg1YAKzQ0AP//AG0AAAQYBcIGJgD5AAABBgBqafMADbcDAi0DAQGiVgArNDQA//8ALP//BrkHDQYmAOUAAAEHAGoB7wE+AA23AwIyHAEBg1YAKzQ0AP//ACP//wX4BcIGJgD9AAABBwBqAXL/8wANtwMCMhwBAaJWACs0NAD//wA4/+gEhwYABgYASAAA////o/6YBKsFsAYmACUAAAEHAK0E5AADAA60AxEFAQG4/3WwVgArNP//ABz+nQPRBFAGJgBFAAABBwCtBB4ACAAOtAI+MQEBuP+JsFYAKzT///+jAAAEqwe5BiYAJQAAAQcAqwUTAT0AC7YDDwcBAXFWACs0AP//ABz/6QPRBoMGJgBFAAABBwCrBGwABwALtgI8DwEBnFYAKzQA////owAABgsHqwYmACUAAAEHAlIA7gEhAA23BAMSBwEBYVYAKzQ0AP//ABz/6QVjBnQGJgBFAAABBgJSRuoADbcDAkEPAQGMVgArNDQA////owAABKsHqQYmACUAAAEHAlMA8QEqAA23BAMQBwEBXFYAKzQ0AP//ABz/6QPqBnIGJgBFAAABBgJTSfMADbcDAj0PAQGHVgArNDQA////owAABXsH3AYmACUAAAEHAlQA7AEVAA23BAMTAwEBUFYAKzQ0AP//ABz/6QTUBqUGJgBFAAABBgJURd4ADbcDAkAPAQF7VgArNDQA////owAABKsH0wYmACUAAAEHAlUA6wEHAA23BAMQBwEBOlYAKzQ0AP//ABz/6QPnBpwGJgBFAAABBgJVRNAADbcDAj0PAQFlVgArNDQA////o/6YBKsHNwYmACUAAAAnAJ4A8gE3AQcArQTkAAMAF7QEGgUBAbj/dbdWAxEHAQFsVgArNCs0AP//ABz+nQPrBgAGJgBFAAAAJgCeSwABBwCtBB4ACAAXtANHMQEBuP+Jt1YCPg8BAZdWACs0KzQA////owAABKsHrgYmACUAAAEHAlcBGAEyAA23BAMTBwEBXFYAKzQ0AP//ABz/6QPtBngGJgBFAAABBgJXcfwADbcDAkAPAQGHVgArNDQA////owAABKsHrgYmACUAAAEHAlABGAEyAA23BAMTBwEBXFYAKzQ0AP//ABz/6QPuBngGJgBFAAABBgJQcfwADbcDAkAPAQGHVgArNDQA////owAABKsIPQYmACUAAAEHAlgBFwE2AA23BAMTBwEBblYAKzQ0AP//ABz/6QPlBwYGJgBFAAABBgJYcP8ADbcDAkAPAQGZVgArNDQA////owAABKsIFQYmACUAAAEHAmsBGwE8AA23BAMTBwEBb1YAKzQ0AP//ABz/6QP3Bt4GJgBFAAABBgJrdAUADbcDAkAPAQGaVgArNDQA////o/6YBKsHHwYmACUAAAAnAKEBKgE3AQcArQTkAAMAF7QEIAUBAbj/dbdWAxMHAQFTVgArNCs0AP//ABz+nQP1BegGJgBFAAAAJwChAIMAAAEHAK0EHgAIABe0A00xAQG4/4m3VgJADwEBflYAKzQrNAD//wAm/p8EvAWwBiYAKQAAAQcArQSoAAoADrQEEwIBAbj/f7BWACs0//8AOv6VA/AEUQYmAEkAAAEHAK0EdQAAAA60AS8AAQG4/4mwVgArNP//ACYAAAS8B8AGJgApAAABBwCrBOABRAALtgQRBwEBfFYAKzQA//8AOv/rA/AGgwYmAEkAAAEHAKsEVQAHAAu2AS0LAQGcVgArNAD//wAmAAAEvAcxBiYAKQAAAQcApQDOAT4AC7YEHgcBAXZWACs0AP//ADr/6wQHBfQGJgBJAAABBgClQwEAC7YBOgsBAZZWACs0AP//ACYAAAXYB7IGJgApAAABBwJSALsBKAANtwUEFAcBAWxWACs0NAD//wA6/+sFTQZ1BiYASQAAAQYCUjDrAA23AgEwCwEBjFYAKzQ0AP//ACYAAAS8B7AGJgApAAABBwJTAL4BMQANtwUEEgcBAWdWACs0NAD//wA6/+sD8AZzBiYASQAAAQYCUzP0AA23AgEuCwEBh1YAKzQ0AP//ACYAAAVJB+MGJgApAAABBwJUALoBHAANtwUEFQcBAVtWACs0NAD//wA6/+sEvgamBiYASQAAAQYCVC/fAA23AgExCwEBe1YAKzQ0AP//ACYAAAS8B9oGJgApAAABBwJVALkBDgANtwUEEgcBAUVWACs0NAD//wA6/+sD8AadBiYASQAAAQYCVS3RAA23AgEuCwEBZVYAKzQ0AP//ACb+nwS8Bz4GJgApAAAAJwCeAL8BPgEHAK0EqAAKABe0BRwCAQG4/3+3VgQTBwEBd1YAKzQrNAD//wA6/pUD8AYABiYASQAAACYAnjQAAQcArQR1AAAAF7QCOAABAbj/ibdWAS8LAQGXVgArNCs0AP//ADcAAALTB8AGJgAtAAABBwCrA5cBRAALtgEFAwEBfFYAKzQA//8AIwAAAoUGegYmAI0AAAEHAKsDSf/+AAu2AQUDAQGuVgArNAD//////psCKQWwBiYALQAAAQcArQNeAAYADrQBBwIBAbj/frBWACs0////4/6fAgoF2AYmAE0AAAEHAK0DQgAKAA60AhMCAQG4/3+wVgArNP//AGL+lQUiBccGJgAzAAABBwCtBPQAAAAOtAIvBgEBuP+JsFYAKzT//wA4/pEEHgRRBiYAUwAAAQcArQSB//wADrQCLxEBAbj/iLBWACs0//8AYv/pBSIHuwYmADMAAAEHAKsFKgE/AAu2Ai0RAQFfVgArNAD//wA4/+kEHgaDBiYAUwAAAQcAqwRqAAcAC7YCLQYBAZxWACs0AP//AGL/6QYjB6wGJgAzAAABBwJSAQYBIgANtwMCMBEBAU9WACs0NAD//wA4/+kFYgZ0BiYAUwAAAQYCUkXqAA23AwIwBgEBjFYAKzQ0AP//AGL/6QUiB6oGJgAzAAABBwJTAQgBKwANtwMCLhEBAUpWACs0NAD//wA4/+kEHgZyBiYAUwAAAQYCU0jzAA23AwIuBgEBh1YAKzQ0AP//AGL/6QWSB90GJgAzAAABBwJUAQMBFgANtwMCMREBAT5WACs0NAD//wA4/+kE0walBiYAUwAAAQYCVETeAA23AwIxBgEBe1YAKzQ0AP//AGL/6QUiB9QGJgAzAAABBwJVAQMBCAANtwMCLhEBAShWACs0NAD//wA4/+kEHgacBiYAUwAAAQYCVUPQAA23AwIuBgEBZVYAKzQ0AP//AGL+lQUiBzgGJgAzAAAAJwCeAQoBOAEHAK0E9AAAABe0AzgGAQG4/4m3VgIvEQEBWlYAKzQrNAD//wA4/pEEHgYABiYAUwAAACYAnkkAAQcArQSB//wAF7QDOBEBAbj/iLdWAi8GAQGXVgArNCs0AP//AFz/6QYhBzUGJgCYAAABBwB1AgwBNQALtgM6HAEBR1YAKzQA//8ANP/pBPAGAAYmAJkAAAEHAHUBXQAAAAu2AzYQAQGMVgArNAD//wBc/+kGIQc1BiYAmAAAAQcARAFqATUAC7YDPBwBAUdWACs0AP//ADT/6QTwBgAGJgCZAAABBwBEALsAAAALtgM4EAEBjFYAKzQA//8AXP/pBiEHuAYmAJgAAAEHAKsFKQE8AAu2AzscAQFXVgArNAD//wA0/+kE8AaDBiYAmQAAAQcAqwR6AAcAC7YDNxABAZxWACs0AP//AFz/6QYhBykGJgCYAAABBwClARcBNgALtgNIHAEBUVYAKzQA//8ANP/pBPAF9AYmAJkAAAEGAKVoAQALtgNEEAEBllYAKzQA//8AXP6VBiEGLQYmAJgAAAEHAK0E3gAAAA60Az0QAQG4/4mwVgArNP//ADT+iwTwBKoGJgCZAAABBwCtBHT/9gAOtAM5GwEBuP9/sFYAKzT//wBY/pUFMQWwBiYAOQAAAQcArQTNAAAADrQBGQYBAbj/ibBWACs0//8ASv6VBC8EOgYmAFkAAAEHAK0EHgAAAA60Ah8LAQG4/4mwVgArNP//AFj/6AUxB7kGJgA5AAABBwCrBQcBPQALtgEXAAEBcVYAKzQA//8ASv/oBC8GgwYmAFkAAAEHAKsEcQAHAAu2Ah0RAQGwVgArNAD//wBY/+kGpAdCBiYAmgAAAQcAdQIPAUIAC7YCIAoBAWxWACs0AP//AEr/6AVZBesGJgCbAAABBwB1AVf/6wALtgMmGwEBi1YAKzQA//8AWP/pBqQHQgYmAJoAAAEHAEQBbQFCAAu2AiIKAQFsVgArNAD//wBK/+gFWQXrBiYAmwAAAQcARAC2/+sAC7YDKBsBAYtWACs0AP//AFj/6QakB8UGJgCaAAABBwCrBSwBSQALtgIhCgEBfFYAKzQA//8ASv/oBVkGbgYmAJsAAAEHAKsEdf/yAAu2AycbAQGbVgArNAD//wBY/+kGpAc2BiYAmgAAAQcApQEaAUMAC7YCLhUBAXZWACs0AP//AEr/6AVZBd8GJgCbAAABBgClY+wAC7YDNBsBAZVWACs0AP//AFj+jAakBgMGJgCaAAABBwCtBO7/9wAOtAIjEAEBuP+AsFYAKzT//wBK/pUFWQSWBiYAmwAAAQcArQRrAAAADrQDKRUBAbj/ibBWACs0//8Aof6nBVAFsAYmAD0AAAEHAK0EpQASAA60AQwGAQG4/3awVgArNP///7z+DwQZBDoGJgBdAAABBwCtBQ3/egAOtAIiCAAAuP+5sFYAKzT//wChAAAFUAe5BiYAPQAAAQcAqwTeAT0AC7YBCgIBAXBWACs0AP///7z+RwQZBoMGJgBdAAABBwCrBDwABwALtgIaAQEBsFYAKzQA//8AoQAABVAHKgYmAD0AAAEHAKUAzAE3AAu2ARcIAQFqVgArNAD///+8/kcEGQX0BiYAXQAAAQYApSkBAAu2AicYAQGqVgArNAD////0/rAFFAYABCYASAAAACcCQQHYAj8BBwBDAHv/bAAXtAQ3FgEBuP93t1YDMgsBAYNWACs0KzQA//8Anf6aBSUFsAYmADgAAAEHAmwCNAAAAAu2AgsCAACaVgArNAD//wBU/poEDAQ6BiYA9gAAAQcCbAHRAAAAC7YCCwIAAJpWACs0AP//AMT+mgVdBbAGJgDhAAABBwJsArgAAAALtgIdGQEAmlYAKzQA//8Abf6aBBgEOwYmAPkAAAEHAmwBuQAAAAu2AhsCAQCaVgArNAD//wAr/poErAWwBiYAsQAAAQcCbAD1AAAAC7YBCQQAAJpWACs0AP//ABb+mgOIBDoGJgDsAAABBwJsANsAAAALtgEJBAAAmlYAKzQA//8AVf49BbsFxgYmAUwAAAEHAmwCuf+jAAu2AjoKAABrVgArNAD////y/kQEcwRRBiYBTQAAAQcCbAHR/6oAC7YCOQkAAGtWACs0AP//AA0AAAPyBgAGBgBMAAAAAgAk//8EiAWwABgAHAAaQAwcGxgAAAsMAnIOCwgAPzMrEjkvM8wyMDFBBR4CBw4DJyETMwMFMjY2NzYmJiclAQchNwFnAVWD1HUMCWSgxmv95vz22wEKUotbDAkwZUf+jgGUHv1zHgOBAQNkwIxzrXQ6AQWw+xcBPnZVSWc3AwECNaenAAACACT//wSIBbAAGAAcABlACxwbGAAACwwCDgsIAD8zPxI5LzPMMjAxQQUeAgcOAychEzMDBTI2Njc2JiYnJQEHITcBZwFVg9R1DAlkoMZr/eb89tsBClKLWwwJMGVH/o4BlB79cx4DgQEDZMCMc610OgEFsPsXAT52VUlnNwMBAjWnpwACAAAAAASsBbAABQAJABZACgYHBwQCBQJyBAgAPysyEjkvMzAxQQchAyMTAQchNwSsI/1x2vX9AYMe/XMeBbDI+xgFsP2XpqYAAAL/xwAAA4gEOgAFAAkAFkAKCQgIBAIFBnIECgA/KzISOS8zMDFBByEDIxMBByE3A4gi/jab67wBoB39ch4EOsD8hgQ6/j+npwAABAA/AAAFigWwAAMACQANABEAK0AVDAsLBwcGEBEGEQYRAgkDAnIKAghyACsyKzIROTkvLxEzETMSOREzMDFBAyMTIQEhNzMBAwE3AQEHITcCMf31/QRO/TL+oAXpAga8/qS2Ab3+Rx79cx4FsPpQBbD8wtoCZPpQAqS3/KUE56enAAQAKAAABFoGAAADAAkADQARAC1AFwQGcgwLCwcHBhARBhEGEQIDAHIKAgpyACsyKxE5OS8vETMRMxI5ETMrMDFBASMJAiEnMwEDAzcBAwchNwIe/vXrAQsDJ/3p/uAj3wFYgfauAUzbHv1zHgYA+gAGAP46/aG/AaD7xgIFoP1bBWOmpgAAAgChAAAFUAWwAAgADAAdQA8MAQQHAwsLBgMIAnIGCHIAKysyETkvFzkzMDFBEwEhAQMjEwEBByE3AabOAcABHP18W/dg/scDGR79dB0FsP1LArX8XP30AiUDi/z8p6cABABS/l8EMAQ6AAMACAANABEAF0ALERAQAgUNBnICDnIAKysyEjkvMzAxZQMjEzcBMwEjExMHIwMBByE3Ahtc7FyGAX79/dCmB24JmbgCiB79cx1t/fICDqEDLPvGBDr8t/EEOvxspqYAAAL/wAAABUYFsAALAA8AH0APDwcFAQQKAw4OCQUDAAJyACsyLzM5Lxc5EjkzMDFBEwEhAQEhAwEhCQIHITcBydgBfgEn/dsBP/7w3v54/tYCMv7JAyke/XMeBbD97wIR/SP9LQIc/eQC6gLG/Y2npwAC/7oAAAQSBDoACwAPAB9ADw8HBQEKBAMODgkFAwAGcgArMi8zOS8XORI5MzAxQRMBIQETIwMBIQEDAQchNwFxjgEEAQ/+Z+/1m/7x/vEBqOYCzR79cx4EOv6bAWX94f3lAXX+iwIyAgj+Raam//8AKP/qBAQETwYGAL8AAP///8IAAASpBbAGJgAqAAABBwJB/zH+ZQAOtAMOAgIAuAEIsFYAKzT//wB8AnAF3gMxBgYBgwAA//8ADQAABDwFxwYGABYAAP//ACb/6gQ4BccGBgAXAAD//wANAAAEKwWwBgYAGAAA//8AWP/oBHMFsAYGABkAAP//AHH/6QQiBboEBgAaFAD//wBL/+kEVgXHBAYAHBQA//8AjP/2BCwFxwQGAB0AAP//AHP/6ARMBcgEBgAUFAD//wBm/+sFFwdLBiYAKwAAAQcAdQH9AUsAC7YBLBABAW1WACs0AP////n+UQRCBgAGJgBLAAABBwB1AUUAAAALtgM/GgEBjFYAKzQA//8AJgAABYYHNwYmADIAAAEHAEQBfwE3AAu2AQwJAQFhVgArNAD//wANAAAD8gYABiYAUgAAAQcARAC3AAAAC7YCHgMBAaBWACs0AP///6MAAASrByEGJgAlAAABBwCsBI4BMwANtwQDDgMBAWZWACs0NAD//wAc/+kD0QXrBiYARQAAAQcArAPn//0ADbcDAjwPAQGRVgArNDQA//8AJgAABLwHKAYmACkAAAEHAKwEWwE6AA23BQQRBwEBcVYAKzQ0AP//ADr/6wPwBesGJgBJAAABBwCsA9D//QANtwIBLQsBAZFWACs0NAD////PAAACwwcoBiYALQAAAQcArAMTAToADbcCAQUDAQFxVgArNDQA////gAAAAnQF4gYmAI0AAAEHAKwCxP/0AA23AgEFAwEBo1YAKzQ0AP//AGL/6QUiByMGJgAzAAABBwCsBKUBNQANtwMCLREBAVRWACs0NAD//wA4/+kEHgXrBiYAUwAAAQcArAPl//0ADbcDAi0GAQGRVgArNDQA//8AJgAABNUHIQYmADYAAAEHAKwEQgEzAA23AwIfAAEBZlYAKzQ0AP//AAwAAAMABesGJgBWAAABBwCsA1D//QANtwMCGAMBAaVWACs0NAD//wBY/+gFMQchBiYAOQAAAQcArASCATMADbcCARcLAQFmVgArNDQA//8ASv/oBC8F6wYmAFkAAAEHAKwD7P/9AA23AwIdEQEBpVYAKzQ0AP///4UAAAV7Bj8EJgDQZAAABwCu/k//////ACb+nwS3BbAGJgAmAAABBwCtBJAACgAOtAI0GwEBuP9/sFYAKzT//wAQ/osEEQYABiYARgAAAQcArQSn//YADrQDMwQBAbj/a7BWACs0//8AJv6fBNkFsAYmACgAAAEHAK0EaQAKAA60AiIdAQG4/3+wVgArNP//ADj+lQSHBgAGJgBIAAABBwCtBIsAAAAOtAMzFgEBuP+JsFYAKzT//wAm/gYE2QWwBiYAKAAAAQcB1QD8/qIADrQCKB0BAbj/l7BWACs0//8AOP38BIcGAAYmAEgAAAEHAdUBHf6YAA60AzkWAQG4/6GwVgArNP//ACb+nwWFBbAGJgAsAAABBwCtBQAACgAOtAMPCgEBuP9/sFYAKzT//wAN/p8D8gYABiYATAAAAQcArQR9AAoADrQCHgIBAbj/f7BWACs0//8AJgAABXIHMwYmAC8AAAEHAHUBpgEzAAu2Aw4DAQFbVgArNAD//wARAAAEegc9BiYATwAAAQcAdQGtAT0AC7YDDgMBABtWACs0AP//ACb+4QVyBbAGJgAvAAABBwCtBMwATAAOtAMRAgEBuP/PsFYAKzT//wAR/s0ETgYABiYATwAAAQcArQRhADgADrQDEQIBAbj/vLBWACs0//8AJv6fA8AFsAYmADAAAAEHAK0ElQAKAA60AgsCAQG4/3+wVgArNP///+P+nwIWBgAGJgBQAAABBwCtA0IACgAOtAEHAgEBuP9/sFYAKzT//wAm/p8GzgWwBiYAMQAAAQcArQWpAAoADrQDFAYBAbj/f7BWACs0//8AD/6fBmEEUQYmAFEAAAEHAK0FrwAKAA60AzYCAQG4/3+wVgArNP//ACb+mwWGBbAGJgAyAAABBwCtBQIABgAOtAENAgEBuP9/sFYAKzT//wAN/p8D8gRRBiYAUgAAAQcArQRtAAoADrQCHwIBAbj/f7BWACs0//8AYv/pBSIH3gYmADMAAAEHAlEFFAFVAA23AwIxEQEBWlYAKzQ0AP//ACYAAAT6B0IGJgA0AAABBwB1AaoBQgALtgEYDwEBbFYAKzQA////yP5gBGoF9gYmAFQAAAEHAHUBnf/2AAu2AzADAQGWVgArNAD//wAm/p8E1QWwBiYANgAAAQcArQSWAAoADrQCIRgBAbj/f7BWACs0////3f6gAvIEUwYmAFYAAAEHAK0DPAALAA60AhoCAQG4/4CwVgArNP//ACb+lAS9BcYGJgA3AAABBwCtBLH//wAOtAE9KwEBuP+IsFYAKzT//wAb/osDwQRPBiYAVwAAAQcArQRa//YADrQBOSkBAbj/f7BWACs0//8Anf6ZBSUFsAYmADgAAAEHAK0EoQAEAA60AgsCAQG4/3WwVgArNP//AD/+lQKuBUMGJgBYAAABBwCtA/AAAAAOtAIZEQEBuP+JsFYAKzT//wBY/+gFMQfcBiYAOQAAAQcCUQTxAVMADbcCARsAAQFsVgArNDQA//8AmgAABX8HNgYmADoAAAEHAKUA3gFDAAu2AhgJAQF2VgArNAD//wBkAAAEEgXqBiYAWgAAAQYApRv3AAu2AhgJAQGgVgArNAD//wCa/p8FfwWwBiYAOgAAAQcArQTSAAoADrQCDQQBAbj/f7BWACs0//8AZP6fBBIEOgYmAFoAAAEHAK0EQQAKAA60Ag0EAQG4/3+wVgArNP//ALX+nwc6BbAGJgA7AAABBwCtBcEACgAOtAQZEwEBuP9/sFYAKzT//wB5/p8F9AQ6BiYAWwAAAQcArQUlAAoADrQEGRMBAbj/f7BWACs0////5f6fBOsFsAYmAD4AAAEHAK0EoQAKAA60AxECAQG4/3+wVgArNP///+b+nwPkBDoGJgBeAAABBwCtBEQACgAOtAMRAgEBuP9/sFYAKzT///8B/+kFaAXXBCYAM0YAAQcBcv4Z//8ADbcDAi4RAAASVgArNDQA////mgAABAEFHAYmAk4AAAAHAK7/Mv7c////pgAABDcFHwQmAkM8AAAHAK7+cP7f////rgAABOUFGgQmAf88AAAHAK7+eP7a////sQAAAgsFHwQmAf48AAAHAK7+e/7f////2P/tBGIFHAQmAfgKAAAHAK7+ov7c////ZQAABL4FHAQmAe48AAAHAK7+L/7c////6gAABHsFHAQmAg4KAAAHAK7+tP7c////mgAABAEEjQYGAk4AAP//AAn//wQABI0GBgJNAAD//wAJAAAD+wSNBgYCQwAA////1gAABCoEjQYGAe0AAP//AAkAAASpBI0GBgH/AAD//wAaAAABzwSNBgYB/gAA//8ACQAABJ0EjQYGAfwAAP//AAkAAAXIBI0GBgH6AAD//wAJAAAEqASNBgYB+QAA//8AO//tBFgEoAYGAfgAAP//AAkAAAQwBI0GBgH3AAD//wBjAAAEXgSNBgYB8wAA//8AbAAABIIEjgYGAe4AAP///6IAAAR9BI0GBgHvAAD//wAaAAAC3QXtBiYB/gAAAQcAav9QAB4ADbcCAQ0DAQGEVgArNDQA//8AbAAABIIF7QYmAe4AAAEGAGphHgANtwQDFwkBAYNWACs0NAD//wAJAAAD+wXtBiYCQwAAAQYAamoeAA23BQQZBwEBg1YAKzQ0AP//AAkAAAP4Bh4GJgIFAAABBwB1ASsAHgALtgIIAwEBg1YAKzQA//8AD//uA/4EngYGAfQAAP//ABoAAAHPBI0GBgH+AAD//wAaAAAC3QXtBiYB/gAAAQcAav9QAB4ADbcCAQ0DAQGEVgArNDQA////8//tA68EjQYGAf0AAP//AAkAAASdBh4GJgH8AAABBwB1ASIAHgALtgMOAwEBhFYAKzQA//8Adv/oBIkGBgYmAhwAAAEHAKEAiwAeAAu2Ah0XAQGEVgArNAD///+aAAAEAQSNBgYCTgAA//8ACf//BAAEjQYGAk0AAP//AAkAAAPgBI0GBgIFAAD//wAJAAAD+wSNBgYCQwAA//8ACwAABK0GBgYmAhkAAAEHAKEAwQAeAAu2AxEIAQGEVgArNAD//wAJAAAFyASNBgYB+gAA//8ACQAABKkEjQYGAf8AAP//ADv/7QRYBKAGBgH4AAD//wAJAAAEpASNBgYCCgAA//8ACQAABDAEjQYGAfcAAP//ADn/7QREBKAGBgJMAAD//wBjAAAEXgSNBgYB8wAA////ogAABH0EjQYGAe8AAAADAA7+NwPrBJ8AHgA+AEIAKEATHwECAj4+FT80NEAwKgtyDwsVfgA/M8wrzM0zEjkSOS8zEjk5MDFBJzcXPgI3NiYmIyYGBgcHPgMXHgMHDgMnFx4DBw4DJy4DNxceAhcWNjY3Ni4CJycTAyMTAi7CFoE3akoICDRYLjFXQQztB1WEnVBJk3pGBANUgpf+pUSKcUIEBV+TrVVQk3FAAugBMVI0OXJSCQYaNkkol7Jd7F4CKwF9AQEdRz82QRsBGzwxAVh+TyQBASFGd1dUeEwlRwEBIERvUmGGUiQCASpUgVkBN0MdAQEgSkAvPyQRAQH+Uv3nAhkAAAQACf6aBLkEjQADAAcACwAPAB1ADQMCAgYLB30PDgoKBhIAPzMQzjM/MxI5LzMwMUEHITcTAyMTIQMjExMDIxMDpyH9fiKZyuzLA9XL6sr7XuxeAp3AwAHw+3MEjftzBI38Jv3nAhkAAgA5/kAERASgACcAKwAYQAsZEH4oJCQqKgULcgArMi8yETM/MzAxQTcOAicuAzc3PgMXHgIXIy4CJyYOAgcHBh4CFxY2NgcDIxMDDOoUmOOCd6pmJQwKDlyVyXyAvWwI6gItXUdQdk8wCQoHAyVVTEtyTKBe610BgwGFt1sDAlycx21Pc86cVgMCY7h/RmE0AwI9bIVFUTt/bUYCAy9h4v3nAhkA//8AbAAABIIEjgYGAe4AAP//ADv+NwWUBKcGJgIyAAAABwJsAr//nf//AAsAAAStBcsGJgIZAAABBwBwAI8AIQALtgMOCAEBsFYAKzQA//8Adv/oBIkFywYmAhwAAAEGAHBZIQALtgIaFwEBsFYAKzQA//8AQQAABTQEjQYGAgwAAP//ABr/7QWeBI0EJgH+AAAABwH9Ae8AAP///34AAAYPBgAGJgKPAAABBwB1AnkAAAALtgYZDwEBTVYAKzQA////2//HBLsGHgYmApEAAAEHAHUBegAeAAu2AzARAQFbVgArNAD//wAP/fwD/gSeBiYB9AAAAAcB1QD3/pj//wCLAAAGHgYeBiYB8AAAAQcARAF4AB4AC7YEGAoBAWtWACs0AP//AIsAAAYeBh4GJgHwAAABBwB1AhoAHgALtgQWCgEBa1YAKzQA//8AiwAABh4F7QYmAfAAAAEHAGoBQwAeAA23BQQfCgEBhFYAKzQ0AP//AGwAAASCBh4GJgHuAAAABwBEAJcAHv///6P+WASrBbAGJgAlAAABBwCkAWsAAwALtgMOBQEBOVYAKzQA//8AHP5dA9EEUAYmAEUAAAEHAKQApgAIAAu2AjsxAABNVgArNAD//wAm/l8EvAWwBiYAKQAAAQcApAEwAAoAC7YEEAIAAENWACs0AP//ADr+VQPwBFEGJgBJAAABBwCkAP0AAAALtgEsAAAATVYAKzQA////mv5VBAEEjQYmAk4AAAAHAKQBDwAA//8ACf5dA/sEjQYmAkMAAAAHAKQA4AAI////4/6fAcoEOgYmAI0AAAEHAK0DQgAKAA60AQcCAQG4/3+wVgArNAAAABEA0gADAAEECQAAALIAAAADAAEECQABABoAsgADAAEECQACAAwAzAADAAEECQADACgA2AADAAEECQAEACgA2AADAAEECQAFACYBAAADAAEECQAGACYBJgADAAEECQAHAEABTAADAAEECQAIAAwBjAADAAEECQAJACYBmAADAAEECQALABQBvgADAAEECQAMABQBvgADAAEECQANASIB0gADAAEECQAOADYC9AADAAEECQAQAAwDKgADAAEECQARABoDNgADAAEECQAZAAwDKgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADEAIABUAGgAZQAgAFIAbwBiAG8AdABvACAAUAByAG8AagBlAGMAdAAgAEEAdQB0AGgAbwByAHMAIAAoAGgAdAB0AHAAcwA6AC8ALwBnAGkAdABoAHUAYgAuAGMAbwBtAC8AZwBvAG8AZwBsAGUAZgBvAG4AdABzAC8AcgBvAGIAbwB0AG8ALQBjAGwAYQBzAHMAaQBjACkAUgBvAGIAbwB0AG8AIABNAGUAZABpAHUAbQBJAHQAYQBsAGkAYwBSAG8AYgBvAHQAbwAgAE0AZQBkAGkAdQBtACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADMALgAwADEAMQA7ACAAMgAwADIANQBSAG8AYgBvAHQAbwAtAE0AZQBkAGkAdQBtAEkAdABhAGwAaQBjAFIAbwBiAG8AdABvACAAaQBzACAAYQAgAHQAcgBhAGQAZQBtAGEAcgBrACAAbwBmACAARwBvAG8AZwBsAGUALgBHAG8AbwBnAGwAZQBDAGgAcgBpAHMAdABpAGEAbgAgAFIAbwBiAGUAcgB0AHMAbwBuAEcAbwBvAGcAbABlAC4AYwBvAG0AVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAgAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAaQBzACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoAIABoAHQAdABwAHMAOgAvAC8AbwBwAGUAbgBmAG8AbgB0AGwAaQBjAGUAbgBzAGUALgBvAHIAZwBoAHQAdABwAHMAOgAvAC8AbwBwAGUAbgBmAG8AbgB0AGwAaQBjAGUAbgBzAGUALgBvAHIAZwBSAG8AYgBvAHQAbwBNAGUAZABpAHUAbQAgAEkAdABhAGwAaQBjAAAAAwAA//QAAP9qAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAIACAAI//8ADwABAAIADgAAAAAAAAIoAAIAWQAlAD4AAQBEAF4AAQBqAGoAAQBwAHAAAQB1AHUAAQCBAIEAAQCDAIMAAQCGAIYAAQCJAIkAAQCLAJYAAQCYAJ8AAQChAKMAAQClAKYAAQCoAK0AAwCxALEAAQC6ALsAAQC/AL8AAQDBAMEAAQDDAMQAAQDHAMcAAQDLAMsAAQDNAM4AAQDQANEAAQDTANMAAQDaAN4AAQDhAOEAAQDlAOUAAQDnAOkAAQDrAPsAAQD9AP0AAQD/AQEAAQEDAQMAAQEI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ADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgBlAGcAgQCDAIQAjACPAJEAkwCxALIAswC0ALUAtgC3ALgAuQC6ANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAS8BMwE1ATcBOQE7AUEBQwFFAUkBSwFMAVgBWQFxAbIBuAG9AcAClgKXApkCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUC0gLUAtYC2ALaAtwC3gLgAuIC5ALmAugC6gLsAu4C8ALyAvQC9gL4AvoC/AL+Av8DAQMDAwUDBwMJAwsDDQMPAxEDFAMWAxgDGgMcAx4DIAMiAyQDJgMoAyoDLAMuAzADMgM0AzYDOAM6AzwDPgNAA0EDQwNFA0cDSQOiA6MDpAOlA6YDpwOoA6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4A7kDyQPKA8sDzAPNA84DzwPQA9ED0gPTA9QD1QPWA9cD2APZA9oD2wPcA90D3gPvA/ED8wP1BAoEDAQOBCMEKQQvBJkEngSiBSMFJQA7ALIAEADS/+AA0//oANQAEADW/+AA2QAUAN0AEADh/+EA5v/gAO0AEwDyABAA+f/gAQQAEAEI/+gBDQAQARf/6AEZ/+ABG//oAR3/6AEf/+gBIf/oATn/4AFB/+gBRf/gAUf/4QFI/+ABSf/hAUr/4AFN/+EBUAAQAVEAEAFY/+kBYv/fAWT/3gFmABABav/oAWz/3wFu//IBbwAQAXAAEAPSABAD2f/oA9z/6APd/+AEBv/gBAn/6AQM/+gEDv/fBBQAEAQWABAEJ//oBCn/6AQr/+gENf/hBDb/4AST/+AElf/hBJb/4ASi/98ABABY/+8AW//fAJr/7gHx/80ABAANABQAQQARAFb/4gBhABMABQA4/9EDKv/RAyz/0QMu/9EE2//RAAUAI/+8AFj/7wBb/98Amv/uAfH/zQAFAFv/swHx/3kB9v/xAgD/8QJM//MABQANAA8AQQAMAFb/6wBhAA4CTP/pAAYAEP+EABL/hAGH/4QBi/+EAY//hAGQ/4QACAAE/9EAVv+5AFv/ywBt/voAfP9CAIH/SQCG/5kAif+hAAkB7v/uAfD/9QHx//EB8//yA2j/7gOU//IDnP/1A53/7gOe/+4ACQHu/+UB8P/xAfH/6wHz/+kDaP/lA5T/6QOc//EDnf/lA57/5QABAIUABAAMAD8AXwCWAJ0AsgDSANQA1QDWANcA2ADZANoA2wDcAN0A3gDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPEA9gD3APgA+wD8AP4A/wEAAQMBBAEFAQoBDQEYARkBGgEiAS4BLwEwATMBNAE1ATcBOQE7AUMBRAFUAVYBWAFcAV0BXgGGA8oDzAPNA88D0APRA9ID0wPUA9cD2APZA9sD3APdA94D3wPgA+ID4wPlA+YD5wPoA+4EAgQGBAcEDAQOBA8EEAQRBBIEEwQUBBUEFgQXBBsEHQQeBB8EIAQnBCgELAQuBC8EMAQxBDIEMwQ0BJMElwSYBJsEnQSeBKAEogBEAAYADQALAA0A7f+1APL/vgD3/7YBA/+2AQT/vgEY/9oBGgALARz/5gEe/7YBIAAMASL/tgFC/7YBUf++AWD/tgFh/7YBYwALAWUACwFr/7YBcP++AYUADQGGAA0BiAANAYkADQGKAA0CBv+/Ag8ADgIQ/+0CEwAOAisADgIs/+0CLQANAi8ADgI1/+0D3//wA+D/tgPi/9oD5P+2A+UACwPn/7YD7gALA/cADQP4AA0D+wANBAL/tgQHAAsECP+2BA3/tgQPAAsEFf/wBBf/8AQb/7YEHf+2BB7/tgQo/9oEKv+2BCz/2gQwAAsEMgALBDQACwQ5/7YFBv+/BQ3/7QUQ/+0FEQAOBRX/7QUWAA0ARQDS/zMA1P/1ANb/MwDa//AA3f/1AN7/6wDh/+YA5v/CAOz/7wDw/+8A8f/vAPP/7wD0/+8A9f/vAPb/zgD4/+8A+v/vAPv/7wD+/+8BAP/vAQX/7wEZ/8gBK//vATP/8AE2/+8BOf8zATr/zQE8/+8BPv/vAUP/8AFF/zMBR//mAUn/5gFM/98BUP/1AVP/7wFV/+8BV//vAVz/7wFd//ABYv/QAWT/6wFm//UBbP+fAW3/0AFv//UD0f/rA93/MwPe//AD4f/vA+P/7wPo/+8D7f/vBAP/7wQG/8gEDv+sBBH/8AQf//AEJP/vBCb/7wQv/+sEMf/rBDP/6wQ1/+YEOP/vBJP/MwSV/+YEmP/vBKL/rABGANL/5gDW/+YA2v/yAN7/7gDh/+gA5v/mAOz/8QDu//EA8P/xAPH/8QDz//EA9P/xAPX/8QD2/9AA+P/xAPr/8QD7//EA/v/xAQD/8QEF//EBGf/nASv/8QEz//IBNP/xATb/8QE5/+YBOv/OATz/8QE+//EBQ//yAUT/8QFF/+YBR//oAUn/6AFT//EBVf/xAVf/8QFc//EBXf/yAV7/8QFi/+cBZP/tAWz/5gFt/9AD0f/uA93/5gPe//ID4f/xA+P/8QPm//ED6P/xA+3/8QQD//EEBv/nBA7/5wQR//IEEv/xBB//8gQg//EEJP/xBCb/8QQv/+4EMf/uBDP/7gQ1/+gEOP/xBJP/5gSV/+gEmP/xBKL/5wAPAAr/4gANABQADv/PAEEAEgBK/+oAVv/YAFj/6gBhABMAbf+uAHz/zQCB/6AAhv/BAIn/wAGO/9MCTP/NABAAOP+7ADr/7QA9/9ACtf/QAyr/uwMs/7sDLv+7Az7/0ANA/9AD9f/QBIz/0ASO/9AEkP/QBNv/uwTe/+0E4P/tABAALv/uADn/7gKx/+4Csv/uArP/7gK0/+4DAf/uAzD/7gMy/+4DNP/uAzb/7gM4/+4DOv/uBH7/7gSA/+4E3f/uABAALv/sADn/7AKx/+wCsv/sArP/7AK0/+wDAf/sAzD/7AMy/+wDNP/sAzb/7AM4/+wDOv/sBH7/7ASA/+wE3f/sABEAOgAUADsAGQA9ABYCtQAWAzwAGQM+ABYDQAAWA+8AGQPxABkD8wAZA/UAFgSMABYEjgAWBJAAFgTeABQE4AAUBOIAGQATAFP/6AGGAAkCx//oAsj/6ALJ/+gCyv/oAsv/6AMV/+gDF//oAxn/6ARn/+gEaf/oBGv/6ARt/+gEb//oBHH/6ARz/+gEe//oBLz/6AAVAAb/8gAL//IAWv/zAF3/8wGF//IBhv/yAYj/8gGJ//IBiv/yAtD/8wLR//MDP//zA/b/8wP3//ID+P/yA/v/8gSN//MEj//zBJH/8wTf//ME4f/zAFEABv+6AAv/ugDS/zMA1v8zANr/8QDe/+sA4f/lAOb/wwDs/+4A7v/XAPD/7gDx/+4A8//uAPT/7gD1/+4A9v/MAPj/7gD6/+4A+//uAP7/7gEA/+4BBf/uARn/xwEr/+4BM//xATT/1wE2/+4BOf8zATr/yQE8/+4BPv/uAUP/8QFE/9cBRf8zAUf/5QFJ/+UBTP/fAVP/7gFV/+4BV//uAVz/7gFd//EBXv/XAWL/0AFk/+sBbP+gAW3/zQGF/7oBhv+6AYj/ugGJ/7oBiv+6A9H/6wPd/zMD3v/xA+H/7gPj/+4D5v/XA+j/7gPt/+4D9/+6A/j/ugP7/7oEA//uBAb/xwQO/6sEEf/xBBL/1wQf//EEIP/XBCT/7gQm/+4EL//rBDH/6wQz/+sENf/lBDj/7gST/zMElf/lBJj/7gSi/6sAIgA4/9kAOv/kADv/7AA9/90CBgAOAk4ADgK1/90DKv/ZAyz/2QMu/9kDPP/sAz7/3QNA/90DTgAOA08ADgNQAA4DUQAOA1IADgNTAA4DVAAOA2kADgNqAA4DawAOA+//7APx/+wD8//sA/X/3QSM/90Ejv/dBJD/3QTb/9kE3v/kBOD/5ATi/+wAWwAG/8oAC//KANL/0gDW/9IA2v/0AN7/7QDh/+EA5v/UAOz/4gDu/+8A8P/iAPH/4gDz/+IA9P/iAPX/4gD2/8kA+P/iAPr/4gD7/+IA/v/RAQD/4gEF/+IBCf/lARn/1AEa/+YBIP/jASv/4gEz//QBNP/vATb/4gE5/9IBOv/EATz/4gE+/+IBQ//0AUT/7wFF/9IBR//hAUn/4QFT/+IBVf/iAVf/4gFc/+IBXf/0AV7/7wFi/9QBY//1AWT/5wFs/6oBbf/JAYX/ygGG/8oBiP/KAYn/ygGK/8oD0f/tA93/0gPe//QD4f/iA+P/4gPl/+YD5v/vA+j/4gPt/+ID7v/mA/f/ygP4/8oD+//KBAP/4gQG/9QEB//mBA7/0wQP/+YEEf/0BBL/7wQf//QEIP/vBCT/4gQm/+IEL//tBDD/5gQx/+0EMv/mBDP/7QQ0/+YENf/hBDj/4gST/9IElf/hBJj/4gSi/9MAKQBH/+wASP/sAEn/7ABL/+wAVf/sAJT/7ACZ/+wCvf/sAr7/7AK//+wCwP/sAsH/7ALZ/+wC2//sAt3/7ALf/+wC4f/sAuP/7ALl/+wC5//sAun/7ALr/+wC7f/sAu//7ALx/+wC8//sBFP/7ARV/+wEV//sBFn/7ARb/+wEXf/sBF//7ARh/+wEdf/sBHf/7AR5/+wEff/sBLj/7ATF/+wEx//sADYABgAQAAsAEAANABQAQQASAEf/6ABI/+gASf/oAEv/6ABV/+gAYQATAJT/6ACZ/+gBhQAQAYYAEAGIABABiQAQAYoAEAK9/+gCvv/oAr//6ALA/+gCwf/oAtn/6ALb/+gC3f/oAt//6ALh/+gC4//oAuX/6ALn/+gC6f/oAuv/6ALt/+gC7//oAvH/6ALz/+gD9wAQA/gAEAP7ABAEU//oBFX/6ARX/+gEWf/oBFv/6ARd/+gEX//oBGH/6AR1/+gEd//oBHn/6AR9/+gEuP/oBMX/6ATH/+gASgBH/7QASP+0AEn/tABL/7QATAAUAE8AFABQABQAU/96AFX/tABX/2QAWwALAJT/tACZ/7QB3P9kAr3/tAK+/7QCv/+0AsD/tALB/7QCx/96Asj/egLJ/3oCyv96Asv/egLZ/7QC2/+0At3/tALf/7QC4f+0AuP/tALl/7QC5/+0Aun/tALr/7QC7f+0Au//tALx/7QC8/+0AxX/egMX/3oDGf96AyH/ZAMj/2QDJf9kAyf/ZAMp/2QEU/+0BFX/tARX/7QEWf+0BFv/tARd/7QEX/+0BGH/tARn/3oEaf96BGv/egRt/3oEb/96BHH/egRz/3oEdf+0BHf/tAR5/7QEe/96BH3/tAS4/7QEvP96BMX/tATH/7QEyQAUBMsAFATNABQE2v9kAAEA9AAEAAYACwAMACUAJwAoACkAKgAvADAAMwA0ADUANgA4ADoAOwA8AD0APgA/AEkASgBMAE8AUQBSAFMAVgBYAFoAWwBdAF8AlgCdALIBhQGGAYgBiQGKAfMB9QH2AfgB+wIGAksCTgJgAmICYwKWApcCmQKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKsAq0CrgKvArACtQK+Ar8CwALBAsYCxwLIAskCygLLAtAC0QLSAtQC1gLYAtoC3ALeAuAC4gLjAuQC5QLmAucC6ALpAuoC6wL1AwMDBQMHAwkDCwMOAxADEgMTAxQDFQMWAxcDGAMZAxsDHQMfAyoDLAMuAzwDPgM/A0ADQQNDA0UDSwNMA00DTgNPA1ADUQNSA1MDVANfA2ADYQNiA2MDaQNqA2sDcAOCA4MDhAOFA4kDigOLA5QD7wPxA/MD9QP2A/cD+AP7A/0D/gQ6BDwEPgRABEIERARGBEgESgRMBE4EUARSBFMEVARVBFYEVwRYBFkEWgRbBFwEXQReBF8EYARhBGYEZwRoBGkEagRrBGwEbQRuBG8EcARxBHIEcwR7BIwEjQSOBI8EkASRBLQEtQS3BLsEvAS+BMQExgTJBMoEzATOBNEE0wTUBNUE2ATbBN4E3wTgBOEE4gTkAAEANQAGAAsAlgCxALIAswC0AL0AwQDHAYUBhgGIAYkBigIGAgcCCAOiA6MDpAOlA6YDpwOqA6sDrAOtA64DrwOwA7EDsgOzA7QDtQO2A7cDuAO5A7wDwAPCA8YD9wP4A/sE5gTnBOsE7gT0BPkApwAQ/wcAEv8HACX/TgAu/w0AOAAUAEX/3gBH/+sASP/rAEn/6wBL/+sAU//rAFX/6wBW/+YAWf/qAFr/6ABd/+gAlP/rAJn/6wCb/+oAsv9OAYf/BwGL/wcBj/8HAZD/BwIG/8ACTv/AApv/TgKc/04Cnf9OAp7/TgKf/04CoP9OAqH/TgK2/94Ct//eArj/3gK5/94Cuv/eArv/3gK8/94Cvf/rAr7/6wK//+sCwP/rAsH/6wLH/+sCyP/rAsn/6wLK/+sCy//rAsz/6gLN/+oCzv/qAs//6gLQ/+gC0f/oAtL/TgLT/94C1P9OAtX/3gLW/04C1//eAtn/6wLb/+sC3f/rAt//6wLh/+sC4//rAuX/6wLn/+sC6f/rAuv/6wLt/+sC7//rAvH/6wLz/+sDAf8NAxX/6wMX/+sDGf/rAyoAFAMsABQDLgAUAzH/6gMz/+oDNf/qAzf/6gM5/+oDO//qAz//6ANO/8ADT//AA1D/wANR/8ADUv/AA1P/wANU/8ADaf/AA2r/wANr/8AD9v/oA/7/TgP//94EOv9OBDv/3gQ8/04EPf/eBD7/TgQ//94EQP9OBEH/3gRC/04EQ//eBET/TgRF/94ERv9OBEf/3gRI/04ESf/eBEr/TgRL/94ETP9OBE3/3gRO/04ET//eBFD/TgRR/94EU//rBFX/6wRX/+sEWf/rBFv/6wRd/+sEX//rBGH/6wRn/+sEaf/rBGv/6wRt/+sEb//rBHH/6wRz/+sEdf/rBHf/6wR5/+sEe//rBH3/6wR//+oEgf/qBIP/6gSF/+oEh//qBIn/6gSL/+oEjf/oBI//6ASR/+gEtf9OBLb/3gS4/+sEvP/rBMD/6gTF/+sEx//rBNsAFATf/+gE4f/oAAIAKACWAJYAFgCxALEADQCyALIAFwCzALMAAgC0ALQAAwC9AL0ACADBAMEABwDHAMcAFQIGAgYAEgIHAgcACQII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G2IoLig0KCgooCeqJ7AoHCgiICogMCekJ/In4CfmJ84n2iheKGQf4h/cG2gbbigQAAAAACeYKQYAABt0AAAoUihYG3oAAAAAG4AbhgAAG4wAABuSAAAopgAAG5gAABueAAAbpBuqG7AAAAAAKHwbthu8G8IAACkSKEwbyBvOJnImYB8QH6woaihwKAQoCikGJ/4b1CHsG9Qb2ikeJbIpHhvgKR4lshvmG+wb8iiUG/gb/igoKKAcBBwKJ6onsCYeHO4mHhzuJkIk+CcIJNQnFB50HBAldhwQJXYjWiV2HBYldiJkJXYcHCV2KNYldiJAHCIiCiWOIgoljiOWJY4hPiWOHCglphwuJaYcNCWmIVAlphw6JV4cQCeSHEAnkiPeJ5IcRieSIuInkhxMJyYcTCcmHFInJhxYJyYh2iUQHF4lghxeJYIjYCWCHGQlgiJqJYIcaiWCKOIlgiJMHHAiFiWaIhYlmiOiJZohhiWaHHYlshx8JbIcgiWyIZglshyIJWocjiXEHI4lxCPqJcQclCXEIuglxByaJe4cmiXuHKAl7hymJe4h4CTIIyQkyBysJXYcsiWCI2YldiNyJYIo1iV2KOIlghy4IkYcviJSHMQiRhzKIlIc0CJGHNYiUhzcIkYc4iJSHOgc7iYqJM4c9CWOHPolmiJ8JY4igiWaHQAljh0GJZoo7iWOKPolmh0MJY4dEiWaHRglRh0eJVIdJCVGHSolUh0wJUYdNiVSHTwdQh1IJVIdTiF0HVQk+B1aJaYdYCWyHWYlph1sJbIdciWmHXglsiO6HX4jxiWyHYQlph2KIVwdkAAAJmYdliZyHZwdoh26HaglsiZ+Ha4mih20Jn4duiaKJbImfh26JoolsiVYJV4lZCVqJqgdwCa0HcYdzCVeHdIlaia0JWod2CeSHd4lxB3kJ5Id6iXEHfAnkh32JcQd/CXQHgIl3CbYHggm5B4OHhQl0B4aJdweICFKHiYhkh4sIUoeMiGSJvAeOCb8Hj4m8B5EJvweSh5QIUoeViGSJwgeXCcUHmInCB5oJxQebiOKJNQnFB50HnonJh6AJe4ehicmHowl7h6SJyYemCXuHp4nJh6kJe4eqicmHrAl7icgJyYkRCXuHrYhyB68IdQewiUQHsgkyCDwJRAeziDqHtQe8h7aIOoe4B7yHuYg6h7sHvIe+AAAHv4AAB8EAAAfCgAAHxAfrB8QH6woOihAHxYn/h8WJ/4flCf+Hxwn/h8iJ/4fKCf+KQYn/ihqHy4fNChMHzQoTB86KEwnvChMH0An2h9GJ9ofTCfaJ9Qn2h9SJ7AomiigKJoooB9YKKAfXiigH2QooB9qIMAfaiDAH3AgwB92IMAffCjQH4In/h+IJ/4pBif+H44ocB+UKHAfmihwH6AocB+mH6wfsihMH7goTB++KEwpEihMH8QoTB/KH9wf0B/cH9Yf3B/iH+gf7ihkH/Qn2h/6J9ogACfaJ84gBiAMJ9ogEifmJ6QgGCAeIDAgKiAkICogMCAqIDAgNiewJ6ogPCBCJ7AgSCigIE4ooCBUKKAgWiBsJ6QgYCBmIGwgcifIIHgnyCimIH4ghCfIKDogiiCQKEAoOiCWIJwgwCCiIMAgqCDAIK4gwCC0IMAguiDAIMYoxCDMKNAntijQINInniDYJ54g3ieeKNYldijuJY4mNiF0I7olpieMJ5IlCiUQAAAg5CEOAAAo1iV2JfohaCjuJY4ndCDqJjYhdCO6JaYmZiZUJpAh+CaoJV4njCeSJfomxicIJNQlCiUQJRYlHCFQJaYg8CUQIPYg/CUuAAAhAiEIIQ4AACEsAAAhFCEaI9glxCdQJz4hIAAAISYAACPYJcQhLAAAITIhOCE+JY4hRAAAJvAhSiO6JaYhUCWmIVYhXCZOJlQhYgAAKNYldiX6IWgk/gAAKO4ljiFuAAAmkCH4JjYhdCeMJ5Il+ibGIkAiRicIJNQlFiUcKOIlgij6JZohegAAI9glxCGAJtIiTCJSJKQkyCUiJSghhiWaIYwAACb8IZIjxiWyIZglsiGeIewhpAAAIaokyCGwIcghvCHUIbYhyCG8IdQhwiHIIc4h1CHaJRAh4CTIIeYh7CHyIfgh/iIEKNYldijiJYIiCiWOIhAAACIWJZoiHAAAIiIAACIoAAAiLgAAIjQiuCI6IsQiQCJGIkwiUiUKJRAjuiWmIlgAACJeAAAjuiWmI2YldiNyJYIiZCV2ImolgiJwAAAidgAAInwljiKCJZoiiCKOIpQioCKaIqAipgAAIqwAACKyIrgiviLEIsoAACLQAAAi1gAAItwAACLiJ5Ii6CXEIu4AACL0AAAi+gAAIwAAACMGAAAjDAAAIxIAACMYJMgjHgAAIyQkyCMqAAAjMCTIIzYAACM8AAAjQgAAI0gAACYqJM4o1iNsKOIjeCNOJXYjVCWCKNYldijiJYIo1iV2KOIlgijWJXYo4iWCKNYldijiJYIjWiNsI2AjeCjWJXYo4iWCKNYldijiJYIo1iV2KOIlgijWJXYo4iWCI2YjbCNyI3go7iOcKPojqCN+JY4jhCWaI4oljiOQJZoo7iWOKPolmijuJY4o+iWaKO4ljij6JZoo7iWOKPolmiOWI5wjoiOoI64lpiO0JbIjuiPAI8YpJCeMI+Qj2CPwI8wnkiPSJcQnjCeSI9glxCeMJ5Ij2CXEJ4wnkiPYJcQnjCeSI9glxCPeI+Qj6iPwI/YkFCP8JCAj9iQUI/wkICQCJBQkCCQgJA4kFCQaJCAkJiQsJDIkOCcgJD4kRCRKJFAnJiRWJe4kXCR6JGIl7iRcJHokYiXuJGgkeiRuJe4kdCR6JIAl7iSGJIwkkiSYJQokniSkJKoksCUQJLYkyCS8JRAkwiTIJiokzicIJNQk2gAAJOAAACTmAAAk/gAAJQQAAAAAJOwAACTyJkIk+CT+AAAlBAAAJnImYCUKJRAlFiUcJSIlKCUuAAAlNCU6JUAlRiVMJVIlWCVeJWQlaiVwJXYlfCWCJYgljiWUJZoloCWmJawlsiW4J5IlviXEJcol0CXWJdwl4icmJegl7iX0AAAl+iYAJgYmDCYeJhImKiYYJh4mJCYqJjAmNiY8JkImSCZOJlQmWiZgJmYmbCZyJngmfiaEJoopJCaQJpYmnCaiJqgmria0JronjCeSJsAmxibMJtIm2CbeJuQm6ibwJvYm/CcCJwgnDicUJxonICcmJywnMic4Jz4nRCdKJ1AnVidcJ2InaCduJ3QneieAJ4YnjCeSKQYn/ikSKEwoXihkJ84n2igoKKAodijQAAAnmCkGJ/4oBCgKKRIoTCg6J54oXihkJ84n2iekJ/IoHCgiJ6onsCgoKKAoLig0KDooQCh2KNAoRihMJ9Qn2ie2KNAnvChMJ8IAACimJ8gnzifaJ9Qn2ifgJ+Yn7CfyJ/gAACkGJ/4oBCgKKBAAACkSKEwoFgAAKBwoIiheKGQoKCigKC4oNChqKHAoOihAKEYoTChSKFgoXihkKGoocCh2KNAAACh8KIIAACiIAAAojiiUKJoooCimKKwosijEKLgoxCi+KMQoyijQKNYo3CjiKOgo7ij0KPopACkG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A04DTwNQA1EDUgNTA1QDVQNWA1cDWANZA1oDWwNcA10DXgNfA2ADYQNiA2MDZANlA2YDZwNoA54DaQNqA2sDbANtA24DbwNwA3EDcgNzA3QDdQN2A3cDeAN5A3oDewN8A30DfgUbA4ADgQOCA4MDhAOFA4YDhwOIA4kDigOLA4wDjQOOA48DkAORBR4DkgOTA5UDlAOWA5cDmAOZA5oDmwOcA50DnwOgA6EFHAUdBOcE6ATpBOoE9AT3BPUE9gT7BPwE/QTrBOwE7QUGBQkFCgUNBQ8FEAIcBRIE/gT/BQAFAQUCBQMFBAUFBR8FIAUhBSIFEwUVBRYCMwUYAjUFGQUXAjECJwItBScFKAACBwIA+wICAo0B7AHrAeoB6QHoAecB5gHlAeQB4wJOAk0CTAJLAkMCAQIAAf8B/gH9AfwB+wH6AfkB+AH3AfYB9QH0AfMB8gHxAfAB7wHuAe0CAwIEAo8CkQKQApICjgKTAm0CBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGwIcBRoCHQIeAh8CIAIhAiICIwIkAiUCJgJWAigCKQIqAisFFAIsAi4CLwIwAjECMgIzAjQCfwI2AjcCOQI4A0sDTANNA04DTwNQA1EDUgNTA1QDVQNWA1cDWANZA1oDWwNcA10DXgNfA2ADYQNiA2MDZANlA2YDZwNoA2kDagNrA2wDbQNuA28DcANxA3IDcwN0A3UDdgN3A3gDeQN6A3sDfAN9A34DfwUbA4ADgQOCA4MDhAOFA4YDhwOIA4kDigOLA4wDjQOOA48DkAORBR4DkgOTA5UDlAOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQUcBR0E5wToBOkE6gTrBOwE7QTuBO8E8ATxBPIE8wT0BPUE9gT3BPgE+QT6BPsE/AT9BP4E/wUABQEFAgUDAhoFBAUFBQYFBwUIBQkFCgULBQwFDQUOBQ8FEAURBRIFHwUgBSEFIgUTBRUFFgUYAjUFGQUXAicCLQUnBSgAAQABAXwAAQABAEsAAQABALsAAQABADYAAQABABMAAQACAyQDJQACBuYG2gACBugG2gABBvAAAQbyAAEG9AACAAEAFAAdAAAAAQACAC8ATwABAAMASQBLAoUAAgAAAAEG4AABAAYC1gLXAugC6QNrA3QAAQAGAE0ATgL9A+oD7ARlAAIAAwGVAZUAAAHgAeIAAQI6AkAABAACAAIAqACsAAEBJAEnAAEAAQAMACcAKAArADMANQBGAEcASABLAFMAVABVAAIAAgAUAB0AAAJwAnkACgACAAYATQBNAAYATgBOAAQC/QL9AAUD6gPqAAMD7APsAAIEZQRlAAEAAgAEABQAHQAAAoECgQAKAowCjAALBKkEsAAMAAIABgAaABoAAAAcABwAAQJlAmoAAgJuAm4ACAJwAnkACQKAAoAAEwABABQAGgAcAmUCZgJnAmgCaQJqAm4CgAKBAowEqQSqBKsErAStBK4ErwSwAAEF4AABBeIAAQXkAAEF5gABBegAAQXqAAEF7AABBe4AAQXwAAEF8gABBfQAAQX2AAEF+AABBfoAAQX8AAIF/gYEAAIGBAYKAAIGCgYQAAIGEAYWAAIGFgYcAAIGHAYiAAIGIgYoAAIGKAYuAAIGLgY0AAIGNAY6AAIGOgZAAAMGQAZGBkwAAwZKBlAGVgADBlQGWgZgAAMGXgZkBmoAAwZoBm4GdAADBnIGeAZ+AAMGfAaCBogAAwaGBowGkgAEBpAGlgacBqIABAaeBqQGqgawAAUGrAayBrgGvgbEAAUGvgbEBsoG0AbWAAUG0AbWBtwG4gboAAUG4gboBu4G9Ab6AAUG9Ab6BwAHBgcMAAUHBgcMBxIHGAceAAUHGAceByQHKgcwAAUHKgcwBzYHPAdCAAUHPAdCB0gHTgdUAAYHTgdUB1oHYAdmB2wABgdkB2oHcAd2B3wHggAGB3oHgAeGB4wHkgeYAAYHkAeWB5wHogeoB64ABgemB6wHsge4B74HxAAGB7wHwgfIB84H1AfaAAYH0gfYB94H5AfqB/AABwgwB+gH7gf0B/oIAAgGAAcIKAf8CAIICAgOCBQIGgABAOsACgBFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AhQCGAIcAiQCKAIsAjQCQAJIAlAC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4A6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wEAAQEBAgEDAQQBBQEGAQcBMAE0ATYBOAE6ATwBQgFEAUYBSgFNAVoCmAKaArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEC0wLVAtcC2QLbAt0C3wLhAuMC5QLnAukC6wLtAu8C8QLzAvUC9wL5AvsC/QMAAwIDBAMGAwgDCgMMAw4DEAMSAxUDFwMZAxsDHQMfAyEDIwMlAycDKQMrAy0DLwMxAzMDNQM3AzkDOwM9Az8DQgNEA0YDSANKA7oDuwO8A70DvwPAA8EDwgPDA8QDxQPGA8cDyAPfA+AD4QPiA+MD5APlA+YD5wPoA+kD6gPrA+wD7QPuA/AD8gP0A/YECwQNBA8EHQQkBCoEMASaBJsEnwSjBSQFJgABAPsACAAKABQAFQAWABcAGAAZABoAGwAcAB0AJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AGUAZwCBAIMAhACMAI8AkQCTALEAsgCzALQAtQC2ALcAuAC5ALoA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkBLwEzATUBNwE5ATsBQQFDAUUBSQFLAUwBWAFZAXEBsgG4Ab0BwAKWApcCmQKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKnAqgCqQKqAqsCrAKtAq4CrwKwArECsgKzArQCtQLSAtQC1gLYAtoC3ALeAuAC4gLkAuYC6ALqAuwC7gLwAvIC9AL2AvgC+gL8Av4C/wMBAwMDBQMHAwkDCwMNAw8DEQMUAxYDGAMaAxwDHgMgAyIDJAMmAygDKgMsAy4DMAMyAzQDNgM4AzoDPAM+A0ADQQNDA0UDRwNJA6IDowOkA6UDpgOnA6gDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuQPJA8oDywPMA80DzgPPA9AD0QPSA9MD1APVA9YD1wPYA9kD2gPbA9wD3QPeA+8D8QPzA/UECgQMBA4EIwQpBC8EmQSeBKIFIwUlAdcAAgBNAdgAAgBQAdkAAwBKAE0B2gADAEoAUAABAAEASgHWAAIASgHcAAIAWAHbAAIAWAABAAMASgBXAJUAAAABAAEAAQABAAAAAwTCAAIArQLYAAIAqQTIAAIArQTVAAIAqQTDAAIArQLZAAIAqQSyAAIAqQTJAAIArQRlAAIArQTWAAIAqQNHAAIAqQNJAAIAqQNIAAIAqQNKAAIAqQTBAAIAqQTGAAIB1QTEAAIArQSxAAIAqQLyAAIB1QP8AAIAqQTQAAIArQMqAAIB1QTbAAIArQTgAAIArQTeAAIAqgNBAAIAqQTkAAIArQTHAAIB1QTFAAIArQP9AAIAqQTRAAIArQMrAAIB1QTcAAIArQThAAIArQTfAAIAqgNCAAIAqQTlAAIArQTKAAIAqQMDAAIB1QTMAAIArQMFAAIAqQMHAAIB1QTOAAIArQMgAAIAqQMmAAIB1QTZAAIArQPxAAIAqQTiAAIArQPvAAIAqATLAAIAqQMEAAIB1QTNAAIArQMGAAIAqQMIAAIB1QTPAAIArQMhAAIAqQMnAAIB1QTaAAIArQPyAAIAqQTjAAIArQPwAAIAqAMaAAIAqQMcAAIB1QTXAAIArQS9AAIArAMbAAIAqQMdAAIB1QTYAAIArQS+AAIArAMNAAIAqQMPAAIB1QTSAAIArQSzAAIAqAKrAAIAqgK1AAIAqQSMAAIArQP1AAIAqASOAAIAqwSQAAIAqgMOAAIAqQMQAAIB1QTTAAIArQS0AAIAqALGAAIAqgLQAAIAqQSNAAIArQP2AAIAqASPAAIAqwSRAAIAqgLDAAIAqQLCAAIAqARjAAIAqwL3AAIAqgS6AAIArAR0AAIAqQR8AAIArQR2AAIAqAR4AAIAqwR6AAIAqgR1AAIAqQR9AAIArQR3AAIAqAR5AAIAqwR7AAIAqgSCAAIAqQSKAAIArQSEAAIAqASGAAIAqwSIAAIAqgSDAAIAqQSLAAIArQSFAAIAqASHAAIAqwSJAAIAqgKcAAIAqQQ6AAIArQKbAAIAqAQ8AAIAqwKeAAIAqgS1AAIArAKkAAIAqQRSAAIArQKjAAIAqARUAAIAqwRWAAIAqgS3AAIArAKoAAIAqQRkAAIArQKnAAIAqARiAAIAqwL2AAIAqgS5AAIArAK3AAIAqQQ7AAIArQK2AAIAqAQ9AAIAqwK5AAIAqgS2AAIArAK/AAIAqQRTAAIArQK+AAIAqARVAAIAqwRXAAIAqgS4AAIArALIAAIAqQRnAAIArQLHAAIAqARpAAIAqwLKAAIAqgS8AAIArALNAAIAqQR/AAIArQLMAAIAqASBAAIAqwMxAAIAqgTAAAIArAKtAAIAqQRmAAIArQKsAAIAqARoAAIAqwKvAAIAqgS7AAIArAKyAAIAqQR+AAIArQKxAAIAqASAAAIAqwMwAAIAqgS/AAIArATUAAMAqgCpBN0AAwCqAKkAAgARACUAKQAAACsALQAFAC8ANAAIADYAOwAOAD0APgAUAEUASQAWAEsATQAbAE8AVAAeAFYAWwAkAF0AXgAqAIEAgQAsAIMAgwAtAIYAhgAuAIkAiQAvAI0AjQAwAJgAmwAxANAA0AA1AAA=", encoding: 'base64' }
+ },
+ fonts: {
+ Roboto: {
+ normal: 'Roboto-Regular.ttf',
+ bold: 'Roboto-Medium.ttf',
+ italics: 'Roboto-Italic.ttf',
+ bolditalics: 'Roboto-MediumItalic.ttf'
+ }
+ }
+};
+
+var _global = typeof window === 'object' ? window : typeof global === 'object' ? global : typeof self === 'object' ? self : this;
+if (typeof _global.pdfMake !== 'undefined' && typeof _global.pdfMake.addFontContainer !== 'undefined') {
+ _global.pdfMake.addFontContainer(fontContainer);
+}
+
+if (typeof module !== 'undefined') {
+ module.exports = fontContainer;
+}
diff --git a/build/fonts/Roboto/Roboto-Italic.ttf b/build/fonts/Roboto/Roboto-Italic.ttf
new file mode 100644
index 000000000..869181397
Binary files /dev/null and b/build/fonts/Roboto/Roboto-Italic.ttf differ
diff --git a/build/fonts/Roboto/Roboto-Medium.ttf b/build/fonts/Roboto/Roboto-Medium.ttf
new file mode 100644
index 000000000..c45bd0cf4
Binary files /dev/null and b/build/fonts/Roboto/Roboto-Medium.ttf differ
diff --git a/build/fonts/Roboto/Roboto-MediumItalic.ttf b/build/fonts/Roboto/Roboto-MediumItalic.ttf
new file mode 100644
index 000000000..f63311053
Binary files /dev/null and b/build/fonts/Roboto/Roboto-MediumItalic.ttf differ
diff --git a/build/fonts/Roboto/Roboto-Regular.ttf b/build/fonts/Roboto/Roboto-Regular.ttf
new file mode 100644
index 000000000..32daea3a2
Binary files /dev/null and b/build/fonts/Roboto/Roboto-Regular.ttf differ
diff --git a/build/pdfmake.js b/build/pdfmake.js
index ba05a3edf..a432d3448 100644
--- a/build/pdfmake.js
+++ b/build/pdfmake.js
@@ -1,4 +1,4 @@
-/*! pdfmake v0.1.26, @license MIT, @link http://pdfmake.org */
+/*! pdfmake v0.3.0-beta.18, @license MIT, @link http://pdfmake.org */
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
@@ -8,106307 +8,67068 @@
var a = factory();
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
}
-})(this, function() {
-return /******/ (function(modules) { // webpackBootstrap
-/******/ // The module cache
-/******/ var installedModules = {};
-
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId])
-/******/ return installedModules[moduleId].exports;
-
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ exports: {},
-/******/ id: moduleId,
-/******/ loaded: false
-/******/ };
-
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-
-/******/ // Flag the module as loaded
-/******/ module.loaded = true;
-
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-
-
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "";
-
-/******/ // Load entry module and return exports
-/******/ return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(global) {module.exports = global["pdfMake"] = __webpack_require__(1);
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
-
-/***/ },
-/* 1 */
-/***/ function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(Buffer) {/* jslint node: true */
- /* jslint browser: true */
- 'use strict';
-
- var PdfPrinter = __webpack_require__(6);
- var FileSaver = __webpack_require__(304);
- var saveAs = FileSaver.saveAs;
-
- var defaultClientFonts = {
- Roboto: {
- normal: 'Roboto-Regular.ttf',
- bold: 'Roboto-Medium.ttf',
- italics: 'Roboto-Italic.ttf',
- bolditalics: 'Roboto-MediumItalic.ttf'
- }
- };
-
- function Document(docDefinition, tableLayouts, fonts, vfs) {
- this.docDefinition = docDefinition;
- this.tableLayouts = tableLayouts || null;
- this.fonts = fonts || defaultClientFonts;
- this.vfs = vfs;
- }
-
- function canCreatePdf() {
- // Ensure the browser provides the level of support needed
- if (!Object.keys) {
- return false;
- }
- return true;
- }
-
- Document.prototype._createDoc = function (options, callback) {
- options = options || {};
- if (this.tableLayouts) {
- options.tableLayouts = this.tableLayouts;
- }
-
- var printer = new PdfPrinter(this.fonts);
- printer.fs.bindFS(this.vfs);
-
- var doc = printer.createPdfKitDocument(this.docDefinition, options);
- var chunks = [];
- var result;
-
- doc.on('readable', function () {
- var chunk;
- while ((chunk = doc.read(9007199254740991)) !== null) {
- chunks.push(chunk);
- }
- });
- doc.on('end', function () {
- result = Buffer.concat(chunks);
- callback(result, doc._pdfMakePages);
- });
- doc.end();
- };
-
- Document.prototype._getPages = function (options, cb) {
- if (!cb) {
- throw '_getPages is an async method and needs a callback argument';
- }
- this._createDoc(options, function (ignoreBuffer, pages) {
- cb(pages);
- });
- };
-
- Document.prototype._bufferToBlob = function (buffer) {
- var blob;
- try {
- blob = new Blob([buffer], {type: 'application/pdf'});
- } catch (e) {
- // Old browser which can't handle it without making it an byte array (ie10)
- if (e.name === 'InvalidStateError') {
- var byteArray = new Uint8Array(buffer);
- blob = new Blob([byteArray.buffer], {type: 'application/pdf'});
- }
- }
-
- if (!blob) {
- throw 'Could not generate blob';
- }
-
- return blob;
- };
-
- Document.prototype._openWindow = function () {
- // we have to open the window immediately and store the reference
- // otherwise popup blockers will stop us
- var win = window.open('', '_blank');
- if (win === null) {
- throw 'Open PDF in new window blocked by browser';
- }
-
- return win;
- };
-
- Document.prototype._openPdf = function (options) {
- var win = this._openWindow();
- try {
- this.getBlob(function (result) {
- var urlCreator = window.URL || window.webkitURL;
- var pdfUrl = urlCreator.createObjectURL(result);
- win.location.href = pdfUrl;
- }, options);
- } catch (e) {
- win.close();
- throw e;
- }
- };
-
- Document.prototype.open = function (options) {
- options = options || {};
- options.autoPrint = false;
-
- this._openPdf(options);
- };
-
-
- Document.prototype.print = function (options) {
- options = options || {};
- options.autoPrint = true;
-
- this._openPdf(options);
- };
-
- Document.prototype.download = function (defaultFileName, cb, options) {
- if (typeof defaultFileName === 'function') {
- cb = defaultFileName;
- defaultFileName = null;
- }
-
- defaultFileName = defaultFileName || 'file.pdf';
- this.getBlob(function (result) {
- saveAs(result, defaultFileName);
-
- if (typeof cb === 'function') {
- cb();
- }
- }, options);
- };
-
- Document.prototype.getBase64 = function (cb, options) {
- if (!cb) {
- throw 'getBase64 is an async method and needs a callback argument';
- }
- this.getBuffer(function (buffer) {
- cb(buffer.toString('base64'));
- }, options);
- };
-
- Document.prototype.getDataUrl = function (cb, options) {
- if (!cb) {
- throw 'getDataUrl is an async method and needs a callback argument';
- }
- this.getBuffer(function (buffer) {
- cb('data:application/pdf;base64,' + buffer.toString('base64'));
- }, options);
- };
-
- Document.prototype.getBlob = function (cb, options) {
- if (!cb) {
- throw 'getBlob is an async method and needs a callback argument';
- }
- var that = this;
- this.getBuffer(function (result) {
- var blob = that._bufferToBlob(result);
- cb(blob);
- }, options);
- };
-
- Document.prototype.getBuffer = function (cb, options) {
- if (!cb) {
- throw 'getBuffer is an async method and needs a callback argument';
- }
- this._createDoc(options, function (buffer) {
- cb(buffer);
- });
- };
-
- module.exports = {
- createPdf: function (docDefinition) {
- if (!canCreatePdf()) {
- throw 'Your browser does not provide the level of support needed';
- }
- return new Document(docDefinition, window.pdfMake.tableLayouts, window.pdfMake.fonts, window.pdfMake.vfs);
- }
- };
-
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer))
-
-/***/ },
-/* 2 */
-/***/ function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(global) {/*!
- * The buffer module from node.js, for the browser.
- *
- * @author Feross Aboukhadijeh
- * @license MIT
- */
- /* eslint-disable no-proto */
-
- 'use strict'
-
- var base64 = __webpack_require__(3)
- var ieee754 = __webpack_require__(4)
- var isArray = __webpack_require__(5)
-
- exports.Buffer = Buffer
- exports.SlowBuffer = SlowBuffer
- exports.INSPECT_MAX_BYTES = 50
-
- /**
- * If `Buffer.TYPED_ARRAY_SUPPORT`:
- * === true Use Uint8Array implementation (fastest)
- * === false Use Object implementation (most compatible, even IE6)
- *
- * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
- * Opera 11.6+, iOS 4.2+.
- *
- * Due to various browser bugs, sometimes the Object implementation will be used even
- * when the browser supports typed arrays.
- *
- * Note:
- *
- * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
- * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
- *
- * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
- *
- * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
- * incorrect length in some situations.
-
- * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
- * get the Object implementation, which is slower but behaves correctly.
- */
- Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined
- ? global.TYPED_ARRAY_SUPPORT
- : typedArraySupport()
-
- /*
- * Export kMaxLength after typed array support is determined.
- */
- exports.kMaxLength = kMaxLength()
-
- function typedArraySupport () {
- try {
- var arr = new Uint8Array(1)
- arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}
- return arr.foo() === 42 && // typed array instances can be augmented
- typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
- arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
- } catch (e) {
- return false
- }
- }
-
- function kMaxLength () {
- return Buffer.TYPED_ARRAY_SUPPORT
- ? 0x7fffffff
- : 0x3fffffff
- }
-
- function createBuffer (that, length) {
- if (kMaxLength() < length) {
- throw new RangeError('Invalid typed array length')
- }
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- // Return an augmented `Uint8Array` instance, for best performance
- that = new Uint8Array(length)
- that.__proto__ = Buffer.prototype
- } else {
- // Fallback: Return an object instance of the Buffer class
- if (that === null) {
- that = new Buffer(length)
- }
- that.length = length
- }
-
- return that
- }
-
- /**
- * The Buffer constructor returns instances of `Uint8Array` that have their
- * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
- * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
- * and the `Uint8Array` methods. Square bracket notation works as expected -- it
- * returns a single octet.
- *
- * The `Uint8Array` prototype remains unmodified.
- */
-
- function Buffer (arg, encodingOrOffset, length) {
- if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {
- return new Buffer(arg, encodingOrOffset, length)
- }
-
- // Common case.
- if (typeof arg === 'number') {
- if (typeof encodingOrOffset === 'string') {
- throw new Error(
- 'If encoding is specified then the first argument must be a string'
- )
- }
- return allocUnsafe(this, arg)
- }
- return from(this, arg, encodingOrOffset, length)
- }
-
- Buffer.poolSize = 8192 // not used by this implementation
-
- // TODO: Legacy, not needed anymore. Remove in next major version.
- Buffer._augment = function (arr) {
- arr.__proto__ = Buffer.prototype
- return arr
- }
-
- function from (that, value, encodingOrOffset, length) {
- if (typeof value === 'number') {
- throw new TypeError('"value" argument must not be a number')
- }
-
- if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {
- return fromArrayBuffer(that, value, encodingOrOffset, length)
- }
-
- if (typeof value === 'string') {
- return fromString(that, value, encodingOrOffset)
- }
-
- return fromObject(that, value)
- }
-
- /**
- * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
- * if value is a number.
- * Buffer.from(str[, encoding])
- * Buffer.from(array)
- * Buffer.from(buffer)
- * Buffer.from(arrayBuffer[, byteOffset[, length]])
- **/
- Buffer.from = function (value, encodingOrOffset, length) {
- return from(null, value, encodingOrOffset, length)
- }
-
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- Buffer.prototype.__proto__ = Uint8Array.prototype
- Buffer.__proto__ = Uint8Array
- if (typeof Symbol !== 'undefined' && Symbol.species &&
- Buffer[Symbol.species] === Buffer) {
- // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97
- Object.defineProperty(Buffer, Symbol.species, {
- value: null,
- configurable: true
- })
- }
- }
-
- function assertSize (size) {
- if (typeof size !== 'number') {
- throw new TypeError('"size" argument must be a number')
- } else if (size < 0) {
- throw new RangeError('"size" argument must not be negative')
- }
- }
-
- function alloc (that, size, fill, encoding) {
- assertSize(size)
- if (size <= 0) {
- return createBuffer(that, size)
- }
- if (fill !== undefined) {
- // Only pay attention to encoding if it's a string. This
- // prevents accidentally sending in a number that would
- // be interpretted as a start offset.
- return typeof encoding === 'string'
- ? createBuffer(that, size).fill(fill, encoding)
- : createBuffer(that, size).fill(fill)
- }
- return createBuffer(that, size)
- }
-
- /**
- * Creates a new filled Buffer instance.
- * alloc(size[, fill[, encoding]])
- **/
- Buffer.alloc = function (size, fill, encoding) {
- return alloc(null, size, fill, encoding)
- }
-
- function allocUnsafe (that, size) {
- assertSize(size)
- that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)
- if (!Buffer.TYPED_ARRAY_SUPPORT) {
- for (var i = 0; i < size; ++i) {
- that[i] = 0
- }
- }
- return that
- }
-
- /**
- * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
- * */
- Buffer.allocUnsafe = function (size) {
- return allocUnsafe(null, size)
- }
- /**
- * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
- */
- Buffer.allocUnsafeSlow = function (size) {
- return allocUnsafe(null, size)
- }
-
- function fromString (that, string, encoding) {
- if (typeof encoding !== 'string' || encoding === '') {
- encoding = 'utf8'
- }
-
- if (!Buffer.isEncoding(encoding)) {
- throw new TypeError('"encoding" must be a valid string encoding')
- }
-
- var length = byteLength(string, encoding) | 0
- that = createBuffer(that, length)
-
- var actual = that.write(string, encoding)
-
- if (actual !== length) {
- // Writing a hex string, for example, that contains invalid characters will
- // cause everything after the first invalid character to be ignored. (e.g.
- // 'abxxcd' will be treated as 'ab')
- that = that.slice(0, actual)
- }
-
- return that
- }
-
- function fromArrayLike (that, array) {
- var length = array.length < 0 ? 0 : checked(array.length) | 0
- that = createBuffer(that, length)
- for (var i = 0; i < length; i += 1) {
- that[i] = array[i] & 255
- }
- return that
- }
-
- function fromArrayBuffer (that, array, byteOffset, length) {
- array.byteLength // this throws if `array` is not a valid ArrayBuffer
-
- if (byteOffset < 0 || array.byteLength < byteOffset) {
- throw new RangeError('\'offset\' is out of bounds')
- }
-
- if (array.byteLength < byteOffset + (length || 0)) {
- throw new RangeError('\'length\' is out of bounds')
- }
-
- if (byteOffset === undefined && length === undefined) {
- array = new Uint8Array(array)
- } else if (length === undefined) {
- array = new Uint8Array(array, byteOffset)
- } else {
- array = new Uint8Array(array, byteOffset, length)
- }
-
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- // Return an augmented `Uint8Array` instance, for best performance
- that = array
- that.__proto__ = Buffer.prototype
- } else {
- // Fallback: Return an object instance of the Buffer class
- that = fromArrayLike(that, array)
- }
- return that
- }
-
- function fromObject (that, obj) {
- if (Buffer.isBuffer(obj)) {
- var len = checked(obj.length) | 0
- that = createBuffer(that, len)
-
- if (that.length === 0) {
- return that
- }
-
- obj.copy(that, 0, 0, len)
- return that
- }
-
- if (obj) {
- if ((typeof ArrayBuffer !== 'undefined' &&
- obj.buffer instanceof ArrayBuffer) || 'length' in obj) {
- if (typeof obj.length !== 'number' || isnan(obj.length)) {
- return createBuffer(that, 0)
- }
- return fromArrayLike(that, obj)
- }
-
- if (obj.type === 'Buffer' && isArray(obj.data)) {
- return fromArrayLike(that, obj.data)
- }
- }
-
- throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')
- }
-
- function checked (length) {
- // Note: cannot use `length < kMaxLength()` here because that fails when
- // length is NaN (which is otherwise coerced to zero.)
- if (length >= kMaxLength()) {
- throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
- 'size: 0x' + kMaxLength().toString(16) + ' bytes')
- }
- return length | 0
- }
-
- function SlowBuffer (length) {
- if (+length != length) { // eslint-disable-line eqeqeq
- length = 0
- }
- return Buffer.alloc(+length)
- }
-
- Buffer.isBuffer = function isBuffer (b) {
- return !!(b != null && b._isBuffer)
- }
-
- Buffer.compare = function compare (a, b) {
- if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
- throw new TypeError('Arguments must be Buffers')
- }
-
- if (a === b) return 0
-
- var x = a.length
- var y = b.length
-
- for (var i = 0, len = Math.min(x, y); i < len; ++i) {
- if (a[i] !== b[i]) {
- x = a[i]
- y = b[i]
- break
- }
- }
-
- if (x < y) return -1
- if (y < x) return 1
- return 0
- }
-
- Buffer.isEncoding = function isEncoding (encoding) {
- switch (String(encoding).toLowerCase()) {
- case 'hex':
- case 'utf8':
- case 'utf-8':
- case 'ascii':
- case 'latin1':
- case 'binary':
- case 'base64':
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return true
- default:
- return false
- }
- }
-
- Buffer.concat = function concat (list, length) {
- if (!isArray(list)) {
- throw new TypeError('"list" argument must be an Array of Buffers')
- }
-
- if (list.length === 0) {
- return Buffer.alloc(0)
- }
-
- var i
- if (length === undefined) {
- length = 0
- for (i = 0; i < list.length; ++i) {
- length += list[i].length
- }
- }
-
- var buffer = Buffer.allocUnsafe(length)
- var pos = 0
- for (i = 0; i < list.length; ++i) {
- var buf = list[i]
- if (!Buffer.isBuffer(buf)) {
- throw new TypeError('"list" argument must be an Array of Buffers')
- }
- buf.copy(buffer, pos)
- pos += buf.length
- }
- return buffer
- }
-
- function byteLength (string, encoding) {
- if (Buffer.isBuffer(string)) {
- return string.length
- }
- if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&
- (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {
- return string.byteLength
- }
- if (typeof string !== 'string') {
- string = '' + string
- }
-
- var len = string.length
- if (len === 0) return 0
-
- // Use a for loop to avoid recursion
- var loweredCase = false
- for (;;) {
- switch (encoding) {
- case 'ascii':
- case 'latin1':
- case 'binary':
- return len
- case 'utf8':
- case 'utf-8':
- case undefined:
- return utf8ToBytes(string).length
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return len * 2
- case 'hex':
- return len >>> 1
- case 'base64':
- return base64ToBytes(string).length
- default:
- if (loweredCase) return utf8ToBytes(string).length // assume utf8
- encoding = ('' + encoding).toLowerCase()
- loweredCase = true
- }
- }
- }
- Buffer.byteLength = byteLength
-
- function slowToString (encoding, start, end) {
- var loweredCase = false
-
- // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
- // property of a typed array.
-
- // This behaves neither like String nor Uint8Array in that we set start/end
- // to their upper/lower bounds if the value passed is out of range.
- // undefined is handled specially as per ECMA-262 6th Edition,
- // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
- if (start === undefined || start < 0) {
- start = 0
- }
- // Return early if start > this.length. Done here to prevent potential uint32
- // coercion fail below.
- if (start > this.length) {
- return ''
- }
-
- if (end === undefined || end > this.length) {
- end = this.length
- }
-
- if (end <= 0) {
- return ''
- }
-
- // Force coersion to uint32. This will also coerce falsey/NaN values to 0.
- end >>>= 0
- start >>>= 0
-
- if (end <= start) {
- return ''
- }
-
- if (!encoding) encoding = 'utf8'
-
- while (true) {
- switch (encoding) {
- case 'hex':
- return hexSlice(this, start, end)
-
- case 'utf8':
- case 'utf-8':
- return utf8Slice(this, start, end)
-
- case 'ascii':
- return asciiSlice(this, start, end)
-
- case 'latin1':
- case 'binary':
- return latin1Slice(this, start, end)
-
- case 'base64':
- return base64Slice(this, start, end)
-
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return utf16leSlice(this, start, end)
-
- default:
- if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
- encoding = (encoding + '').toLowerCase()
- loweredCase = true
- }
- }
- }
-
- // The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect
- // Buffer instances.
- Buffer.prototype._isBuffer = true
-
- function swap (b, n, m) {
- var i = b[n]
- b[n] = b[m]
- b[m] = i
- }
-
- Buffer.prototype.swap16 = function swap16 () {
- var len = this.length
- if (len % 2 !== 0) {
- throw new RangeError('Buffer size must be a multiple of 16-bits')
- }
- for (var i = 0; i < len; i += 2) {
- swap(this, i, i + 1)
- }
- return this
- }
-
- Buffer.prototype.swap32 = function swap32 () {
- var len = this.length
- if (len % 4 !== 0) {
- throw new RangeError('Buffer size must be a multiple of 32-bits')
- }
- for (var i = 0; i < len; i += 4) {
- swap(this, i, i + 3)
- swap(this, i + 1, i + 2)
- }
- return this
- }
-
- Buffer.prototype.swap64 = function swap64 () {
- var len = this.length
- if (len % 8 !== 0) {
- throw new RangeError('Buffer size must be a multiple of 64-bits')
- }
- for (var i = 0; i < len; i += 8) {
- swap(this, i, i + 7)
- swap(this, i + 1, i + 6)
- swap(this, i + 2, i + 5)
- swap(this, i + 3, i + 4)
- }
- return this
- }
-
- Buffer.prototype.toString = function toString () {
- var length = this.length | 0
- if (length === 0) return ''
- if (arguments.length === 0) return utf8Slice(this, 0, length)
- return slowToString.apply(this, arguments)
- }
-
- Buffer.prototype.equals = function equals (b) {
- if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
- if (this === b) return true
- return Buffer.compare(this, b) === 0
- }
-
- Buffer.prototype.inspect = function inspect () {
- var str = ''
- var max = exports.INSPECT_MAX_BYTES
- if (this.length > 0) {
- str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
- if (this.length > max) str += ' ... '
- }
- return ''
- }
-
- Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
- if (!Buffer.isBuffer(target)) {
- throw new TypeError('Argument must be a Buffer')
- }
-
- if (start === undefined) {
- start = 0
- }
- if (end === undefined) {
- end = target ? target.length : 0
- }
- if (thisStart === undefined) {
- thisStart = 0
- }
- if (thisEnd === undefined) {
- thisEnd = this.length
- }
-
- if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
- throw new RangeError('out of range index')
- }
-
- if (thisStart >= thisEnd && start >= end) {
- return 0
- }
- if (thisStart >= thisEnd) {
- return -1
- }
- if (start >= end) {
- return 1
- }
-
- start >>>= 0
- end >>>= 0
- thisStart >>>= 0
- thisEnd >>>= 0
-
- if (this === target) return 0
-
- var x = thisEnd - thisStart
- var y = end - start
- var len = Math.min(x, y)
-
- var thisCopy = this.slice(thisStart, thisEnd)
- var targetCopy = target.slice(start, end)
-
- for (var i = 0; i < len; ++i) {
- if (thisCopy[i] !== targetCopy[i]) {
- x = thisCopy[i]
- y = targetCopy[i]
- break
- }
- }
-
- if (x < y) return -1
- if (y < x) return 1
- return 0
- }
-
- // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
- // OR the last index of `val` in `buffer` at offset <= `byteOffset`.
- //
- // Arguments:
- // - buffer - a Buffer to search
- // - val - a string, Buffer, or number
- // - byteOffset - an index into `buffer`; will be clamped to an int32
- // - encoding - an optional encoding, relevant is val is a string
- // - dir - true for indexOf, false for lastIndexOf
- function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
- // Empty buffer means no match
- if (buffer.length === 0) return -1
-
- // Normalize byteOffset
- if (typeof byteOffset === 'string') {
- encoding = byteOffset
- byteOffset = 0
- } else if (byteOffset > 0x7fffffff) {
- byteOffset = 0x7fffffff
- } else if (byteOffset < -0x80000000) {
- byteOffset = -0x80000000
- }
- byteOffset = +byteOffset // Coerce to Number.
- if (isNaN(byteOffset)) {
- // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
- byteOffset = dir ? 0 : (buffer.length - 1)
- }
-
- // Normalize byteOffset: negative offsets start from the end of the buffer
- if (byteOffset < 0) byteOffset = buffer.length + byteOffset
- if (byteOffset >= buffer.length) {
- if (dir) return -1
- else byteOffset = buffer.length - 1
- } else if (byteOffset < 0) {
- if (dir) byteOffset = 0
- else return -1
- }
-
- // Normalize val
- if (typeof val === 'string') {
- val = Buffer.from(val, encoding)
- }
-
- // Finally, search either indexOf (if dir is true) or lastIndexOf
- if (Buffer.isBuffer(val)) {
- // Special case: looking for empty string/buffer always fails
- if (val.length === 0) {
- return -1
- }
- return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
- } else if (typeof val === 'number') {
- val = val & 0xFF // Search for a byte value [0-255]
- if (Buffer.TYPED_ARRAY_SUPPORT &&
- typeof Uint8Array.prototype.indexOf === 'function') {
- if (dir) {
- return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
- } else {
- return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
- }
- }
- return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)
- }
-
- throw new TypeError('val must be string, number or Buffer')
- }
-
- function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
- var indexSize = 1
- var arrLength = arr.length
- var valLength = val.length
-
- if (encoding !== undefined) {
- encoding = String(encoding).toLowerCase()
- if (encoding === 'ucs2' || encoding === 'ucs-2' ||
- encoding === 'utf16le' || encoding === 'utf-16le') {
- if (arr.length < 2 || val.length < 2) {
- return -1
- }
- indexSize = 2
- arrLength /= 2
- valLength /= 2
- byteOffset /= 2
- }
- }
-
- function read (buf, i) {
- if (indexSize === 1) {
- return buf[i]
- } else {
- return buf.readUInt16BE(i * indexSize)
- }
- }
-
- var i
- if (dir) {
- var foundIndex = -1
- for (i = byteOffset; i < arrLength; i++) {
- if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
- if (foundIndex === -1) foundIndex = i
- if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
- } else {
- if (foundIndex !== -1) i -= i - foundIndex
- foundIndex = -1
- }
- }
- } else {
- if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
- for (i = byteOffset; i >= 0; i--) {
- var found = true
- for (var j = 0; j < valLength; j++) {
- if (read(arr, i + j) !== read(val, j)) {
- found = false
- break
- }
- }
- if (found) return i
- }
- }
-
- return -1
- }
-
- Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
- return this.indexOf(val, byteOffset, encoding) !== -1
- }
-
- Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
- return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
- }
-
- Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
- return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
- }
-
- function hexWrite (buf, string, offset, length) {
- offset = Number(offset) || 0
- var remaining = buf.length - offset
- if (!length) {
- length = remaining
- } else {
- length = Number(length)
- if (length > remaining) {
- length = remaining
- }
- }
-
- // must be an even number of digits
- var strLen = string.length
- if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')
-
- if (length > strLen / 2) {
- length = strLen / 2
- }
- for (var i = 0; i < length; ++i) {
- var parsed = parseInt(string.substr(i * 2, 2), 16)
- if (isNaN(parsed)) return i
- buf[offset + i] = parsed
- }
- return i
- }
-
- function utf8Write (buf, string, offset, length) {
- return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
- }
-
- function asciiWrite (buf, string, offset, length) {
- return blitBuffer(asciiToBytes(string), buf, offset, length)
- }
-
- function latin1Write (buf, string, offset, length) {
- return asciiWrite(buf, string, offset, length)
- }
-
- function base64Write (buf, string, offset, length) {
- return blitBuffer(base64ToBytes(string), buf, offset, length)
- }
-
- function ucs2Write (buf, string, offset, length) {
- return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
- }
-
- Buffer.prototype.write = function write (string, offset, length, encoding) {
- // Buffer#write(string)
- if (offset === undefined) {
- encoding = 'utf8'
- length = this.length
- offset = 0
- // Buffer#write(string, encoding)
- } else if (length === undefined && typeof offset === 'string') {
- encoding = offset
- length = this.length
- offset = 0
- // Buffer#write(string, offset[, length][, encoding])
- } else if (isFinite(offset)) {
- offset = offset | 0
- if (isFinite(length)) {
- length = length | 0
- if (encoding === undefined) encoding = 'utf8'
- } else {
- encoding = length
- length = undefined
- }
- // legacy write(string, encoding, offset, length) - remove in v0.13
- } else {
- throw new Error(
- 'Buffer.write(string, encoding, offset[, length]) is no longer supported'
- )
- }
-
- var remaining = this.length - offset
- if (length === undefined || length > remaining) length = remaining
-
- if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
- throw new RangeError('Attempt to write outside buffer bounds')
- }
-
- if (!encoding) encoding = 'utf8'
-
- var loweredCase = false
- for (;;) {
- switch (encoding) {
- case 'hex':
- return hexWrite(this, string, offset, length)
-
- case 'utf8':
- case 'utf-8':
- return utf8Write(this, string, offset, length)
-
- case 'ascii':
- return asciiWrite(this, string, offset, length)
-
- case 'latin1':
- case 'binary':
- return latin1Write(this, string, offset, length)
-
- case 'base64':
- // Warning: maxLength not taken into account in base64Write
- return base64Write(this, string, offset, length)
-
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return ucs2Write(this, string, offset, length)
-
- default:
- if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
- encoding = ('' + encoding).toLowerCase()
- loweredCase = true
- }
- }
- }
-
- Buffer.prototype.toJSON = function toJSON () {
- return {
- type: 'Buffer',
- data: Array.prototype.slice.call(this._arr || this, 0)
- }
- }
-
- function base64Slice (buf, start, end) {
- if (start === 0 && end === buf.length) {
- return base64.fromByteArray(buf)
- } else {
- return base64.fromByteArray(buf.slice(start, end))
- }
- }
-
- function utf8Slice (buf, start, end) {
- end = Math.min(buf.length, end)
- var res = []
-
- var i = start
- while (i < end) {
- var firstByte = buf[i]
- var codePoint = null
- var bytesPerSequence = (firstByte > 0xEF) ? 4
- : (firstByte > 0xDF) ? 3
- : (firstByte > 0xBF) ? 2
- : 1
-
- if (i + bytesPerSequence <= end) {
- var secondByte, thirdByte, fourthByte, tempCodePoint
-
- switch (bytesPerSequence) {
- case 1:
- if (firstByte < 0x80) {
- codePoint = firstByte
- }
- break
- case 2:
- secondByte = buf[i + 1]
- if ((secondByte & 0xC0) === 0x80) {
- tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
- if (tempCodePoint > 0x7F) {
- codePoint = tempCodePoint
- }
- }
- break
- case 3:
- secondByte = buf[i + 1]
- thirdByte = buf[i + 2]
- if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
- tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
- if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
- codePoint = tempCodePoint
- }
- }
- break
- case 4:
- secondByte = buf[i + 1]
- thirdByte = buf[i + 2]
- fourthByte = buf[i + 3]
- if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
- tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
- if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
- codePoint = tempCodePoint
- }
- }
- }
- }
-
- if (codePoint === null) {
- // we did not generate a valid codePoint so insert a
- // replacement char (U+FFFD) and advance only 1 byte
- codePoint = 0xFFFD
- bytesPerSequence = 1
- } else if (codePoint > 0xFFFF) {
- // encode to utf16 (surrogate pair dance)
- codePoint -= 0x10000
- res.push(codePoint >>> 10 & 0x3FF | 0xD800)
- codePoint = 0xDC00 | codePoint & 0x3FF
- }
-
- res.push(codePoint)
- i += bytesPerSequence
- }
-
- return decodeCodePointsArray(res)
- }
-
- // Based on http://stackoverflow.com/a/22747272/680742, the browser with
- // the lowest limit is Chrome, with 0x10000 args.
- // We go 1 magnitude less, for safety
- var MAX_ARGUMENTS_LENGTH = 0x1000
-
- function decodeCodePointsArray (codePoints) {
- var len = codePoints.length
- if (len <= MAX_ARGUMENTS_LENGTH) {
- return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
- }
-
- // Decode in chunks to avoid "call stack size exceeded".
- var res = ''
- var i = 0
- while (i < len) {
- res += String.fromCharCode.apply(
- String,
- codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
- )
- }
- return res
- }
-
- function asciiSlice (buf, start, end) {
- var ret = ''
- end = Math.min(buf.length, end)
-
- for (var i = start; i < end; ++i) {
- ret += String.fromCharCode(buf[i] & 0x7F)
- }
- return ret
- }
-
- function latin1Slice (buf, start, end) {
- var ret = ''
- end = Math.min(buf.length, end)
-
- for (var i = start; i < end; ++i) {
- ret += String.fromCharCode(buf[i])
- }
- return ret
- }
-
- function hexSlice (buf, start, end) {
- var len = buf.length
-
- if (!start || start < 0) start = 0
- if (!end || end < 0 || end > len) end = len
-
- var out = ''
- for (var i = start; i < end; ++i) {
- out += toHex(buf[i])
- }
- return out
- }
-
- function utf16leSlice (buf, start, end) {
- var bytes = buf.slice(start, end)
- var res = ''
- for (var i = 0; i < bytes.length; i += 2) {
- res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
- }
- return res
- }
-
- Buffer.prototype.slice = function slice (start, end) {
- var len = this.length
- start = ~~start
- end = end === undefined ? len : ~~end
-
- if (start < 0) {
- start += len
- if (start < 0) start = 0
- } else if (start > len) {
- start = len
- }
-
- if (end < 0) {
- end += len
- if (end < 0) end = 0
- } else if (end > len) {
- end = len
- }
-
- if (end < start) end = start
-
- var newBuf
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- newBuf = this.subarray(start, end)
- newBuf.__proto__ = Buffer.prototype
- } else {
- var sliceLen = end - start
- newBuf = new Buffer(sliceLen, undefined)
- for (var i = 0; i < sliceLen; ++i) {
- newBuf[i] = this[i + start]
- }
- }
-
- return newBuf
- }
-
- /*
- * Need to make sure that buffer isn't trying to write out of bounds.
- */
- function checkOffset (offset, ext, length) {
- if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
- if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
- }
-
- Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) checkOffset(offset, byteLength, this.length)
-
- var val = this[offset]
- var mul = 1
- var i = 0
- while (++i < byteLength && (mul *= 0x100)) {
- val += this[offset + i] * mul
- }
-
- return val
- }
-
- Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) {
- checkOffset(offset, byteLength, this.length)
- }
-
- var val = this[offset + --byteLength]
- var mul = 1
- while (byteLength > 0 && (mul *= 0x100)) {
- val += this[offset + --byteLength] * mul
- }
-
- return val
- }
-
- Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 1, this.length)
- return this[offset]
- }
-
- Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 2, this.length)
- return this[offset] | (this[offset + 1] << 8)
- }
-
- Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 2, this.length)
- return (this[offset] << 8) | this[offset + 1]
- }
-
- Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
-
- return ((this[offset]) |
- (this[offset + 1] << 8) |
- (this[offset + 2] << 16)) +
- (this[offset + 3] * 0x1000000)
- }
-
- Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
-
- return (this[offset] * 0x1000000) +
- ((this[offset + 1] << 16) |
- (this[offset + 2] << 8) |
- this[offset + 3])
- }
-
- Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) checkOffset(offset, byteLength, this.length)
-
- var val = this[offset]
- var mul = 1
- var i = 0
- while (++i < byteLength && (mul *= 0x100)) {
- val += this[offset + i] * mul
- }
- mul *= 0x80
-
- if (val >= mul) val -= Math.pow(2, 8 * byteLength)
-
- return val
- }
-
- Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) checkOffset(offset, byteLength, this.length)
-
- var i = byteLength
- var mul = 1
- var val = this[offset + --i]
- while (i > 0 && (mul *= 0x100)) {
- val += this[offset + --i] * mul
- }
- mul *= 0x80
-
- if (val >= mul) val -= Math.pow(2, 8 * byteLength)
-
- return val
- }
-
- Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 1, this.length)
- if (!(this[offset] & 0x80)) return (this[offset])
- return ((0xff - this[offset] + 1) * -1)
- }
-
- Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 2, this.length)
- var val = this[offset] | (this[offset + 1] << 8)
- return (val & 0x8000) ? val | 0xFFFF0000 : val
- }
-
- Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 2, this.length)
- var val = this[offset + 1] | (this[offset] << 8)
- return (val & 0x8000) ? val | 0xFFFF0000 : val
- }
-
- Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
-
- return (this[offset]) |
- (this[offset + 1] << 8) |
- (this[offset + 2] << 16) |
- (this[offset + 3] << 24)
- }
-
- Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
-
- return (this[offset] << 24) |
- (this[offset + 1] << 16) |
- (this[offset + 2] << 8) |
- (this[offset + 3])
- }
-
- Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
- return ieee754.read(this, offset, true, 23, 4)
- }
-
- Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
- return ieee754.read(this, offset, false, 23, 4)
- }
-
- Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 8, this.length)
- return ieee754.read(this, offset, true, 52, 8)
- }
-
- Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 8, this.length)
- return ieee754.read(this, offset, false, 52, 8)
- }
-
- function checkInt (buf, value, offset, ext, max, min) {
- if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
- if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
- if (offset + ext > buf.length) throw new RangeError('Index out of range')
- }
-
- Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) {
- var maxBytes = Math.pow(2, 8 * byteLength) - 1
- checkInt(this, value, offset, byteLength, maxBytes, 0)
- }
-
- var mul = 1
- var i = 0
- this[offset] = value & 0xFF
- while (++i < byteLength && (mul *= 0x100)) {
- this[offset + i] = (value / mul) & 0xFF
- }
-
- return offset + byteLength
- }
-
- Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) {
- var maxBytes = Math.pow(2, 8 * byteLength) - 1
- checkInt(this, value, offset, byteLength, maxBytes, 0)
- }
-
- var i = byteLength - 1
- var mul = 1
- this[offset + i] = value & 0xFF
- while (--i >= 0 && (mul *= 0x100)) {
- this[offset + i] = (value / mul) & 0xFF
- }
-
- return offset + byteLength
- }
-
- Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
- if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
- this[offset] = (value & 0xff)
- return offset + 1
- }
-
- function objectWriteUInt16 (buf, value, offset, littleEndian) {
- if (value < 0) value = 0xffff + value + 1
- for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {
- buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
- (littleEndian ? i : 1 - i) * 8
- }
- }
-
- Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value & 0xff)
- this[offset + 1] = (value >>> 8)
- } else {
- objectWriteUInt16(this, value, offset, true)
- }
- return offset + 2
- }
-
- Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value >>> 8)
- this[offset + 1] = (value & 0xff)
- } else {
- objectWriteUInt16(this, value, offset, false)
- }
- return offset + 2
- }
-
- function objectWriteUInt32 (buf, value, offset, littleEndian) {
- if (value < 0) value = 0xffffffff + value + 1
- for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {
- buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
- }
- }
-
- Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset + 3] = (value >>> 24)
- this[offset + 2] = (value >>> 16)
- this[offset + 1] = (value >>> 8)
- this[offset] = (value & 0xff)
- } else {
- objectWriteUInt32(this, value, offset, true)
- }
- return offset + 4
- }
-
- Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value >>> 24)
- this[offset + 1] = (value >>> 16)
- this[offset + 2] = (value >>> 8)
- this[offset + 3] = (value & 0xff)
- } else {
- objectWriteUInt32(this, value, offset, false)
- }
- return offset + 4
- }
-
- Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) {
- var limit = Math.pow(2, 8 * byteLength - 1)
-
- checkInt(this, value, offset, byteLength, limit - 1, -limit)
- }
-
- var i = 0
- var mul = 1
- var sub = 0
- this[offset] = value & 0xFF
- while (++i < byteLength && (mul *= 0x100)) {
- if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
- sub = 1
- }
- this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
- }
-
- return offset + byteLength
- }
-
- Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) {
- var limit = Math.pow(2, 8 * byteLength - 1)
-
- checkInt(this, value, offset, byteLength, limit - 1, -limit)
- }
-
- var i = byteLength - 1
- var mul = 1
- var sub = 0
- this[offset + i] = value & 0xFF
- while (--i >= 0 && (mul *= 0x100)) {
- if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
- sub = 1
- }
- this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
- }
-
- return offset + byteLength
- }
-
- Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
- if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
- if (value < 0) value = 0xff + value + 1
- this[offset] = (value & 0xff)
- return offset + 1
- }
-
- Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value & 0xff)
- this[offset + 1] = (value >>> 8)
- } else {
- objectWriteUInt16(this, value, offset, true)
- }
- return offset + 2
- }
-
- Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value >>> 8)
- this[offset + 1] = (value & 0xff)
- } else {
- objectWriteUInt16(this, value, offset, false)
- }
- return offset + 2
- }
-
- Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value & 0xff)
- this[offset + 1] = (value >>> 8)
- this[offset + 2] = (value >>> 16)
- this[offset + 3] = (value >>> 24)
- } else {
- objectWriteUInt32(this, value, offset, true)
- }
- return offset + 4
- }
-
- Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
- if (value < 0) value = 0xffffffff + value + 1
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value >>> 24)
- this[offset + 1] = (value >>> 16)
- this[offset + 2] = (value >>> 8)
- this[offset + 3] = (value & 0xff)
- } else {
- objectWriteUInt32(this, value, offset, false)
- }
- return offset + 4
- }
-
- function checkIEEE754 (buf, value, offset, ext, max, min) {
- if (offset + ext > buf.length) throw new RangeError('Index out of range')
- if (offset < 0) throw new RangeError('Index out of range')
- }
-
- function writeFloat (buf, value, offset, littleEndian, noAssert) {
- if (!noAssert) {
- checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
- }
- ieee754.write(buf, value, offset, littleEndian, 23, 4)
- return offset + 4
- }
-
- Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
- return writeFloat(this, value, offset, true, noAssert)
- }
-
- Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
- return writeFloat(this, value, offset, false, noAssert)
- }
-
- function writeDouble (buf, value, offset, littleEndian, noAssert) {
- if (!noAssert) {
- checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
- }
- ieee754.write(buf, value, offset, littleEndian, 52, 8)
- return offset + 8
- }
-
- Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
- return writeDouble(this, value, offset, true, noAssert)
- }
-
- Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
- return writeDouble(this, value, offset, false, noAssert)
- }
-
- // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
- Buffer.prototype.copy = function copy (target, targetStart, start, end) {
- if (!start) start = 0
- if (!end && end !== 0) end = this.length
- if (targetStart >= target.length) targetStart = target.length
- if (!targetStart) targetStart = 0
- if (end > 0 && end < start) end = start
-
- // Copy 0 bytes; we're done
- if (end === start) return 0
- if (target.length === 0 || this.length === 0) return 0
-
- // Fatal error conditions
- if (targetStart < 0) {
- throw new RangeError('targetStart out of bounds')
- }
- if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
- if (end < 0) throw new RangeError('sourceEnd out of bounds')
-
- // Are we oob?
- if (end > this.length) end = this.length
- if (target.length - targetStart < end - start) {
- end = target.length - targetStart + start
- }
-
- var len = end - start
- var i
-
- if (this === target && start < targetStart && targetStart < end) {
- // descending copy from end
- for (i = len - 1; i >= 0; --i) {
- target[i + targetStart] = this[i + start]
- }
- } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
- // ascending copy from start
- for (i = 0; i < len; ++i) {
- target[i + targetStart] = this[i + start]
- }
- } else {
- Uint8Array.prototype.set.call(
- target,
- this.subarray(start, start + len),
- targetStart
- )
- }
-
- return len
- }
-
- // Usage:
- // buffer.fill(number[, offset[, end]])
- // buffer.fill(buffer[, offset[, end]])
- // buffer.fill(string[, offset[, end]][, encoding])
- Buffer.prototype.fill = function fill (val, start, end, encoding) {
- // Handle string cases:
- if (typeof val === 'string') {
- if (typeof start === 'string') {
- encoding = start
- start = 0
- end = this.length
- } else if (typeof end === 'string') {
- encoding = end
- end = this.length
- }
- if (val.length === 1) {
- var code = val.charCodeAt(0)
- if (code < 256) {
- val = code
- }
- }
- if (encoding !== undefined && typeof encoding !== 'string') {
- throw new TypeError('encoding must be a string')
- }
- if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
- throw new TypeError('Unknown encoding: ' + encoding)
- }
- } else if (typeof val === 'number') {
- val = val & 255
- }
-
- // Invalid ranges are not set to a default, so can range check early.
- if (start < 0 || this.length < start || this.length < end) {
- throw new RangeError('Out of range index')
- }
-
- if (end <= start) {
- return this
- }
-
- start = start >>> 0
- end = end === undefined ? this.length : end >>> 0
-
- if (!val) val = 0
-
- var i
- if (typeof val === 'number') {
- for (i = start; i < end; ++i) {
- this[i] = val
- }
- } else {
- var bytes = Buffer.isBuffer(val)
- ? val
- : utf8ToBytes(new Buffer(val, encoding).toString())
- var len = bytes.length
- for (i = 0; i < end - start; ++i) {
- this[i + start] = bytes[i % len]
- }
- }
-
- return this
- }
-
- // HELPER FUNCTIONS
- // ================
-
- var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
-
- function base64clean (str) {
- // Node strips out invalid characters like \n and \t from the string, base64-js does not
- str = stringtrim(str).replace(INVALID_BASE64_RE, '')
- // Node converts strings with length < 2 to ''
- if (str.length < 2) return ''
- // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
- while (str.length % 4 !== 0) {
- str = str + '='
- }
- return str
- }
-
- function stringtrim (str) {
- if (str.trim) return str.trim()
- return str.replace(/^\s+|\s+$/g, '')
- }
-
- function toHex (n) {
- if (n < 16) return '0' + n.toString(16)
- return n.toString(16)
- }
-
- function utf8ToBytes (string, units) {
- units = units || Infinity
- var codePoint
- var length = string.length
- var leadSurrogate = null
- var bytes = []
-
- for (var i = 0; i < length; ++i) {
- codePoint = string.charCodeAt(i)
-
- // is surrogate component
- if (codePoint > 0xD7FF && codePoint < 0xE000) {
- // last char was a lead
- if (!leadSurrogate) {
- // no lead yet
- if (codePoint > 0xDBFF) {
- // unexpected trail
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- continue
- } else if (i + 1 === length) {
- // unpaired lead
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- continue
- }
-
- // valid lead
- leadSurrogate = codePoint
-
- continue
- }
-
- // 2 leads in a row
- if (codePoint < 0xDC00) {
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- leadSurrogate = codePoint
- continue
- }
-
- // valid surrogate pair
- codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
- } else if (leadSurrogate) {
- // valid bmp char, but last char was a lead
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- }
-
- leadSurrogate = null
-
- // encode utf8
- if (codePoint < 0x80) {
- if ((units -= 1) < 0) break
- bytes.push(codePoint)
- } else if (codePoint < 0x800) {
- if ((units -= 2) < 0) break
- bytes.push(
- codePoint >> 0x6 | 0xC0,
- codePoint & 0x3F | 0x80
- )
- } else if (codePoint < 0x10000) {
- if ((units -= 3) < 0) break
- bytes.push(
- codePoint >> 0xC | 0xE0,
- codePoint >> 0x6 & 0x3F | 0x80,
- codePoint & 0x3F | 0x80
- )
- } else if (codePoint < 0x110000) {
- if ((units -= 4) < 0) break
- bytes.push(
- codePoint >> 0x12 | 0xF0,
- codePoint >> 0xC & 0x3F | 0x80,
- codePoint >> 0x6 & 0x3F | 0x80,
- codePoint & 0x3F | 0x80
- )
- } else {
- throw new Error('Invalid code point')
- }
- }
-
- return bytes
- }
-
- function asciiToBytes (str) {
- var byteArray = []
- for (var i = 0; i < str.length; ++i) {
- // Node's code seems to be doing this and not & 0x7F..
- byteArray.push(str.charCodeAt(i) & 0xFF)
- }
- return byteArray
- }
-
- function utf16leToBytes (str, units) {
- var c, hi, lo
- var byteArray = []
- for (var i = 0; i < str.length; ++i) {
- if ((units -= 2) < 0) break
-
- c = str.charCodeAt(i)
- hi = c >> 8
- lo = c % 256
- byteArray.push(lo)
- byteArray.push(hi)
- }
-
- return byteArray
- }
-
- function base64ToBytes (str) {
- return base64.toByteArray(base64clean(str))
- }
-
- function blitBuffer (src, dst, offset, length) {
- for (var i = 0; i < length; ++i) {
- if ((i + offset >= dst.length) || (i >= src.length)) break
- dst[i + offset] = src[i]
- }
- return i
- }
-
- function isnan (val) {
- return val !== val // eslint-disable-line no-self-compare
- }
-
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
-
-/***/ },
-/* 3 */
-/***/ function(module, exports) {
-
- 'use strict'
-
- exports.byteLength = byteLength
- exports.toByteArray = toByteArray
- exports.fromByteArray = fromByteArray
-
- var lookup = []
- var revLookup = []
- var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array
-
- var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
- for (var i = 0, len = code.length; i < len; ++i) {
- lookup[i] = code[i]
- revLookup[code.charCodeAt(i)] = i
- }
-
- revLookup['-'.charCodeAt(0)] = 62
- revLookup['_'.charCodeAt(0)] = 63
-
- function placeHoldersCount (b64) {
- var len = b64.length
- if (len % 4 > 0) {
- throw new Error('Invalid string. Length must be a multiple of 4')
- }
-
- // the number of equal signs (place holders)
- // if there are two placeholders, than the two characters before it
- // represent one byte
- // if there is only one, then the three characters before it represent 2 bytes
- // this is just a cheap hack to not do indexOf twice
- return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0
- }
-
- function byteLength (b64) {
- // base64 is 4/3 + up to two characters of the original data
- return b64.length * 3 / 4 - placeHoldersCount(b64)
- }
-
- function toByteArray (b64) {
- var i, j, l, tmp, placeHolders, arr
- var len = b64.length
- placeHolders = placeHoldersCount(b64)
-
- arr = new Arr(len * 3 / 4 - placeHolders)
-
- // if there are placeholders, only get up to the last complete 4 chars
- l = placeHolders > 0 ? len - 4 : len
-
- var L = 0
-
- for (i = 0, j = 0; i < l; i += 4, j += 3) {
- tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]
- arr[L++] = (tmp >> 16) & 0xFF
- arr[L++] = (tmp >> 8) & 0xFF
- arr[L++] = tmp & 0xFF
- }
-
- if (placeHolders === 2) {
- tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)
- arr[L++] = tmp & 0xFF
- } else if (placeHolders === 1) {
- tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)
- arr[L++] = (tmp >> 8) & 0xFF
- arr[L++] = tmp & 0xFF
- }
-
- return arr
- }
-
- function tripletToBase64 (num) {
- return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]
- }
-
- function encodeChunk (uint8, start, end) {
- var tmp
- var output = []
- for (var i = start; i < end; i += 3) {
- tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
- output.push(tripletToBase64(tmp))
- }
- return output.join('')
- }
-
- function fromByteArray (uint8) {
- var tmp
- var len = uint8.length
- var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes
- var output = ''
- var parts = []
- var maxChunkLength = 16383 // must be multiple of 3
-
- // go through the array every three bytes, we'll deal with trailing stuff later
- for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
- parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))
- }
-
- // pad the end with zeros, but make sure to not forget the extra bytes
- if (extraBytes === 1) {
- tmp = uint8[len - 1]
- output += lookup[tmp >> 2]
- output += lookup[(tmp << 4) & 0x3F]
- output += '=='
- } else if (extraBytes === 2) {
- tmp = (uint8[len - 2] << 8) + (uint8[len - 1])
- output += lookup[tmp >> 10]
- output += lookup[(tmp >> 4) & 0x3F]
- output += lookup[(tmp << 2) & 0x3F]
- output += '='
- }
-
- parts.push(output)
-
- return parts.join('')
- }
-
-
-/***/ },
-/* 4 */
-/***/ function(module, exports) {
-
- exports.read = function (buffer, offset, isLE, mLen, nBytes) {
- var e, m
- var eLen = nBytes * 8 - mLen - 1
- var eMax = (1 << eLen) - 1
- var eBias = eMax >> 1
- var nBits = -7
- var i = isLE ? (nBytes - 1) : 0
- var d = isLE ? -1 : 1
- var s = buffer[offset + i]
-
- i += d
-
- e = s & ((1 << (-nBits)) - 1)
- s >>= (-nBits)
- nBits += eLen
- for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
-
- m = e & ((1 << (-nBits)) - 1)
- e >>= (-nBits)
- nBits += mLen
- for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
-
- if (e === 0) {
- e = 1 - eBias
- } else if (e === eMax) {
- return m ? NaN : ((s ? -1 : 1) * Infinity)
- } else {
- m = m + Math.pow(2, mLen)
- e = e - eBias
- }
- return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
- }
-
- exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
- var e, m, c
- var eLen = nBytes * 8 - mLen - 1
- var eMax = (1 << eLen) - 1
- var eBias = eMax >> 1
- var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
- var i = isLE ? 0 : (nBytes - 1)
- var d = isLE ? 1 : -1
- var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
-
- value = Math.abs(value)
-
- if (isNaN(value) || value === Infinity) {
- m = isNaN(value) ? 1 : 0
- e = eMax
- } else {
- e = Math.floor(Math.log(value) / Math.LN2)
- if (value * (c = Math.pow(2, -e)) < 1) {
- e--
- c *= 2
- }
- if (e + eBias >= 1) {
- value += rt / c
- } else {
- value += rt * Math.pow(2, 1 - eBias)
- }
- if (value * c >= 2) {
- e++
- c /= 2
- }
-
- if (e + eBias >= eMax) {
- m = 0
- e = eMax
- } else if (e + eBias >= 1) {
- m = (value * c - 1) * Math.pow(2, mLen)
- e = e + eBias
- } else {
- m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
- e = 0
- }
- }
-
- for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
-
- e = (e << mLen) | m
- eLen += mLen
- for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
-
- buffer[offset + i - d] |= s * 128
- }
-
-
-/***/ },
-/* 5 */
-/***/ function(module, exports) {
-
- var toString = {}.toString;
-
- module.exports = Array.isArray || function (arr) {
- return toString.call(arr) == '[object Array]';
- };
-
-
-/***/ },
-/* 6 */
-/***/ function(module, exports, __webpack_require__) {
-
- /* jslint node: true */
- 'use strict';
-
- var _ = __webpack_require__(7);
- var FontProvider = __webpack_require__(9);
- var LayoutBuilder = __webpack_require__(10);
- var PdfKit = __webpack_require__(29);
- var sizes = __webpack_require__(301);
- var ImageMeasure = __webpack_require__(302);
- var textDecorator = __webpack_require__(303);
-
- _.noConflict();
-
- ////////////////////////////////////////
- // PdfPrinter
-
- /**
- * @class Creates an instance of a PdfPrinter which turns document definition into a pdf
- *
- * @param {Object} fontDescriptors font definition dictionary
- *
- * @example
- * var fontDescriptors = {
- * Roboto: {
- * normal: 'fonts/Roboto-Regular.ttf',
- * bold: 'fonts/Roboto-Medium.ttf',
- * italics: 'fonts/Roboto-Italic.ttf',
- * bolditalics: 'fonts/Roboto-MediumItalic.ttf'
- * }
- * };
- *
- * var printer = new PdfPrinter(fontDescriptors);
- */
- function PdfPrinter(fontDescriptors) {
- this.fontDescriptors = fontDescriptors;
- }
-
- /**
- * Executes layout engine for the specified document and renders it into a pdfkit document
- * ready to be saved.
- *
- * @param {Object} docDefinition document definition
- * @param {Object} docDefinition.content an array describing the pdf structure (for more information take a look at the examples in the /examples folder)
- * @param {Object} [docDefinition.defaultStyle] default (implicit) style definition
- * @param {Object} [docDefinition.styles] dictionary defining all styles which can be used in the document
- * @param {Object} [docDefinition.pageSize] page size (pdfkit units, A4 dimensions by default)
- * @param {Number} docDefinition.pageSize.width width
- * @param {Number} docDefinition.pageSize.height height
- * @param {Object} [docDefinition.pageMargins] page margins (pdfkit units)
- * @param {Number} docDefinition.maxPagesNumber maximum number of pages to render
- *
- * @example
- *
- * var docDefinition = {
- * info: {
- * title: 'awesome Document',
- * author: 'john doe',
- * subject: 'subject of document',
- * keywords: 'keywords for document',
- * },
- * content: [
- * 'First paragraph',
- * 'Second paragraph, this time a little bit longer',
- * { text: 'Third paragraph, slightly bigger font size', fontSize: 20 },
- * { text: 'Another paragraph using a named style', style: 'header' },
- * { text: ['playing with ', 'inlines' ] },
- * { text: ['and ', { text: 'restyling ', bold: true }, 'them'] },
- * ],
- * styles: {
- * header: { fontSize: 30, bold: true }
- * }
- * }
- *
- * var pdfKitDoc = printer.createPdfKitDocument(docDefinition);
- *
- * pdfKitDoc.pipe(fs.createWriteStream('sample.pdf'));
- * pdfKitDoc.end();
- *
- * @return {Object} a pdfKit document object which can be saved or encode to data-url
- */
- PdfPrinter.prototype.createPdfKitDocument = function (docDefinition, options) {
- options = options || {};
-
- var pageSize = fixPageSize(docDefinition.pageSize, docDefinition.pageOrientation);
-
- this.pdfKitDoc = new PdfKit({size: [pageSize.width, pageSize.height], autoFirstPage: false, compress: docDefinition.compress || true});
- setMetadata(docDefinition, this.pdfKitDoc);
-
- this.fontProvider = new FontProvider(this.fontDescriptors, this.pdfKitDoc);
-
- docDefinition.images = docDefinition.images || {};
-
- var builder = new LayoutBuilder(pageSize, fixPageMargins(docDefinition.pageMargins || 40), new ImageMeasure(this.pdfKitDoc, docDefinition.images));
-
- registerDefaultTableLayouts(builder);
- if (options.tableLayouts) {
- builder.registerTableLayouts(options.tableLayouts);
- }
-
- var pages = builder.layoutDocument(docDefinition.content, this.fontProvider, docDefinition.styles || {}, docDefinition.defaultStyle || {fontSize: 12, font: 'Roboto'}, docDefinition.background, docDefinition.header, docDefinition.footer, docDefinition.images, docDefinition.watermark, docDefinition.pageBreakBefore);
- var maxNumberPages = docDefinition.maxPagesNumber || -1;
- if (typeof maxNumberPages === 'number' && maxNumberPages > -1) {
- pages = pages.slice(0, maxNumberPages);
- }
-
- // if pageSize.height is set to Infinity, calculate the actual height of the page that
- // was laid out using the height of each of the items in the page.
- if (pageSize.height === Infinity) {
- var pageHeight = calculatePageHeight(pages, docDefinition.pageMargins);
- this.pdfKitDoc.options.size = [pageSize.width, pageHeight];
- }
-
- renderPages(pages, this.fontProvider, this.pdfKitDoc, options.progressCallback);
-
- if (options.autoPrint) {
- var printActionRef = this.pdfKitDoc.ref({
- Type: 'Action',
- S: 'Named',
- N: 'Print'
- });
- this.pdfKitDoc._root.data.OpenAction = printActionRef;
- printActionRef.end();
- }
- return this.pdfKitDoc;
- };
-
- function setMetadata(docDefinition, pdfKitDoc) {
- pdfKitDoc.info.Producer = 'pdfmake';
- pdfKitDoc.info.Creator = 'pdfmake';
-
- // pdf kit maintains the uppercase fieldnames from pdf spec
- // to keep the pdfmake api consistent, the info field are defined lowercase
- if (docDefinition.info) {
- var info = docDefinition.info;
- // check for falsey an set null, so that pdfkit always get either null or value
- pdfKitDoc.info.Title = info.title ? info.title : null;
- pdfKitDoc.info.Author = info.author ? info.author : null;
- pdfKitDoc.info.Subject = info.subject ? info.subject : null;
- pdfKitDoc.info.Keywords = info.keywords ? info.keywords : null;
- pdfKitDoc.info.CreationDate = info.creationDate ? info.creationDate : null;
- }
- }
-
- function calculatePageHeight(pages, margins) {
- function getItemHeight(item) {
- if (typeof item.item.getHeight === 'function') {
- return item.item.getHeight();
- } else if (item.item._height) {
- return item.item._height;
- } else {
- // TODO: add support for next item types
- return 0;
- }
- }
-
- var fixedMargins = fixPageMargins(margins || 40);
- var height = fixedMargins.top + fixedMargins.bottom;
- pages.forEach(function (page) {
- page.items.forEach(function (item) {
- height += getItemHeight(item);
- });
- });
- return height;
- }
-
- function fixPageSize(pageSize, pageOrientation) {
- // if pageSize.height is set to auto, set the height to infinity so there are no page breaks.
- if (pageSize && pageSize.height === 'auto') {
- pageSize.height = Infinity;
- }
-
- var size = pageSize2widthAndHeight(pageSize || 'A4');
- if (((pageOrientation === 'portrait') && (size.width > size.height)) ||
- ((pageOrientation === 'landscape') && (size.width < size.height))) { // swap page sizes
- size = {width: size.height, height: size.width};
- }
- size.orientation = size.width > size.height ? 'landscape' : 'portrait';
- return size;
- }
-
- function fixPageMargins(margin) {
- if (!margin) {
- return null;
- }
-
- if (typeof margin === 'number' || margin instanceof Number) {
- margin = {left: margin, right: margin, top: margin, bottom: margin};
- } else if (Array.isArray(margin)) {
- if (margin.length === 2) {
- margin = {left: margin[0], top: margin[1], right: margin[0], bottom: margin[1]};
- } else if (margin.length === 4) {
- margin = {left: margin[0], top: margin[1], right: margin[2], bottom: margin[3]};
- } else {
- throw 'Invalid pageMargins definition';
- }
- }
-
- return margin;
- }
-
- function registerDefaultTableLayouts(layoutBuilder) {
- /*jshint unused: false */
- layoutBuilder.registerTableLayouts({
- noBorders: {
- hLineWidth: function (i) {
- return 0;
- },
- vLineWidth: function (i) {
- return 0;
- },
- paddingLeft: function (i) {
- return i && 4 || 0;
- },
- paddingRight: function (i, node) {
- return (i < node.table.widths.length - 1) ? 4 : 0;
- }
- },
- headerLineOnly: {
- hLineWidth: function (i, node) {
- if (i === 0 || i === node.table.body.length) {
- return 0;
- }
- return (i === node.table.headerRows) ? 2 : 0;
- },
- vLineWidth: function (i) {
- return 0;
- },
- paddingLeft: function (i) {
- return i === 0 ? 0 : 8;
- },
- paddingRight: function (i, node) {
- return (i === node.table.widths.length - 1) ? 0 : 8;
- }
- },
- lightHorizontalLines: {
- hLineWidth: function (i, node) {
- if (i === 0 || i === node.table.body.length) {
- return 0;
- }
- return (i === node.table.headerRows) ? 2 : 1;
- },
- vLineWidth: function (i) {
- return 0;
- },
- hLineColor: function (i) {
- return i === 1 ? 'black' : '#aaa';
- },
- paddingLeft: function (i) {
- return i === 0 ? 0 : 8;
- },
- paddingRight: function (i, node) {
- return (i === node.table.widths.length - 1) ? 0 : 8;
- }
- }
- });
- }
-
- function pageSize2widthAndHeight(pageSize) {
- if (typeof pageSize === 'string' || pageSize instanceof String) {
- var size = sizes[pageSize.toUpperCase()];
- if (!size) {
- throw 'Page size ' + pageSize + ' not recognized';
- }
- return {width: size[0], height: size[1]};
- }
-
- return pageSize;
- }
-
- function updatePageOrientationInOptions(currentPage, pdfKitDoc) {
- var previousPageOrientation = pdfKitDoc.options.size[0] > pdfKitDoc.options.size[1] ? 'landscape' : 'portrait';
-
- if (currentPage.pageSize.orientation !== previousPageOrientation) {
- var width = pdfKitDoc.options.size[0];
- var height = pdfKitDoc.options.size[1];
- pdfKitDoc.options.size = [height, width];
- }
- }
-
- function renderPages(pages, fontProvider, pdfKitDoc, progressCallback) {
- pdfKitDoc._pdfMakePages = pages;
- pdfKitDoc.addPage();
-
- var totalItems = progressCallback && _.sumBy(pages, function (page) {
- return page.items.length;
- });
- var renderedItems = 0;
- progressCallback = progressCallback || function () {};
-
- for (var i = 0; i < pages.length; i++) {
- if (i > 0) {
- updatePageOrientationInOptions(pages[i], pdfKitDoc);
- pdfKitDoc.addPage(pdfKitDoc.options);
- }
-
- var page = pages[i];
- for (var ii = 0, il = page.items.length; ii < il; ii++) {
- var item = page.items[ii];
- switch (item.type) {
- case 'vector':
- renderVector(item.item, pdfKitDoc);
- break;
- case 'line':
- renderLine(item.item, item.item.x, item.item.y, pdfKitDoc);
- break;
- case 'image':
- renderImage(item.item, item.item.x, item.item.y, pdfKitDoc);
- break;
- }
- renderedItems++;
- progressCallback(renderedItems / totalItems);
- }
- if (page.watermark) {
- renderWatermark(page, pdfKitDoc);
- }
- }
- }
-
- function renderLine(line, x, y, pdfKitDoc) {
- x = x || 0;
- y = y || 0;
-
- var lineHeight = line.getHeight();
- var ascenderHeight = line.getAscenderHeight();
- var descent = lineHeight - ascenderHeight;
-
- textDecorator.drawBackground(line, x, y, pdfKitDoc);
-
- //TODO: line.optimizeInlines();
- for (var i = 0, l = line.inlines.length; i < l; i++) {
- var inline = line.inlines[i];
- var shiftToBaseline = lineHeight - ((inline.font.ascender / 1000) * inline.fontSize) - descent;
-
- pdfKitDoc.fill(inline.color || 'black');
-
- pdfKitDoc._font = inline.font;
- pdfKitDoc.fontSize(inline.fontSize);
- pdfKitDoc.text(inline.text, x + inline.x, y + shiftToBaseline, {
- lineBreak: false,
- textWidth: inline.width,
- wordCount: 1,
- link: inline.link
- });
- }
-
- textDecorator.drawDecorations(line, x, y, pdfKitDoc);
- }
-
- function renderWatermark(page, pdfKitDoc) {
- var watermark = page.watermark;
-
- pdfKitDoc.fill(watermark.color);
- pdfKitDoc.opacity(watermark.opacity);
-
- pdfKitDoc.save();
-
- var angle = Math.atan2(pdfKitDoc.page.height, pdfKitDoc.page.width) * -180 / Math.PI;
- pdfKitDoc.rotate(angle, {origin: [pdfKitDoc.page.width / 2, pdfKitDoc.page.height / 2]});
-
- var x = pdfKitDoc.page.width / 2 - watermark.size.size.width / 2;
- var y = pdfKitDoc.page.height / 2 - watermark.size.size.height / 4;
-
- pdfKitDoc._font = watermark.font;
- pdfKitDoc.fontSize(watermark.size.fontSize);
- pdfKitDoc.text(watermark.text, x, y, {lineBreak: false});
-
- pdfKitDoc.restore();
- }
-
- function renderVector(vector, pdfKitDoc) {
- //TODO: pdf optimization (there's no need to write all properties everytime)
- pdfKitDoc.lineWidth(vector.lineWidth || 1);
- if (vector.dash) {
- pdfKitDoc.dash(vector.dash.length, {space: vector.dash.space || vector.dash.length, phase: vector.dash.phase || 0});
- } else {
- pdfKitDoc.undash();
- }
- pdfKitDoc.fillOpacity(vector.fillOpacity || 1);
- pdfKitDoc.strokeOpacity(vector.strokeOpacity || 1);
- pdfKitDoc.lineJoin(vector.lineJoin || 'miter');
-
- //TODO: clipping
-
- switch (vector.type) {
- case 'ellipse':
- pdfKitDoc.ellipse(vector.x, vector.y, vector.r1, vector.r2);
- break;
- case 'rect':
- if (vector.r) {
- pdfKitDoc.roundedRect(vector.x, vector.y, vector.w, vector.h, vector.r);
- } else {
- pdfKitDoc.rect(vector.x, vector.y, vector.w, vector.h);
- }
-
- if (vector.linearGradient) {
- var gradient = pdfKitDoc.linearGradient(vector.x, vector.y, vector.x + vector.w, vector.y);
- var step = 1 / (vector.linearGradient.length - 1);
-
- for (var i = 0; i < vector.linearGradient.length; i++) {
- gradient.stop(i * step, vector.linearGradient[i]);
- }
-
- vector.color = gradient;
- }
- break;
- case 'line':
- pdfKitDoc.moveTo(vector.x1, vector.y1);
- pdfKitDoc.lineTo(vector.x2, vector.y2);
- break;
- case 'polyline':
- if (vector.points.length === 0) {
- break;
- }
-
- pdfKitDoc.moveTo(vector.points[0].x, vector.points[0].y);
- for (var i = 1, l = vector.points.length; i < l; i++) {
- pdfKitDoc.lineTo(vector.points[i].x, vector.points[i].y);
- }
-
- if (vector.points.length > 1) {
- var p1 = vector.points[0];
- var pn = vector.points[vector.points.length - 1];
-
- if (vector.closePath || p1.x === pn.x && p1.y === pn.y) {
- pdfKitDoc.closePath();
- }
- }
- break;
- }
-
- if (vector.color && vector.lineColor) {
- pdfKitDoc.fillAndStroke(vector.color, vector.lineColor);
- } else if (vector.color) {
- pdfKitDoc.fill(vector.color);
- } else {
- pdfKitDoc.stroke(vector.lineColor || 'black');
- }
- }
-
- function renderImage(image, x, y, pdfKitDoc) {
- pdfKitDoc.image(image.image, image.x, image.y, {width: image._width, height: image._height});
- if (image.link) {
- pdfKitDoc.link(image.x, image.y, image._width, image._height, image.link);
- }
- }
-
- module.exports = PdfPrinter;
-
-
- /* temporary browser extension */
- PdfPrinter.prototype.fs = __webpack_require__(53);
-
-
-/***/ },
-/* 7 */
-/***/ function(module, exports, __webpack_require__) {
-
- var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {/**
- * @license
- * Lodash
- * Copyright JS Foundation and other contributors
- * Released under MIT license
- * Based on Underscore.js 1.8.3
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
- ;(function() {
-
- /** Used as a safe reference for `undefined` in pre-ES5 environments. */
- var undefined;
-
- /** Used as the semantic version number. */
- var VERSION = '4.17.4';
-
- /** Used as the size to enable large array optimizations. */
- var LARGE_ARRAY_SIZE = 200;
-
- /** Error message constants. */
- var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',
- FUNC_ERROR_TEXT = 'Expected a function';
-
- /** Used to stand-in for `undefined` hash values. */
- var HASH_UNDEFINED = '__lodash_hash_undefined__';
-
- /** Used as the maximum memoize cache size. */
- var MAX_MEMOIZE_SIZE = 500;
-
- /** Used as the internal argument placeholder. */
- var PLACEHOLDER = '__lodash_placeholder__';
-
- /** Used to compose bitmasks for cloning. */
- var CLONE_DEEP_FLAG = 1,
- CLONE_FLAT_FLAG = 2,
- CLONE_SYMBOLS_FLAG = 4;
-
- /** Used to compose bitmasks for value comparisons. */
- var COMPARE_PARTIAL_FLAG = 1,
- COMPARE_UNORDERED_FLAG = 2;
-
- /** Used to compose bitmasks for function metadata. */
- var WRAP_BIND_FLAG = 1,
- WRAP_BIND_KEY_FLAG = 2,
- WRAP_CURRY_BOUND_FLAG = 4,
- WRAP_CURRY_FLAG = 8,
- WRAP_CURRY_RIGHT_FLAG = 16,
- WRAP_PARTIAL_FLAG = 32,
- WRAP_PARTIAL_RIGHT_FLAG = 64,
- WRAP_ARY_FLAG = 128,
- WRAP_REARG_FLAG = 256,
- WRAP_FLIP_FLAG = 512;
-
- /** Used as default options for `_.truncate`. */
- var DEFAULT_TRUNC_LENGTH = 30,
- DEFAULT_TRUNC_OMISSION = '...';
-
- /** Used to detect hot functions by number of calls within a span of milliseconds. */
- var HOT_COUNT = 800,
- HOT_SPAN = 16;
-
- /** Used to indicate the type of lazy iteratees. */
- var LAZY_FILTER_FLAG = 1,
- LAZY_MAP_FLAG = 2,
- LAZY_WHILE_FLAG = 3;
-
- /** Used as references for various `Number` constants. */
- var INFINITY = 1 / 0,
- MAX_SAFE_INTEGER = 9007199254740991,
- MAX_INTEGER = 1.7976931348623157e+308,
- NAN = 0 / 0;
-
- /** Used as references for the maximum length and index of an array. */
- var MAX_ARRAY_LENGTH = 4294967295,
- MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,
- HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
-
- /** Used to associate wrap methods with their bit flags. */
- var wrapFlags = [
- ['ary', WRAP_ARY_FLAG],
- ['bind', WRAP_BIND_FLAG],
- ['bindKey', WRAP_BIND_KEY_FLAG],
- ['curry', WRAP_CURRY_FLAG],
- ['curryRight', WRAP_CURRY_RIGHT_FLAG],
- ['flip', WRAP_FLIP_FLAG],
- ['partial', WRAP_PARTIAL_FLAG],
- ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],
- ['rearg', WRAP_REARG_FLAG]
- ];
-
- /** `Object#toString` result references. */
- var argsTag = '[object Arguments]',
- arrayTag = '[object Array]',
- asyncTag = '[object AsyncFunction]',
- boolTag = '[object Boolean]',
- dateTag = '[object Date]',
- domExcTag = '[object DOMException]',
- errorTag = '[object Error]',
- funcTag = '[object Function]',
- genTag = '[object GeneratorFunction]',
- mapTag = '[object Map]',
- numberTag = '[object Number]',
- nullTag = '[object Null]',
- objectTag = '[object Object]',
- promiseTag = '[object Promise]',
- proxyTag = '[object Proxy]',
- regexpTag = '[object RegExp]',
- setTag = '[object Set]',
- stringTag = '[object String]',
- symbolTag = '[object Symbol]',
- undefinedTag = '[object Undefined]',
- weakMapTag = '[object WeakMap]',
- weakSetTag = '[object WeakSet]';
-
- var arrayBufferTag = '[object ArrayBuffer]',
- dataViewTag = '[object DataView]',
- float32Tag = '[object Float32Array]',
- float64Tag = '[object Float64Array]',
- int8Tag = '[object Int8Array]',
- int16Tag = '[object Int16Array]',
- int32Tag = '[object Int32Array]',
- uint8Tag = '[object Uint8Array]',
- uint8ClampedTag = '[object Uint8ClampedArray]',
- uint16Tag = '[object Uint16Array]',
- uint32Tag = '[object Uint32Array]';
-
- /** Used to match empty string literals in compiled template source. */
- var reEmptyStringLeading = /\b__p \+= '';/g,
- reEmptyStringMiddle = /\b(__p \+=) '' \+/g,
- reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
-
- /** Used to match HTML entities and HTML characters. */
- var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,
- reUnescapedHtml = /[&<>"']/g,
- reHasEscapedHtml = RegExp(reEscapedHtml.source),
- reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
-
- /** Used to match template delimiters. */
- var reEscape = /<%-([\s\S]+?)%>/g,
- reEvaluate = /<%([\s\S]+?)%>/g,
- reInterpolate = /<%=([\s\S]+?)%>/g;
-
- /** Used to match property names within property paths. */
- var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
- reIsPlainProp = /^\w*$/,
- reLeadingDot = /^\./,
- rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
-
- /**
- * Used to match `RegExp`
- * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
- */
- var reRegExpChar = /[\\^$.*+?()[\]{}|]/g,
- reHasRegExpChar = RegExp(reRegExpChar.source);
-
- /** Used to match leading and trailing whitespace. */
- var reTrim = /^\s+|\s+$/g,
- reTrimStart = /^\s+/,
- reTrimEnd = /\s+$/;
-
- /** Used to match wrap detail comments. */
- var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,
- reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/,
- reSplitDetails = /,? & /;
-
- /** Used to match words composed of alphanumeric characters. */
- var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
-
- /** Used to match backslashes in property paths. */
- var reEscapeChar = /\\(\\)?/g;
-
- /**
- * Used to match
- * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).
- */
- var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
-
- /** Used to match `RegExp` flags from their coerced string values. */
- var reFlags = /\w*$/;
-
- /** Used to detect bad signed hexadecimal string values. */
- var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
-
- /** Used to detect binary string values. */
- var reIsBinary = /^0b[01]+$/i;
-
- /** Used to detect host constructors (Safari). */
- var reIsHostCtor = /^\[object .+?Constructor\]$/;
-
- /** Used to detect octal string values. */
- var reIsOctal = /^0o[0-7]+$/i;
-
- /** Used to detect unsigned integer values. */
- var reIsUint = /^(?:0|[1-9]\d*)$/;
-
- /** Used to match Latin Unicode letters (excluding mathematical operators). */
- var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
-
- /** Used to ensure capturing order of template delimiters. */
- var reNoMatch = /($^)/;
-
- /** Used to match unescaped characters in compiled string literals. */
- var reUnescapedString = /['\n\r\u2028\u2029\\]/g;
-
- /** Used to compose unicode character classes. */
- var rsAstralRange = '\\ud800-\\udfff',
- rsComboMarksRange = '\\u0300-\\u036f',
- reComboHalfMarksRange = '\\ufe20-\\ufe2f',
- rsComboSymbolsRange = '\\u20d0-\\u20ff',
- rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
- rsDingbatRange = '\\u2700-\\u27bf',
- rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff',
- rsMathOpRange = '\\xac\\xb1\\xd7\\xf7',
- rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf',
- rsPunctuationRange = '\\u2000-\\u206f',
- rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000',
- rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde',
- rsVarRange = '\\ufe0e\\ufe0f',
- rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
-
- /** Used to compose unicode capture groups. */
- var rsApos = "['\u2019]",
- rsAstral = '[' + rsAstralRange + ']',
- rsBreak = '[' + rsBreakRange + ']',
- rsCombo = '[' + rsComboRange + ']',
- rsDigits = '\\d+',
- rsDingbat = '[' + rsDingbatRange + ']',
- rsLower = '[' + rsLowerRange + ']',
- rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',
- rsFitz = '\\ud83c[\\udffb-\\udfff]',
- rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',
- rsNonAstral = '[^' + rsAstralRange + ']',
- rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}',
- rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]',
- rsUpper = '[' + rsUpperRange + ']',
- rsZWJ = '\\u200d';
-
- /** Used to compose unicode regexes. */
- var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',
- rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',
- rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',
- rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',
- reOptMod = rsModifier + '?',
- rsOptVar = '[' + rsVarRange + ']?',
- rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
- rsOrdLower = '\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)',
- rsOrdUpper = '\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)',
- rsSeq = rsOptVar + reOptMod + rsOptJoin,
- rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,
- rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
-
- /** Used to match apostrophes. */
- var reApos = RegExp(rsApos, 'g');
-
- /**
- * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and
- * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).
- */
- var reComboMark = RegExp(rsCombo, 'g');
-
- /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
- var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
-
- /** Used to match complex or compound words. */
- var reUnicodeWord = RegExp([
- rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',
- rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',
- rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,
- rsUpper + '+' + rsOptContrUpper,
- rsOrdUpper,
- rsOrdLower,
- rsDigits,
- rsEmoji
- ].join('|'), 'g');
-
- /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
- var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');
-
- /** Used to detect strings that need a more robust regexp to match words. */
- var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
-
- /** Used to assign default `context` object properties. */
- var contextProps = [
- 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',
- 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',
- 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',
- 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',
- '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'
- ];
-
- /** Used to make template sourceURLs easier to identify. */
- var templateCounter = -1;
-
- /** Used to identify `toStringTag` values of typed arrays. */
- var typedArrayTags = {};
- typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
- typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
- typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
- typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
- typedArrayTags[uint32Tag] = true;
- typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
- typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
- typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
- typedArrayTags[errorTag] = typedArrayTags[funcTag] =
- typedArrayTags[mapTag] = typedArrayTags[numberTag] =
- typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
- typedArrayTags[setTag] = typedArrayTags[stringTag] =
- typedArrayTags[weakMapTag] = false;
-
- /** Used to identify `toStringTag` values supported by `_.clone`. */
- var cloneableTags = {};
- cloneableTags[argsTag] = cloneableTags[arrayTag] =
- cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =
- cloneableTags[boolTag] = cloneableTags[dateTag] =
- cloneableTags[float32Tag] = cloneableTags[float64Tag] =
- cloneableTags[int8Tag] = cloneableTags[int16Tag] =
- cloneableTags[int32Tag] = cloneableTags[mapTag] =
- cloneableTags[numberTag] = cloneableTags[objectTag] =
- cloneableTags[regexpTag] = cloneableTags[setTag] =
- cloneableTags[stringTag] = cloneableTags[symbolTag] =
- cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
- cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
- cloneableTags[errorTag] = cloneableTags[funcTag] =
- cloneableTags[weakMapTag] = false;
-
- /** Used to map Latin Unicode letters to basic Latin letters. */
- var deburredLetters = {
- // Latin-1 Supplement block.
- '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A',
- '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a',
- '\xc7': 'C', '\xe7': 'c',
- '\xd0': 'D', '\xf0': 'd',
- '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E',
- '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e',
- '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I',
- '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i',
- '\xd1': 'N', '\xf1': 'n',
- '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O',
- '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o',
- '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U',
- '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u',
- '\xdd': 'Y', '\xfd': 'y', '\xff': 'y',
- '\xc6': 'Ae', '\xe6': 'ae',
- '\xde': 'Th', '\xfe': 'th',
- '\xdf': 'ss',
- // Latin Extended-A block.
- '\u0100': 'A', '\u0102': 'A', '\u0104': 'A',
- '\u0101': 'a', '\u0103': 'a', '\u0105': 'a',
- '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C',
- '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c',
- '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd',
- '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E',
- '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e',
- '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G',
- '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g',
- '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h',
- '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I',
- '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i',
- '\u0134': 'J', '\u0135': 'j',
- '\u0136': 'K', '\u0137': 'k', '\u0138': 'k',
- '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L',
- '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l',
- '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N',
- '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n',
- '\u014c': 'O', '\u014e': 'O', '\u0150': 'O',
- '\u014d': 'o', '\u014f': 'o', '\u0151': 'o',
- '\u0154': 'R', '\u0156': 'R', '\u0158': 'R',
- '\u0155': 'r', '\u0157': 'r', '\u0159': 'r',
- '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S',
- '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's',
- '\u0162': 'T', '\u0164': 'T', '\u0166': 'T',
- '\u0163': 't', '\u0165': 't', '\u0167': 't',
- '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U',
- '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u',
- '\u0174': 'W', '\u0175': 'w',
- '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y',
- '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z',
- '\u017a': 'z', '\u017c': 'z', '\u017e': 'z',
- '\u0132': 'IJ', '\u0133': 'ij',
- '\u0152': 'Oe', '\u0153': 'oe',
- '\u0149': "'n", '\u017f': 's'
- };
-
- /** Used to map characters to HTML entities. */
- var htmlEscapes = {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- "'": '''
- };
-
- /** Used to map HTML entities to characters. */
- var htmlUnescapes = {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- ''': "'"
- };
-
- /** Used to escape characters for inclusion in compiled string literals. */
- var stringEscapes = {
- '\\': '\\',
- "'": "'",
- '\n': 'n',
- '\r': 'r',
- '\u2028': 'u2028',
- '\u2029': 'u2029'
- };
-
- /** Built-in method references without a dependency on `root`. */
- var freeParseFloat = parseFloat,
- freeParseInt = parseInt;
-
- /** Detect free variable `global` from Node.js. */
- var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
-
- /** Detect free variable `self`. */
- var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
-
- /** Used as a reference to the global object. */
- var root = freeGlobal || freeSelf || Function('return this')();
-
- /** Detect free variable `exports`. */
- var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
-
- /** Detect free variable `module`. */
- var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
-
- /** Detect the popular CommonJS extension `module.exports`. */
- var moduleExports = freeModule && freeModule.exports === freeExports;
-
- /** Detect free variable `process` from Node.js. */
- var freeProcess = moduleExports && freeGlobal.process;
-
- /** Used to access faster Node.js helpers. */
- var nodeUtil = (function() {
- try {
- return freeProcess && freeProcess.binding && freeProcess.binding('util');
- } catch (e) {}
- }());
-
- /* Node.js helper references. */
- var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,
- nodeIsDate = nodeUtil && nodeUtil.isDate,
- nodeIsMap = nodeUtil && nodeUtil.isMap,
- nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,
- nodeIsSet = nodeUtil && nodeUtil.isSet,
- nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
-
- /*--------------------------------------------------------------------------*/
-
- /**
- * Adds the key-value `pair` to `map`.
- *
- * @private
- * @param {Object} map The map to modify.
- * @param {Array} pair The key-value pair to add.
- * @returns {Object} Returns `map`.
- */
- function addMapEntry(map, pair) {
- // Don't return `map.set` because it's not chainable in IE 11.
- map.set(pair[0], pair[1]);
- return map;
- }
-
- /**
- * Adds `value` to `set`.
- *
- * @private
- * @param {Object} set The set to modify.
- * @param {*} value The value to add.
- * @returns {Object} Returns `set`.
- */
- function addSetEntry(set, value) {
- // Don't return `set.add` because it's not chainable in IE 11.
- set.add(value);
- return set;
- }
-
- /**
- * A faster alternative to `Function#apply`, this function invokes `func`
- * with the `this` binding of `thisArg` and the arguments of `args`.
- *
- * @private
- * @param {Function} func The function to invoke.
- * @param {*} thisArg The `this` binding of `func`.
- * @param {Array} args The arguments to invoke `func` with.
- * @returns {*} Returns the result of `func`.
- */
- function apply(func, thisArg, args) {
- switch (args.length) {
- case 0: return func.call(thisArg);
- case 1: return func.call(thisArg, args[0]);
- case 2: return func.call(thisArg, args[0], args[1]);
- case 3: return func.call(thisArg, args[0], args[1], args[2]);
- }
- return func.apply(thisArg, args);
- }
-
- /**
- * A specialized version of `baseAggregator` for arrays.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} setter The function to set `accumulator` values.
- * @param {Function} iteratee The iteratee to transform keys.
- * @param {Object} accumulator The initial aggregated object.
- * @returns {Function} Returns `accumulator`.
- */
- function arrayAggregator(array, setter, iteratee, accumulator) {
- var index = -1,
- length = array == null ? 0 : array.length;
-
- while (++index < length) {
- var value = array[index];
- setter(accumulator, value, iteratee(value), array);
- }
- return accumulator;
- }
-
- /**
- * A specialized version of `_.forEach` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns `array`.
- */
- function arrayEach(array, iteratee) {
- var index = -1,
- length = array == null ? 0 : array.length;
-
- while (++index < length) {
- if (iteratee(array[index], index, array) === false) {
- break;
- }
- }
- return array;
- }
-
- /**
- * A specialized version of `_.forEachRight` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns `array`.
- */
- function arrayEachRight(array, iteratee) {
- var length = array == null ? 0 : array.length;
-
- while (length--) {
- if (iteratee(array[length], length, array) === false) {
- break;
- }
- }
- return array;
- }
-
- /**
- * A specialized version of `_.every` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {boolean} Returns `true` if all elements pass the predicate check,
- * else `false`.
- */
- function arrayEvery(array, predicate) {
- var index = -1,
- length = array == null ? 0 : array.length;
-
- while (++index < length) {
- if (!predicate(array[index], index, array)) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * A specialized version of `_.filter` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {Array} Returns the new filtered array.
- */
- function arrayFilter(array, predicate) {
- var index = -1,
- length = array == null ? 0 : array.length,
- resIndex = 0,
- result = [];
-
- while (++index < length) {
- var value = array[index];
- if (predicate(value, index, array)) {
- result[resIndex++] = value;
- }
- }
- return result;
- }
-
- /**
- * A specialized version of `_.includes` for arrays without support for
- * specifying an index to search from.
- *
- * @private
- * @param {Array} [array] The array to inspect.
- * @param {*} target The value to search for.
- * @returns {boolean} Returns `true` if `target` is found, else `false`.
- */
- function arrayIncludes(array, value) {
- var length = array == null ? 0 : array.length;
- return !!length && baseIndexOf(array, value, 0) > -1;
- }
-
- /**
- * This function is like `arrayIncludes` except that it accepts a comparator.
- *
- * @private
- * @param {Array} [array] The array to inspect.
- * @param {*} target The value to search for.
- * @param {Function} comparator The comparator invoked per element.
- * @returns {boolean} Returns `true` if `target` is found, else `false`.
- */
- function arrayIncludesWith(array, value, comparator) {
- var index = -1,
- length = array == null ? 0 : array.length;
-
- while (++index < length) {
- if (comparator(value, array[index])) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * A specialized version of `_.map` for arrays without support for iteratee
- * shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns the new mapped array.
- */
- function arrayMap(array, iteratee) {
- var index = -1,
- length = array == null ? 0 : array.length,
- result = Array(length);
-
- while (++index < length) {
- result[index] = iteratee(array[index], index, array);
- }
- return result;
- }
-
- /**
- * Appends the elements of `values` to `array`.
- *
- * @private
- * @param {Array} array The array to modify.
- * @param {Array} values The values to append.
- * @returns {Array} Returns `array`.
- */
- function arrayPush(array, values) {
- var index = -1,
- length = values.length,
- offset = array.length;
-
- while (++index < length) {
- array[offset + index] = values[index];
- }
- return array;
- }
-
- /**
- * A specialized version of `_.reduce` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {*} [accumulator] The initial value.
- * @param {boolean} [initAccum] Specify using the first element of `array` as
- * the initial value.
- * @returns {*} Returns the accumulated value.
- */
- function arrayReduce(array, iteratee, accumulator, initAccum) {
- var index = -1,
- length = array == null ? 0 : array.length;
-
- if (initAccum && length) {
- accumulator = array[++index];
- }
- while (++index < length) {
- accumulator = iteratee(accumulator, array[index], index, array);
- }
- return accumulator;
- }
-
- /**
- * A specialized version of `_.reduceRight` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {*} [accumulator] The initial value.
- * @param {boolean} [initAccum] Specify using the last element of `array` as
- * the initial value.
- * @returns {*} Returns the accumulated value.
- */
- function arrayReduceRight(array, iteratee, accumulator, initAccum) {
- var length = array == null ? 0 : array.length;
- if (initAccum && length) {
- accumulator = array[--length];
- }
- while (length--) {
- accumulator = iteratee(accumulator, array[length], length, array);
- }
- return accumulator;
- }
-
- /**
- * A specialized version of `_.some` for arrays without support for iteratee
- * shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {boolean} Returns `true` if any element passes the predicate check,
- * else `false`.
- */
- function arraySome(array, predicate) {
- var index = -1,
- length = array == null ? 0 : array.length;
-
- while (++index < length) {
- if (predicate(array[index], index, array)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Gets the size of an ASCII `string`.
- *
- * @private
- * @param {string} string The string inspect.
- * @returns {number} Returns the string size.
- */
- var asciiSize = baseProperty('length');
-
- /**
- * Converts an ASCII `string` to an array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the converted array.
- */
- function asciiToArray(string) {
- return string.split('');
- }
-
- /**
- * Splits an ASCII `string` into an array of its words.
- *
- * @private
- * @param {string} The string to inspect.
- * @returns {Array} Returns the words of `string`.
- */
- function asciiWords(string) {
- return string.match(reAsciiWord) || [];
- }
-
- /**
- * The base implementation of methods like `_.findKey` and `_.findLastKey`,
- * without support for iteratee shorthands, which iterates over `collection`
- * using `eachFunc`.
- *
- * @private
- * @param {Array|Object} collection The collection to inspect.
- * @param {Function} predicate The function invoked per iteration.
- * @param {Function} eachFunc The function to iterate over `collection`.
- * @returns {*} Returns the found element or its key, else `undefined`.
- */
- function baseFindKey(collection, predicate, eachFunc) {
- var result;
- eachFunc(collection, function(value, key, collection) {
- if (predicate(value, key, collection)) {
- result = key;
- return false;
- }
- });
- return result;
- }
-
- /**
- * The base implementation of `_.findIndex` and `_.findLastIndex` without
- * support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Function} predicate The function invoked per iteration.
- * @param {number} fromIndex The index to search from.
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function baseFindIndex(array, predicate, fromIndex, fromRight) {
- var length = array.length,
- index = fromIndex + (fromRight ? 1 : -1);
-
- while ((fromRight ? index-- : ++index < length)) {
- if (predicate(array[index], index, array)) {
- return index;
- }
- }
- return -1;
- }
-
- /**
- * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} fromIndex The index to search from.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function baseIndexOf(array, value, fromIndex) {
- return value === value
- ? strictIndexOf(array, value, fromIndex)
- : baseFindIndex(array, baseIsNaN, fromIndex);
- }
-
- /**
- * This function is like `baseIndexOf` except that it accepts a comparator.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} fromIndex The index to search from.
- * @param {Function} comparator The comparator invoked per element.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function baseIndexOfWith(array, value, fromIndex, comparator) {
- var index = fromIndex - 1,
- length = array.length;
-
- while (++index < length) {
- if (comparator(array[index], value)) {
- return index;
- }
- }
- return -1;
- }
-
- /**
- * The base implementation of `_.isNaN` without support for number objects.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
- */
- function baseIsNaN(value) {
- return value !== value;
- }
-
- /**
- * The base implementation of `_.mean` and `_.meanBy` without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {number} Returns the mean.
- */
- function baseMean(array, iteratee) {
- var length = array == null ? 0 : array.length;
- return length ? (baseSum(array, iteratee) / length) : NAN;
- }
-
- /**
- * The base implementation of `_.property` without support for deep paths.
- *
- * @private
- * @param {string} key The key of the property to get.
- * @returns {Function} Returns the new accessor function.
- */
- function baseProperty(key) {
- return function(object) {
- return object == null ? undefined : object[key];
- };
- }
-
- /**
- * The base implementation of `_.propertyOf` without support for deep paths.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Function} Returns the new accessor function.
- */
- function basePropertyOf(object) {
- return function(key) {
- return object == null ? undefined : object[key];
- };
- }
-
- /**
- * The base implementation of `_.reduce` and `_.reduceRight`, without support
- * for iteratee shorthands, which iterates over `collection` using `eachFunc`.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {*} accumulator The initial value.
- * @param {boolean} initAccum Specify using the first or last element of
- * `collection` as the initial value.
- * @param {Function} eachFunc The function to iterate over `collection`.
- * @returns {*} Returns the accumulated value.
- */
- function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
- eachFunc(collection, function(value, index, collection) {
- accumulator = initAccum
- ? (initAccum = false, value)
- : iteratee(accumulator, value, index, collection);
- });
- return accumulator;
- }
-
- /**
- * The base implementation of `_.sortBy` which uses `comparer` to define the
- * sort order of `array` and replaces criteria objects with their corresponding
- * values.
- *
- * @private
- * @param {Array} array The array to sort.
- * @param {Function} comparer The function to define sort order.
- * @returns {Array} Returns `array`.
- */
- function baseSortBy(array, comparer) {
- var length = array.length;
-
- array.sort(comparer);
- while (length--) {
- array[length] = array[length].value;
- }
- return array;
- }
-
- /**
- * The base implementation of `_.sum` and `_.sumBy` without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {number} Returns the sum.
- */
- function baseSum(array, iteratee) {
- var result,
- index = -1,
- length = array.length;
-
- while (++index < length) {
- var current = iteratee(array[index]);
- if (current !== undefined) {
- result = result === undefined ? current : (result + current);
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.times` without support for iteratee shorthands
- * or max array length checks.
- *
- * @private
- * @param {number} n The number of times to invoke `iteratee`.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns the array of results.
- */
- function baseTimes(n, iteratee) {
- var index = -1,
- result = Array(n);
-
- while (++index < n) {
- result[index] = iteratee(index);
- }
- return result;
- }
-
- /**
- * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array
- * of key-value pairs for `object` corresponding to the property names of `props`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array} props The property names to get values for.
- * @returns {Object} Returns the key-value pairs.
- */
- function baseToPairs(object, props) {
- return arrayMap(props, function(key) {
- return [key, object[key]];
- });
- }
-
- /**
- * The base implementation of `_.unary` without support for storing metadata.
- *
- * @private
- * @param {Function} func The function to cap arguments for.
- * @returns {Function} Returns the new capped function.
- */
- function baseUnary(func) {
- return function(value) {
- return func(value);
- };
- }
-
- /**
- * The base implementation of `_.values` and `_.valuesIn` which creates an
- * array of `object` property values corresponding to the property names
- * of `props`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array} props The property names to get values for.
- * @returns {Object} Returns the array of property values.
- */
- function baseValues(object, props) {
- return arrayMap(props, function(key) {
- return object[key];
- });
- }
-
- /**
- * Checks if a `cache` value for `key` exists.
- *
- * @private
- * @param {Object} cache The cache to query.
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function cacheHas(cache, key) {
- return cache.has(key);
- }
-
- /**
- * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol
- * that is not found in the character symbols.
- *
- * @private
- * @param {Array} strSymbols The string symbols to inspect.
- * @param {Array} chrSymbols The character symbols to find.
- * @returns {number} Returns the index of the first unmatched string symbol.
- */
- function charsStartIndex(strSymbols, chrSymbols) {
- var index = -1,
- length = strSymbols.length;
-
- while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}
- return index;
- }
-
- /**
- * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol
- * that is not found in the character symbols.
- *
- * @private
- * @param {Array} strSymbols The string symbols to inspect.
- * @param {Array} chrSymbols The character symbols to find.
- * @returns {number} Returns the index of the last unmatched string symbol.
- */
- function charsEndIndex(strSymbols, chrSymbols) {
- var index = strSymbols.length;
-
- while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}
- return index;
- }
-
- /**
- * Gets the number of `placeholder` occurrences in `array`.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} placeholder The placeholder to search for.
- * @returns {number} Returns the placeholder count.
- */
- function countHolders(array, placeholder) {
- var length = array.length,
- result = 0;
-
- while (length--) {
- if (array[length] === placeholder) {
- ++result;
- }
- }
- return result;
- }
-
- /**
- * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A
- * letters to basic Latin letters.
- *
- * @private
- * @param {string} letter The matched letter to deburr.
- * @returns {string} Returns the deburred letter.
- */
- var deburrLetter = basePropertyOf(deburredLetters);
-
- /**
- * Used by `_.escape` to convert characters to HTML entities.
- *
- * @private
- * @param {string} chr The matched character to escape.
- * @returns {string} Returns the escaped character.
- */
- var escapeHtmlChar = basePropertyOf(htmlEscapes);
-
- /**
- * Used by `_.template` to escape characters for inclusion in compiled string literals.
- *
- * @private
- * @param {string} chr The matched character to escape.
- * @returns {string} Returns the escaped character.
- */
- function escapeStringChar(chr) {
- return '\\' + stringEscapes[chr];
- }
-
- /**
- * Gets the value at `key` of `object`.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {string} key The key of the property to get.
- * @returns {*} Returns the property value.
- */
- function getValue(object, key) {
- return object == null ? undefined : object[key];
- }
-
- /**
- * Checks if `string` contains Unicode symbols.
- *
- * @private
- * @param {string} string The string to inspect.
- * @returns {boolean} Returns `true` if a symbol is found, else `false`.
- */
- function hasUnicode(string) {
- return reHasUnicode.test(string);
- }
-
- /**
- * Checks if `string` contains a word composed of Unicode symbols.
- *
- * @private
- * @param {string} string The string to inspect.
- * @returns {boolean} Returns `true` if a word is found, else `false`.
- */
- function hasUnicodeWord(string) {
- return reHasUnicodeWord.test(string);
- }
-
- /**
- * Converts `iterator` to an array.
- *
- * @private
- * @param {Object} iterator The iterator to convert.
- * @returns {Array} Returns the converted array.
- */
- function iteratorToArray(iterator) {
- var data,
- result = [];
-
- while (!(data = iterator.next()).done) {
- result.push(data.value);
- }
- return result;
- }
-
- /**
- * Converts `map` to its key-value pairs.
- *
- * @private
- * @param {Object} map The map to convert.
- * @returns {Array} Returns the key-value pairs.
- */
- function mapToArray(map) {
- var index = -1,
- result = Array(map.size);
-
- map.forEach(function(value, key) {
- result[++index] = [key, value];
- });
- return result;
- }
-
- /**
- * Creates a unary function that invokes `func` with its argument transformed.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {Function} transform The argument transform.
- * @returns {Function} Returns the new function.
- */
- function overArg(func, transform) {
- return function(arg) {
- return func(transform(arg));
- };
- }
-
- /**
- * Replaces all `placeholder` elements in `array` with an internal placeholder
- * and returns an array of their indexes.
- *
- * @private
- * @param {Array} array The array to modify.
- * @param {*} placeholder The placeholder to replace.
- * @returns {Array} Returns the new array of placeholder indexes.
- */
- function replaceHolders(array, placeholder) {
- var index = -1,
- length = array.length,
- resIndex = 0,
- result = [];
-
- while (++index < length) {
- var value = array[index];
- if (value === placeholder || value === PLACEHOLDER) {
- array[index] = PLACEHOLDER;
- result[resIndex++] = index;
- }
- }
- return result;
- }
-
- /**
- * Converts `set` to an array of its values.
- *
- * @private
- * @param {Object} set The set to convert.
- * @returns {Array} Returns the values.
- */
- function setToArray(set) {
- var index = -1,
- result = Array(set.size);
-
- set.forEach(function(value) {
- result[++index] = value;
- });
- return result;
- }
-
- /**
- * Converts `set` to its value-value pairs.
- *
- * @private
- * @param {Object} set The set to convert.
- * @returns {Array} Returns the value-value pairs.
- */
- function setToPairs(set) {
- var index = -1,
- result = Array(set.size);
-
- set.forEach(function(value) {
- result[++index] = [value, value];
- });
- return result;
- }
-
- /**
- * A specialized version of `_.indexOf` which performs strict equality
- * comparisons of values, i.e. `===`.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} fromIndex The index to search from.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function strictIndexOf(array, value, fromIndex) {
- var index = fromIndex - 1,
- length = array.length;
-
- while (++index < length) {
- if (array[index] === value) {
- return index;
- }
- }
- return -1;
- }
-
- /**
- * A specialized version of `_.lastIndexOf` which performs strict equality
- * comparisons of values, i.e. `===`.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} fromIndex The index to search from.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function strictLastIndexOf(array, value, fromIndex) {
- var index = fromIndex + 1;
- while (index--) {
- if (array[index] === value) {
- return index;
- }
- }
- return index;
- }
-
- /**
- * Gets the number of symbols in `string`.
- *
- * @private
- * @param {string} string The string to inspect.
- * @returns {number} Returns the string size.
- */
- function stringSize(string) {
- return hasUnicode(string)
- ? unicodeSize(string)
- : asciiSize(string);
- }
-
- /**
- * Converts `string` to an array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the converted array.
- */
- function stringToArray(string) {
- return hasUnicode(string)
- ? unicodeToArray(string)
- : asciiToArray(string);
- }
-
- /**
- * Used by `_.unescape` to convert HTML entities to characters.
- *
- * @private
- * @param {string} chr The matched character to unescape.
- * @returns {string} Returns the unescaped character.
- */
- var unescapeHtmlChar = basePropertyOf(htmlUnescapes);
-
- /**
- * Gets the size of a Unicode `string`.
- *
- * @private
- * @param {string} string The string inspect.
- * @returns {number} Returns the string size.
- */
- function unicodeSize(string) {
- var result = reUnicode.lastIndex = 0;
- while (reUnicode.test(string)) {
- ++result;
- }
- return result;
- }
-
- /**
- * Converts a Unicode `string` to an array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the converted array.
- */
- function unicodeToArray(string) {
- return string.match(reUnicode) || [];
- }
-
- /**
- * Splits a Unicode `string` into an array of its words.
- *
- * @private
- * @param {string} The string to inspect.
- * @returns {Array} Returns the words of `string`.
- */
- function unicodeWords(string) {
- return string.match(reUnicodeWord) || [];
- }
-
- /*--------------------------------------------------------------------------*/
-
- /**
- * Create a new pristine `lodash` function using the `context` object.
- *
- * @static
- * @memberOf _
- * @since 1.1.0
- * @category Util
- * @param {Object} [context=root] The context object.
- * @returns {Function} Returns a new `lodash` function.
- * @example
- *
- * _.mixin({ 'foo': _.constant('foo') });
- *
- * var lodash = _.runInContext();
- * lodash.mixin({ 'bar': lodash.constant('bar') });
- *
- * _.isFunction(_.foo);
- * // => true
- * _.isFunction(_.bar);
- * // => false
- *
- * lodash.isFunction(lodash.foo);
- * // => false
- * lodash.isFunction(lodash.bar);
- * // => true
- *
- * // Create a suped-up `defer` in Node.js.
- * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;
- */
- var runInContext = (function runInContext(context) {
- context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));
-
- /** Built-in constructor references. */
- var Array = context.Array,
- Date = context.Date,
- Error = context.Error,
- Function = context.Function,
- Math = context.Math,
- Object = context.Object,
- RegExp = context.RegExp,
- String = context.String,
- TypeError = context.TypeError;
-
- /** Used for built-in method references. */
- var arrayProto = Array.prototype,
- funcProto = Function.prototype,
- objectProto = Object.prototype;
-
- /** Used to detect overreaching core-js shims. */
- var coreJsData = context['__core-js_shared__'];
-
- /** Used to resolve the decompiled source of functions. */
- var funcToString = funcProto.toString;
-
- /** Used to check objects for own properties. */
- var hasOwnProperty = objectProto.hasOwnProperty;
-
- /** Used to generate unique IDs. */
- var idCounter = 0;
-
- /** Used to detect methods masquerading as native. */
- var maskSrcKey = (function() {
- var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
- return uid ? ('Symbol(src)_1.' + uid) : '';
- }());
-
- /**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
- * of values.
- */
- var nativeObjectToString = objectProto.toString;
-
- /** Used to infer the `Object` constructor. */
- var objectCtorString = funcToString.call(Object);
-
- /** Used to restore the original `_` reference in `_.noConflict`. */
- var oldDash = root._;
-
- /** Used to detect if a method is native. */
- var reIsNative = RegExp('^' +
- funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
- .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
- );
-
- /** Built-in value references. */
- var Buffer = moduleExports ? context.Buffer : undefined,
- Symbol = context.Symbol,
- Uint8Array = context.Uint8Array,
- allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,
- getPrototype = overArg(Object.getPrototypeOf, Object),
- objectCreate = Object.create,
- propertyIsEnumerable = objectProto.propertyIsEnumerable,
- splice = arrayProto.splice,
- spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,
- symIterator = Symbol ? Symbol.iterator : undefined,
- symToStringTag = Symbol ? Symbol.toStringTag : undefined;
-
- var defineProperty = (function() {
- try {
- var func = getNative(Object, 'defineProperty');
- func({}, '', {});
- return func;
- } catch (e) {}
- }());
-
- /** Mocked built-ins. */
- var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,
- ctxNow = Date && Date.now !== root.Date.now && Date.now,
- ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;
-
- /* Built-in method references for those with the same name as other `lodash` methods. */
- var nativeCeil = Math.ceil,
- nativeFloor = Math.floor,
- nativeGetSymbols = Object.getOwnPropertySymbols,
- nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,
- nativeIsFinite = context.isFinite,
- nativeJoin = arrayProto.join,
- nativeKeys = overArg(Object.keys, Object),
- nativeMax = Math.max,
- nativeMin = Math.min,
- nativeNow = Date.now,
- nativeParseInt = context.parseInt,
- nativeRandom = Math.random,
- nativeReverse = arrayProto.reverse;
-
- /* Built-in method references that are verified to be native. */
- var DataView = getNative(context, 'DataView'),
- Map = getNative(context, 'Map'),
- Promise = getNative(context, 'Promise'),
- Set = getNative(context, 'Set'),
- WeakMap = getNative(context, 'WeakMap'),
- nativeCreate = getNative(Object, 'create');
-
- /** Used to store function metadata. */
- var metaMap = WeakMap && new WeakMap;
-
- /** Used to lookup unminified function names. */
- var realNames = {};
-
- /** Used to detect maps, sets, and weakmaps. */
- var dataViewCtorString = toSource(DataView),
- mapCtorString = toSource(Map),
- promiseCtorString = toSource(Promise),
- setCtorString = toSource(Set),
- weakMapCtorString = toSource(WeakMap);
-
- /** Used to convert symbols to primitives and strings. */
- var symbolProto = Symbol ? Symbol.prototype : undefined,
- symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,
- symbolToString = symbolProto ? symbolProto.toString : undefined;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates a `lodash` object which wraps `value` to enable implicit method
- * chain sequences. Methods that operate on and return arrays, collections,
- * and functions can be chained together. Methods that retrieve a single value
- * or may return a primitive value will automatically end the chain sequence
- * and return the unwrapped value. Otherwise, the value must be unwrapped
- * with `_#value`.
- *
- * Explicit chain sequences, which must be unwrapped with `_#value`, may be
- * enabled using `_.chain`.
- *
- * The execution of chained methods is lazy, that is, it's deferred until
- * `_#value` is implicitly or explicitly called.
- *
- * Lazy evaluation allows several methods to support shortcut fusion.
- * Shortcut fusion is an optimization to merge iteratee calls; this avoids
- * the creation of intermediate arrays and can greatly reduce the number of
- * iteratee executions. Sections of a chain sequence qualify for shortcut
- * fusion if the section is applied to an array and iteratees accept only
- * one argument. The heuristic for whether a section qualifies for shortcut
- * fusion is subject to change.
- *
- * Chaining is supported in custom builds as long as the `_#value` method is
- * directly or indirectly included in the build.
- *
- * In addition to lodash methods, wrappers have `Array` and `String` methods.
- *
- * The wrapper `Array` methods are:
- * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`
- *
- * The wrapper `String` methods are:
- * `replace` and `split`
- *
- * The wrapper methods that support shortcut fusion are:
- * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,
- * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,
- * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`
- *
- * The chainable wrapper methods are:
- * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,
- * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,
- * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,
- * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,
- * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,
- * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,
- * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,
- * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,
- * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,
- * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,
- * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
- * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,
- * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,
- * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,
- * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,
- * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,
- * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,
- * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,
- * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,
- * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,
- * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,
- * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,
- * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,
- * `zipObject`, `zipObjectDeep`, and `zipWith`
- *
- * The wrapper methods that are **not** chainable by default are:
- * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
- * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,
- * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,
- * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,
- * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,
- * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,
- * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,
- * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,
- * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,
- * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,
- * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,
- * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,
- * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,
- * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,
- * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,
- * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,
- * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,
- * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,
- * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,
- * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,
- * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,
- * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,
- * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,
- * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,
- * `upperFirst`, `value`, and `words`
- *
- * @name _
- * @constructor
- * @category Seq
- * @param {*} value The value to wrap in a `lodash` instance.
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * function square(n) {
- * return n * n;
- * }
- *
- * var wrapped = _([1, 2, 3]);
- *
- * // Returns an unwrapped value.
- * wrapped.reduce(_.add);
- * // => 6
- *
- * // Returns a wrapped value.
- * var squares = wrapped.map(square);
- *
- * _.isArray(squares);
- * // => false
- *
- * _.isArray(squares.value());
- * // => true
- */
- function lodash(value) {
- if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
- if (value instanceof LodashWrapper) {
- return value;
- }
- if (hasOwnProperty.call(value, '__wrapped__')) {
- return wrapperClone(value);
- }
- }
- return new LodashWrapper(value);
- }
-
- /**
- * The base implementation of `_.create` without support for assigning
- * properties to the created object.
- *
- * @private
- * @param {Object} proto The object to inherit from.
- * @returns {Object} Returns the new object.
- */
- var baseCreate = (function() {
- function object() {}
- return function(proto) {
- if (!isObject(proto)) {
- return {};
- }
- if (objectCreate) {
- return objectCreate(proto);
- }
- object.prototype = proto;
- var result = new object;
- object.prototype = undefined;
- return result;
- };
- }());
-
- /**
- * The function whose prototype chain sequence wrappers inherit from.
- *
- * @private
- */
- function baseLodash() {
- // No operation performed.
- }
-
- /**
- * The base constructor for creating `lodash` wrapper objects.
- *
- * @private
- * @param {*} value The value to wrap.
- * @param {boolean} [chainAll] Enable explicit method chain sequences.
- */
- function LodashWrapper(value, chainAll) {
- this.__wrapped__ = value;
- this.__actions__ = [];
- this.__chain__ = !!chainAll;
- this.__index__ = 0;
- this.__values__ = undefined;
- }
-
- /**
- * By default, the template delimiters used by lodash are like those in
- * embedded Ruby (ERB) as well as ES2015 template strings. Change the
- * following template settings to use alternative delimiters.
- *
- * @static
- * @memberOf _
- * @type {Object}
- */
- lodash.templateSettings = {
-
- /**
- * Used to detect `data` property values to be HTML-escaped.
- *
- * @memberOf _.templateSettings
- * @type {RegExp}
- */
- 'escape': reEscape,
-
- /**
- * Used to detect code to be evaluated.
- *
- * @memberOf _.templateSettings
- * @type {RegExp}
- */
- 'evaluate': reEvaluate,
-
- /**
- * Used to detect `data` property values to inject.
- *
- * @memberOf _.templateSettings
- * @type {RegExp}
- */
- 'interpolate': reInterpolate,
-
- /**
- * Used to reference the data object in the template text.
- *
- * @memberOf _.templateSettings
- * @type {string}
- */
- 'variable': '',
-
- /**
- * Used to import variables into the compiled template.
- *
- * @memberOf _.templateSettings
- * @type {Object}
- */
- 'imports': {
-
- /**
- * A reference to the `lodash` function.
- *
- * @memberOf _.templateSettings.imports
- * @type {Function}
- */
- '_': lodash
- }
- };
-
- // Ensure wrappers are instances of `baseLodash`.
- lodash.prototype = baseLodash.prototype;
- lodash.prototype.constructor = lodash;
-
- LodashWrapper.prototype = baseCreate(baseLodash.prototype);
- LodashWrapper.prototype.constructor = LodashWrapper;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.
- *
- * @private
- * @constructor
- * @param {*} value The value to wrap.
- */
- function LazyWrapper(value) {
- this.__wrapped__ = value;
- this.__actions__ = [];
- this.__dir__ = 1;
- this.__filtered__ = false;
- this.__iteratees__ = [];
- this.__takeCount__ = MAX_ARRAY_LENGTH;
- this.__views__ = [];
- }
-
- /**
- * Creates a clone of the lazy wrapper object.
- *
- * @private
- * @name clone
- * @memberOf LazyWrapper
- * @returns {Object} Returns the cloned `LazyWrapper` object.
- */
- function lazyClone() {
- var result = new LazyWrapper(this.__wrapped__);
- result.__actions__ = copyArray(this.__actions__);
- result.__dir__ = this.__dir__;
- result.__filtered__ = this.__filtered__;
- result.__iteratees__ = copyArray(this.__iteratees__);
- result.__takeCount__ = this.__takeCount__;
- result.__views__ = copyArray(this.__views__);
- return result;
- }
-
- /**
- * Reverses the direction of lazy iteration.
- *
- * @private
- * @name reverse
- * @memberOf LazyWrapper
- * @returns {Object} Returns the new reversed `LazyWrapper` object.
- */
- function lazyReverse() {
- if (this.__filtered__) {
- var result = new LazyWrapper(this);
- result.__dir__ = -1;
- result.__filtered__ = true;
- } else {
- result = this.clone();
- result.__dir__ *= -1;
- }
- return result;
- }
-
- /**
- * Extracts the unwrapped value from its lazy wrapper.
- *
- * @private
- * @name value
- * @memberOf LazyWrapper
- * @returns {*} Returns the unwrapped value.
- */
- function lazyValue() {
- var array = this.__wrapped__.value(),
- dir = this.__dir__,
- isArr = isArray(array),
- isRight = dir < 0,
- arrLength = isArr ? array.length : 0,
- view = getView(0, arrLength, this.__views__),
- start = view.start,
- end = view.end,
- length = end - start,
- index = isRight ? end : (start - 1),
- iteratees = this.__iteratees__,
- iterLength = iteratees.length,
- resIndex = 0,
- takeCount = nativeMin(length, this.__takeCount__);
-
- if (!isArr || (!isRight && arrLength == length && takeCount == length)) {
- return baseWrapperValue(array, this.__actions__);
- }
- var result = [];
-
- outer:
- while (length-- && resIndex < takeCount) {
- index += dir;
-
- var iterIndex = -1,
- value = array[index];
-
- while (++iterIndex < iterLength) {
- var data = iteratees[iterIndex],
- iteratee = data.iteratee,
- type = data.type,
- computed = iteratee(value);
-
- if (type == LAZY_MAP_FLAG) {
- value = computed;
- } else if (!computed) {
- if (type == LAZY_FILTER_FLAG) {
- continue outer;
- } else {
- break outer;
- }
- }
- }
- result[resIndex++] = value;
- }
- return result;
- }
-
- // Ensure `LazyWrapper` is an instance of `baseLodash`.
- LazyWrapper.prototype = baseCreate(baseLodash.prototype);
- LazyWrapper.prototype.constructor = LazyWrapper;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates a hash object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function Hash(entries) {
- var index = -1,
- length = entries == null ? 0 : entries.length;
-
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
-
- /**
- * Removes all key-value entries from the hash.
- *
- * @private
- * @name clear
- * @memberOf Hash
- */
- function hashClear() {
- this.__data__ = nativeCreate ? nativeCreate(null) : {};
- this.size = 0;
- }
-
- /**
- * Removes `key` and its value from the hash.
- *
- * @private
- * @name delete
- * @memberOf Hash
- * @param {Object} hash The hash to modify.
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function hashDelete(key) {
- var result = this.has(key) && delete this.__data__[key];
- this.size -= result ? 1 : 0;
- return result;
- }
-
- /**
- * Gets the hash value for `key`.
- *
- * @private
- * @name get
- * @memberOf Hash
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function hashGet(key) {
- var data = this.__data__;
- if (nativeCreate) {
- var result = data[key];
- return result === HASH_UNDEFINED ? undefined : result;
- }
- return hasOwnProperty.call(data, key) ? data[key] : undefined;
- }
-
- /**
- * Checks if a hash value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf Hash
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function hashHas(key) {
- var data = this.__data__;
- return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
- }
-
- /**
- * Sets the hash `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf Hash
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the hash instance.
- */
- function hashSet(key, value) {
- var data = this.__data__;
- this.size += this.has(key) ? 0 : 1;
- data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
- return this;
- }
-
- // Add methods to `Hash`.
- Hash.prototype.clear = hashClear;
- Hash.prototype['delete'] = hashDelete;
- Hash.prototype.get = hashGet;
- Hash.prototype.has = hashHas;
- Hash.prototype.set = hashSet;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates an list cache object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function ListCache(entries) {
- var index = -1,
- length = entries == null ? 0 : entries.length;
-
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
-
- /**
- * Removes all key-value entries from the list cache.
- *
- * @private
- * @name clear
- * @memberOf ListCache
- */
- function listCacheClear() {
- this.__data__ = [];
- this.size = 0;
- }
-
- /**
- * Removes `key` and its value from the list cache.
- *
- * @private
- * @name delete
- * @memberOf ListCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function listCacheDelete(key) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
-
- if (index < 0) {
- return false;
- }
- var lastIndex = data.length - 1;
- if (index == lastIndex) {
- data.pop();
- } else {
- splice.call(data, index, 1);
- }
- --this.size;
- return true;
- }
-
- /**
- * Gets the list cache value for `key`.
- *
- * @private
- * @name get
- * @memberOf ListCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function listCacheGet(key) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
-
- return index < 0 ? undefined : data[index][1];
- }
-
- /**
- * Checks if a list cache value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf ListCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function listCacheHas(key) {
- return assocIndexOf(this.__data__, key) > -1;
- }
-
- /**
- * Sets the list cache `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf ListCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the list cache instance.
- */
- function listCacheSet(key, value) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
-
- if (index < 0) {
- ++this.size;
- data.push([key, value]);
- } else {
- data[index][1] = value;
- }
- return this;
- }
-
- // Add methods to `ListCache`.
- ListCache.prototype.clear = listCacheClear;
- ListCache.prototype['delete'] = listCacheDelete;
- ListCache.prototype.get = listCacheGet;
- ListCache.prototype.has = listCacheHas;
- ListCache.prototype.set = listCacheSet;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates a map cache object to store key-value pairs.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function MapCache(entries) {
- var index = -1,
- length = entries == null ? 0 : entries.length;
-
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
-
- /**
- * Removes all key-value entries from the map.
- *
- * @private
- * @name clear
- * @memberOf MapCache
- */
- function mapCacheClear() {
- this.size = 0;
- this.__data__ = {
- 'hash': new Hash,
- 'map': new (Map || ListCache),
- 'string': new Hash
- };
- }
-
- /**
- * Removes `key` and its value from the map.
- *
- * @private
- * @name delete
- * @memberOf MapCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function mapCacheDelete(key) {
- var result = getMapData(this, key)['delete'](key);
- this.size -= result ? 1 : 0;
- return result;
- }
-
- /**
- * Gets the map value for `key`.
- *
- * @private
- * @name get
- * @memberOf MapCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function mapCacheGet(key) {
- return getMapData(this, key).get(key);
- }
-
- /**
- * Checks if a map value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf MapCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function mapCacheHas(key) {
- return getMapData(this, key).has(key);
- }
-
- /**
- * Sets the map `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf MapCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the map cache instance.
- */
- function mapCacheSet(key, value) {
- var data = getMapData(this, key),
- size = data.size;
-
- data.set(key, value);
- this.size += data.size == size ? 0 : 1;
- return this;
- }
-
- // Add methods to `MapCache`.
- MapCache.prototype.clear = mapCacheClear;
- MapCache.prototype['delete'] = mapCacheDelete;
- MapCache.prototype.get = mapCacheGet;
- MapCache.prototype.has = mapCacheHas;
- MapCache.prototype.set = mapCacheSet;
-
- /*------------------------------------------------------------------------*/
-
- /**
- *
- * Creates an array cache object to store unique values.
- *
- * @private
- * @constructor
- * @param {Array} [values] The values to cache.
- */
- function SetCache(values) {
- var index = -1,
- length = values == null ? 0 : values.length;
-
- this.__data__ = new MapCache;
- while (++index < length) {
- this.add(values[index]);
- }
- }
-
- /**
- * Adds `value` to the array cache.
- *
- * @private
- * @name add
- * @memberOf SetCache
- * @alias push
- * @param {*} value The value to cache.
- * @returns {Object} Returns the cache instance.
- */
- function setCacheAdd(value) {
- this.__data__.set(value, HASH_UNDEFINED);
- return this;
- }
-
- /**
- * Checks if `value` is in the array cache.
- *
- * @private
- * @name has
- * @memberOf SetCache
- * @param {*} value The value to search for.
- * @returns {number} Returns `true` if `value` is found, else `false`.
- */
- function setCacheHas(value) {
- return this.__data__.has(value);
- }
-
- // Add methods to `SetCache`.
- SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
- SetCache.prototype.has = setCacheHas;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates a stack cache object to store key-value pairs.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function Stack(entries) {
- var data = this.__data__ = new ListCache(entries);
- this.size = data.size;
- }
-
- /**
- * Removes all key-value entries from the stack.
- *
- * @private
- * @name clear
- * @memberOf Stack
- */
- function stackClear() {
- this.__data__ = new ListCache;
- this.size = 0;
- }
-
- /**
- * Removes `key` and its value from the stack.
- *
- * @private
- * @name delete
- * @memberOf Stack
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function stackDelete(key) {
- var data = this.__data__,
- result = data['delete'](key);
-
- this.size = data.size;
- return result;
- }
-
- /**
- * Gets the stack value for `key`.
- *
- * @private
- * @name get
- * @memberOf Stack
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function stackGet(key) {
- return this.__data__.get(key);
- }
-
- /**
- * Checks if a stack value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf Stack
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function stackHas(key) {
- return this.__data__.has(key);
- }
-
- /**
- * Sets the stack `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf Stack
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the stack cache instance.
- */
- function stackSet(key, value) {
- var data = this.__data__;
- if (data instanceof ListCache) {
- var pairs = data.__data__;
- if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
- pairs.push([key, value]);
- this.size = ++data.size;
- return this;
- }
- data = this.__data__ = new MapCache(pairs);
- }
- data.set(key, value);
- this.size = data.size;
- return this;
- }
-
- // Add methods to `Stack`.
- Stack.prototype.clear = stackClear;
- Stack.prototype['delete'] = stackDelete;
- Stack.prototype.get = stackGet;
- Stack.prototype.has = stackHas;
- Stack.prototype.set = stackSet;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates an array of the enumerable property names of the array-like `value`.
- *
- * @private
- * @param {*} value The value to query.
- * @param {boolean} inherited Specify returning inherited property names.
- * @returns {Array} Returns the array of property names.
- */
- function arrayLikeKeys(value, inherited) {
- var isArr = isArray(value),
- isArg = !isArr && isArguments(value),
- isBuff = !isArr && !isArg && isBuffer(value),
- isType = !isArr && !isArg && !isBuff && isTypedArray(value),
- skipIndexes = isArr || isArg || isBuff || isType,
- result = skipIndexes ? baseTimes(value.length, String) : [],
- length = result.length;
-
- for (var key in value) {
- if ((inherited || hasOwnProperty.call(value, key)) &&
- !(skipIndexes && (
- // Safari 9 has enumerable `arguments.length` in strict mode.
- key == 'length' ||
- // Node.js 0.10 has enumerable non-index properties on buffers.
- (isBuff && (key == 'offset' || key == 'parent')) ||
- // PhantomJS 2 has enumerable non-index properties on typed arrays.
- (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
- // Skip index properties.
- isIndex(key, length)
- ))) {
- result.push(key);
- }
- }
- return result;
- }
-
- /**
- * A specialized version of `_.sample` for arrays.
- *
- * @private
- * @param {Array} array The array to sample.
- * @returns {*} Returns the random element.
- */
- function arraySample(array) {
- var length = array.length;
- return length ? array[baseRandom(0, length - 1)] : undefined;
- }
-
- /**
- * A specialized version of `_.sampleSize` for arrays.
- *
- * @private
- * @param {Array} array The array to sample.
- * @param {number} n The number of elements to sample.
- * @returns {Array} Returns the random elements.
- */
- function arraySampleSize(array, n) {
- return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));
- }
-
- /**
- * A specialized version of `_.shuffle` for arrays.
- *
- * @private
- * @param {Array} array The array to shuffle.
- * @returns {Array} Returns the new shuffled array.
- */
- function arrayShuffle(array) {
- return shuffleSelf(copyArray(array));
- }
-
- /**
- * This function is like `assignValue` except that it doesn't assign
- * `undefined` values.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {string} key The key of the property to assign.
- * @param {*} value The value to assign.
- */
- function assignMergeValue(object, key, value) {
- if ((value !== undefined && !eq(object[key], value)) ||
- (value === undefined && !(key in object))) {
- baseAssignValue(object, key, value);
- }
- }
-
- /**
- * Assigns `value` to `key` of `object` if the existing value is not equivalent
- * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {string} key The key of the property to assign.
- * @param {*} value The value to assign.
- */
- function assignValue(object, key, value) {
- var objValue = object[key];
- if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
- (value === undefined && !(key in object))) {
- baseAssignValue(object, key, value);
- }
- }
-
- /**
- * Gets the index at which the `key` is found in `array` of key-value pairs.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} key The key to search for.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function assocIndexOf(array, key) {
- var length = array.length;
- while (length--) {
- if (eq(array[length][0], key)) {
- return length;
- }
- }
- return -1;
- }
-
- /**
- * Aggregates elements of `collection` on `accumulator` with keys transformed
- * by `iteratee` and values set by `setter`.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} setter The function to set `accumulator` values.
- * @param {Function} iteratee The iteratee to transform keys.
- * @param {Object} accumulator The initial aggregated object.
- * @returns {Function} Returns `accumulator`.
- */
- function baseAggregator(collection, setter, iteratee, accumulator) {
- baseEach(collection, function(value, key, collection) {
- setter(accumulator, value, iteratee(value), collection);
- });
- return accumulator;
- }
-
- /**
- * The base implementation of `_.assign` without support for multiple sources
- * or `customizer` functions.
- *
- * @private
- * @param {Object} object The destination object.
- * @param {Object} source The source object.
- * @returns {Object} Returns `object`.
- */
- function baseAssign(object, source) {
- return object && copyObject(source, keys(source), object);
- }
-
- /**
- * The base implementation of `_.assignIn` without support for multiple sources
- * or `customizer` functions.
- *
- * @private
- * @param {Object} object The destination object.
- * @param {Object} source The source object.
- * @returns {Object} Returns `object`.
- */
- function baseAssignIn(object, source) {
- return object && copyObject(source, keysIn(source), object);
- }
-
- /**
- * The base implementation of `assignValue` and `assignMergeValue` without
- * value checks.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {string} key The key of the property to assign.
- * @param {*} value The value to assign.
- */
- function baseAssignValue(object, key, value) {
- if (key == '__proto__' && defineProperty) {
- defineProperty(object, key, {
- 'configurable': true,
- 'enumerable': true,
- 'value': value,
- 'writable': true
- });
- } else {
- object[key] = value;
- }
- }
-
- /**
- * The base implementation of `_.at` without support for individual paths.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {string[]} paths The property paths to pick.
- * @returns {Array} Returns the picked elements.
- */
- function baseAt(object, paths) {
- var index = -1,
- length = paths.length,
- result = Array(length),
- skip = object == null;
-
- while (++index < length) {
- result[index] = skip ? undefined : get(object, paths[index]);
- }
- return result;
- }
-
- /**
- * The base implementation of `_.clamp` which doesn't coerce arguments.
- *
- * @private
- * @param {number} number The number to clamp.
- * @param {number} [lower] The lower bound.
- * @param {number} upper The upper bound.
- * @returns {number} Returns the clamped number.
- */
- function baseClamp(number, lower, upper) {
- if (number === number) {
- if (upper !== undefined) {
- number = number <= upper ? number : upper;
- }
- if (lower !== undefined) {
- number = number >= lower ? number : lower;
- }
- }
- return number;
- }
-
- /**
- * The base implementation of `_.clone` and `_.cloneDeep` which tracks
- * traversed objects.
- *
- * @private
- * @param {*} value The value to clone.
- * @param {boolean} bitmask The bitmask flags.
- * 1 - Deep clone
- * 2 - Flatten inherited properties
- * 4 - Clone symbols
- * @param {Function} [customizer] The function to customize cloning.
- * @param {string} [key] The key of `value`.
- * @param {Object} [object] The parent object of `value`.
- * @param {Object} [stack] Tracks traversed objects and their clone counterparts.
- * @returns {*} Returns the cloned value.
- */
- function baseClone(value, bitmask, customizer, key, object, stack) {
- var result,
- isDeep = bitmask & CLONE_DEEP_FLAG,
- isFlat = bitmask & CLONE_FLAT_FLAG,
- isFull = bitmask & CLONE_SYMBOLS_FLAG;
-
- if (customizer) {
- result = object ? customizer(value, key, object, stack) : customizer(value);
- }
- if (result !== undefined) {
- return result;
- }
- if (!isObject(value)) {
- return value;
- }
- var isArr = isArray(value);
- if (isArr) {
- result = initCloneArray(value);
- if (!isDeep) {
- return copyArray(value, result);
- }
- } else {
- var tag = getTag(value),
- isFunc = tag == funcTag || tag == genTag;
-
- if (isBuffer(value)) {
- return cloneBuffer(value, isDeep);
- }
- if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
- result = (isFlat || isFunc) ? {} : initCloneObject(value);
- if (!isDeep) {
- return isFlat
- ? copySymbolsIn(value, baseAssignIn(result, value))
- : copySymbols(value, baseAssign(result, value));
- }
- } else {
- if (!cloneableTags[tag]) {
- return object ? value : {};
- }
- result = initCloneByTag(value, tag, baseClone, isDeep);
- }
- }
- // Check for circular references and return its corresponding clone.
- stack || (stack = new Stack);
- var stacked = stack.get(value);
- if (stacked) {
- return stacked;
- }
- stack.set(value, result);
-
- var keysFunc = isFull
- ? (isFlat ? getAllKeysIn : getAllKeys)
- : (isFlat ? keysIn : keys);
-
- var props = isArr ? undefined : keysFunc(value);
- arrayEach(props || value, function(subValue, key) {
- if (props) {
- key = subValue;
- subValue = value[key];
- }
- // Recursively populate clone (susceptible to call stack limits).
- assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
- });
- return result;
- }
-
- /**
- * The base implementation of `_.conforms` which doesn't clone `source`.
- *
- * @private
- * @param {Object} source The object of property predicates to conform to.
- * @returns {Function} Returns the new spec function.
- */
- function baseConforms(source) {
- var props = keys(source);
- return function(object) {
- return baseConformsTo(object, source, props);
- };
- }
-
- /**
- * The base implementation of `_.conformsTo` which accepts `props` to check.
- *
- * @private
- * @param {Object} object The object to inspect.
- * @param {Object} source The object of property predicates to conform to.
- * @returns {boolean} Returns `true` if `object` conforms, else `false`.
- */
- function baseConformsTo(object, source, props) {
- var length = props.length;
- if (object == null) {
- return !length;
- }
- object = Object(object);
- while (length--) {
- var key = props[length],
- predicate = source[key],
- value = object[key];
-
- if ((value === undefined && !(key in object)) || !predicate(value)) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * The base implementation of `_.delay` and `_.defer` which accepts `args`
- * to provide to `func`.
- *
- * @private
- * @param {Function} func The function to delay.
- * @param {number} wait The number of milliseconds to delay invocation.
- * @param {Array} args The arguments to provide to `func`.
- * @returns {number|Object} Returns the timer id or timeout object.
- */
- function baseDelay(func, wait, args) {
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- return setTimeout(function() { func.apply(undefined, args); }, wait);
- }
-
- /**
- * The base implementation of methods like `_.difference` without support
- * for excluding multiple arrays or iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Array} values The values to exclude.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of filtered values.
- */
- function baseDifference(array, values, iteratee, comparator) {
- var index = -1,
- includes = arrayIncludes,
- isCommon = true,
- length = array.length,
- result = [],
- valuesLength = values.length;
-
- if (!length) {
- return result;
- }
- if (iteratee) {
- values = arrayMap(values, baseUnary(iteratee));
- }
- if (comparator) {
- includes = arrayIncludesWith;
- isCommon = false;
- }
- else if (values.length >= LARGE_ARRAY_SIZE) {
- includes = cacheHas;
- isCommon = false;
- values = new SetCache(values);
- }
- outer:
- while (++index < length) {
- var value = array[index],
- computed = iteratee == null ? value : iteratee(value);
-
- value = (comparator || value !== 0) ? value : 0;
- if (isCommon && computed === computed) {
- var valuesIndex = valuesLength;
- while (valuesIndex--) {
- if (values[valuesIndex] === computed) {
- continue outer;
- }
- }
- result.push(value);
- }
- else if (!includes(values, computed, comparator)) {
- result.push(value);
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.forEach` without support for iteratee shorthands.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array|Object} Returns `collection`.
- */
- var baseEach = createBaseEach(baseForOwn);
-
- /**
- * The base implementation of `_.forEachRight` without support for iteratee shorthands.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array|Object} Returns `collection`.
- */
- var baseEachRight = createBaseEach(baseForOwnRight, true);
-
- /**
- * The base implementation of `_.every` without support for iteratee shorthands.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {boolean} Returns `true` if all elements pass the predicate check,
- * else `false`
- */
- function baseEvery(collection, predicate) {
- var result = true;
- baseEach(collection, function(value, index, collection) {
- result = !!predicate(value, index, collection);
- return result;
- });
- return result;
- }
-
- /**
- * The base implementation of methods like `_.max` and `_.min` which accepts a
- * `comparator` to determine the extremum value.
- *
- * @private
- * @param {Array} array The array to iterate over.
- * @param {Function} iteratee The iteratee invoked per iteration.
- * @param {Function} comparator The comparator used to compare values.
- * @returns {*} Returns the extremum value.
- */
- function baseExtremum(array, iteratee, comparator) {
- var index = -1,
- length = array.length;
-
- while (++index < length) {
- var value = array[index],
- current = iteratee(value);
-
- if (current != null && (computed === undefined
- ? (current === current && !isSymbol(current))
- : comparator(current, computed)
- )) {
- var computed = current,
- result = value;
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.fill` without an iteratee call guard.
- *
- * @private
- * @param {Array} array The array to fill.
- * @param {*} value The value to fill `array` with.
- * @param {number} [start=0] The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns `array`.
- */
- function baseFill(array, value, start, end) {
- var length = array.length;
-
- start = toInteger(start);
- if (start < 0) {
- start = -start > length ? 0 : (length + start);
- }
- end = (end === undefined || end > length) ? length : toInteger(end);
- if (end < 0) {
- end += length;
- }
- end = start > end ? 0 : toLength(end);
- while (start < end) {
- array[start++] = value;
- }
- return array;
- }
-
- /**
- * The base implementation of `_.filter` without support for iteratee shorthands.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {Array} Returns the new filtered array.
- */
- function baseFilter(collection, predicate) {
- var result = [];
- baseEach(collection, function(value, index, collection) {
- if (predicate(value, index, collection)) {
- result.push(value);
- }
- });
- return result;
- }
-
- /**
- * The base implementation of `_.flatten` with support for restricting flattening.
- *
- * @private
- * @param {Array} array The array to flatten.
- * @param {number} depth The maximum recursion depth.
- * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
- * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
- * @param {Array} [result=[]] The initial result value.
- * @returns {Array} Returns the new flattened array.
- */
- function baseFlatten(array, depth, predicate, isStrict, result) {
- var index = -1,
- length = array.length;
-
- predicate || (predicate = isFlattenable);
- result || (result = []);
-
- while (++index < length) {
- var value = array[index];
- if (depth > 0 && predicate(value)) {
- if (depth > 1) {
- // Recursively flatten arrays (susceptible to call stack limits).
- baseFlatten(value, depth - 1, predicate, isStrict, result);
- } else {
- arrayPush(result, value);
- }
- } else if (!isStrict) {
- result[result.length] = value;
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `baseForOwn` which iterates over `object`
- * properties returned by `keysFunc` and invokes `iteratee` for each property.
- * Iteratee functions may exit iteration early by explicitly returning `false`.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {Function} keysFunc The function to get the keys of `object`.
- * @returns {Object} Returns `object`.
- */
- var baseFor = createBaseFor();
-
- /**
- * This function is like `baseFor` except that it iterates over properties
- * in the opposite order.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {Function} keysFunc The function to get the keys of `object`.
- * @returns {Object} Returns `object`.
- */
- var baseForRight = createBaseFor(true);
-
- /**
- * The base implementation of `_.forOwn` without support for iteratee shorthands.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Object} Returns `object`.
- */
- function baseForOwn(object, iteratee) {
- return object && baseFor(object, iteratee, keys);
- }
-
- /**
- * The base implementation of `_.forOwnRight` without support for iteratee shorthands.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Object} Returns `object`.
- */
- function baseForOwnRight(object, iteratee) {
- return object && baseForRight(object, iteratee, keys);
- }
-
- /**
- * The base implementation of `_.functions` which creates an array of
- * `object` function property names filtered from `props`.
- *
- * @private
- * @param {Object} object The object to inspect.
- * @param {Array} props The property names to filter.
- * @returns {Array} Returns the function names.
- */
- function baseFunctions(object, props) {
- return arrayFilter(props, function(key) {
- return isFunction(object[key]);
- });
- }
-
- /**
- * The base implementation of `_.get` without support for default values.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to get.
- * @returns {*} Returns the resolved value.
- */
- function baseGet(object, path) {
- path = castPath(path, object);
-
- var index = 0,
- length = path.length;
-
- while (object != null && index < length) {
- object = object[toKey(path[index++])];
- }
- return (index && index == length) ? object : undefined;
- }
-
- /**
- * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
- * `keysFunc` and `symbolsFunc` to get the enumerable property names and
- * symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Function} keysFunc The function to get the keys of `object`.
- * @param {Function} symbolsFunc The function to get the symbols of `object`.
- * @returns {Array} Returns the array of property names and symbols.
- */
- function baseGetAllKeys(object, keysFunc, symbolsFunc) {
- var result = keysFunc(object);
- return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
- }
-
- /**
- * The base implementation of `getTag` without fallbacks for buggy environments.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the `toStringTag`.
- */
- function baseGetTag(value) {
- if (value == null) {
- return value === undefined ? undefinedTag : nullTag;
- }
- return (symToStringTag && symToStringTag in Object(value))
- ? getRawTag(value)
- : objectToString(value);
- }
-
- /**
- * The base implementation of `_.gt` which doesn't coerce arguments.
- *
- * @private
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if `value` is greater than `other`,
- * else `false`.
- */
- function baseGt(value, other) {
- return value > other;
- }
-
- /**
- * The base implementation of `_.has` without support for deep paths.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {Array|string} key The key to check.
- * @returns {boolean} Returns `true` if `key` exists, else `false`.
- */
- function baseHas(object, key) {
- return object != null && hasOwnProperty.call(object, key);
- }
-
- /**
- * The base implementation of `_.hasIn` without support for deep paths.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {Array|string} key The key to check.
- * @returns {boolean} Returns `true` if `key` exists, else `false`.
- */
- function baseHasIn(object, key) {
- return object != null && key in Object(object);
- }
-
- /**
- * The base implementation of `_.inRange` which doesn't coerce arguments.
- *
- * @private
- * @param {number} number The number to check.
- * @param {number} start The start of the range.
- * @param {number} end The end of the range.
- * @returns {boolean} Returns `true` if `number` is in the range, else `false`.
- */
- function baseInRange(number, start, end) {
- return number >= nativeMin(start, end) && number < nativeMax(start, end);
- }
-
- /**
- * The base implementation of methods like `_.intersection`, without support
- * for iteratee shorthands, that accepts an array of arrays to inspect.
- *
- * @private
- * @param {Array} arrays The arrays to inspect.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of shared values.
- */
- function baseIntersection(arrays, iteratee, comparator) {
- var includes = comparator ? arrayIncludesWith : arrayIncludes,
- length = arrays[0].length,
- othLength = arrays.length,
- othIndex = othLength,
- caches = Array(othLength),
- maxLength = Infinity,
- result = [];
-
- while (othIndex--) {
- var array = arrays[othIndex];
- if (othIndex && iteratee) {
- array = arrayMap(array, baseUnary(iteratee));
- }
- maxLength = nativeMin(array.length, maxLength);
- caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))
- ? new SetCache(othIndex && array)
- : undefined;
- }
- array = arrays[0];
-
- var index = -1,
- seen = caches[0];
-
- outer:
- while (++index < length && result.length < maxLength) {
- var value = array[index],
- computed = iteratee ? iteratee(value) : value;
-
- value = (comparator || value !== 0) ? value : 0;
- if (!(seen
- ? cacheHas(seen, computed)
- : includes(result, computed, comparator)
- )) {
- othIndex = othLength;
- while (--othIndex) {
- var cache = caches[othIndex];
- if (!(cache
- ? cacheHas(cache, computed)
- : includes(arrays[othIndex], computed, comparator))
- ) {
- continue outer;
- }
- }
- if (seen) {
- seen.push(computed);
- }
- result.push(value);
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.invert` and `_.invertBy` which inverts
- * `object` with values transformed by `iteratee` and set by `setter`.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {Function} setter The function to set `accumulator` values.
- * @param {Function} iteratee The iteratee to transform values.
- * @param {Object} accumulator The initial inverted object.
- * @returns {Function} Returns `accumulator`.
- */
- function baseInverter(object, setter, iteratee, accumulator) {
- baseForOwn(object, function(value, key, object) {
- setter(accumulator, iteratee(value), key, object);
- });
- return accumulator;
- }
-
- /**
- * The base implementation of `_.invoke` without support for individual
- * method arguments.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the method to invoke.
- * @param {Array} args The arguments to invoke the method with.
- * @returns {*} Returns the result of the invoked method.
- */
- function baseInvoke(object, path, args) {
- path = castPath(path, object);
- object = parent(object, path);
- var func = object == null ? object : object[toKey(last(path))];
- return func == null ? undefined : apply(func, object, args);
- }
-
- /**
- * The base implementation of `_.isArguments`.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an `arguments` object,
- */
- function baseIsArguments(value) {
- return isObjectLike(value) && baseGetTag(value) == argsTag;
- }
-
- /**
- * The base implementation of `_.isArrayBuffer` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.
- */
- function baseIsArrayBuffer(value) {
- return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;
- }
-
- /**
- * The base implementation of `_.isDate` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
- */
- function baseIsDate(value) {
- return isObjectLike(value) && baseGetTag(value) == dateTag;
- }
-
- /**
- * The base implementation of `_.isEqual` which supports partial comparisons
- * and tracks traversed objects.
- *
- * @private
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @param {boolean} bitmask The bitmask flags.
- * 1 - Unordered comparison
- * 2 - Partial comparison
- * @param {Function} [customizer] The function to customize comparisons.
- * @param {Object} [stack] Tracks traversed `value` and `other` objects.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- */
- function baseIsEqual(value, other, bitmask, customizer, stack) {
- if (value === other) {
- return true;
- }
- if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
- return value !== value && other !== other;
- }
- return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
- }
-
- /**
- * A specialized version of `baseIsEqual` for arrays and objects which performs
- * deep comparisons and tracks traversed objects enabling objects with circular
- * references to be compared.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
- * @param {Function} customizer The function to customize comparisons.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Object} [stack] Tracks traversed `object` and `other` objects.
- * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
- */
- function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
- var objIsArr = isArray(object),
- othIsArr = isArray(other),
- objTag = objIsArr ? arrayTag : getTag(object),
- othTag = othIsArr ? arrayTag : getTag(other);
-
- objTag = objTag == argsTag ? objectTag : objTag;
- othTag = othTag == argsTag ? objectTag : othTag;
-
- var objIsObj = objTag == objectTag,
- othIsObj = othTag == objectTag,
- isSameTag = objTag == othTag;
-
- if (isSameTag && isBuffer(object)) {
- if (!isBuffer(other)) {
- return false;
- }
- objIsArr = true;
- objIsObj = false;
- }
- if (isSameTag && !objIsObj) {
- stack || (stack = new Stack);
- return (objIsArr || isTypedArray(object))
- ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
- : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
- }
- if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
- var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
- othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
-
- if (objIsWrapped || othIsWrapped) {
- var objUnwrapped = objIsWrapped ? object.value() : object,
- othUnwrapped = othIsWrapped ? other.value() : other;
-
- stack || (stack = new Stack);
- return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
- }
- }
- if (!isSameTag) {
- return false;
- }
- stack || (stack = new Stack);
- return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
- }
-
- /**
- * The base implementation of `_.isMap` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a map, else `false`.
- */
- function baseIsMap(value) {
- return isObjectLike(value) && getTag(value) == mapTag;
- }
-
- /**
- * The base implementation of `_.isMatch` without support for iteratee shorthands.
- *
- * @private
- * @param {Object} object The object to inspect.
- * @param {Object} source The object of property values to match.
- * @param {Array} matchData The property names, values, and compare flags to match.
- * @param {Function} [customizer] The function to customize comparisons.
- * @returns {boolean} Returns `true` if `object` is a match, else `false`.
- */
- function baseIsMatch(object, source, matchData, customizer) {
- var index = matchData.length,
- length = index,
- noCustomizer = !customizer;
-
- if (object == null) {
- return !length;
- }
- object = Object(object);
- while (index--) {
- var data = matchData[index];
- if ((noCustomizer && data[2])
- ? data[1] !== object[data[0]]
- : !(data[0] in object)
- ) {
- return false;
- }
- }
- while (++index < length) {
- data = matchData[index];
- var key = data[0],
- objValue = object[key],
- srcValue = data[1];
-
- if (noCustomizer && data[2]) {
- if (objValue === undefined && !(key in object)) {
- return false;
- }
- } else {
- var stack = new Stack;
- if (customizer) {
- var result = customizer(objValue, srcValue, key, object, source, stack);
- }
- if (!(result === undefined
- ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)
- : result
- )) {
- return false;
- }
- }
- }
- return true;
- }
-
- /**
- * The base implementation of `_.isNative` without bad shim checks.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a native function,
- * else `false`.
- */
- function baseIsNative(value) {
- if (!isObject(value) || isMasked(value)) {
- return false;
- }
- var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
- return pattern.test(toSource(value));
- }
-
- /**
- * The base implementation of `_.isRegExp` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
- */
- function baseIsRegExp(value) {
- return isObjectLike(value) && baseGetTag(value) == regexpTag;
- }
-
- /**
- * The base implementation of `_.isSet` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a set, else `false`.
- */
- function baseIsSet(value) {
- return isObjectLike(value) && getTag(value) == setTag;
- }
-
- /**
- * The base implementation of `_.isTypedArray` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
- */
- function baseIsTypedArray(value) {
- return isObjectLike(value) &&
- isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
- }
-
- /**
- * The base implementation of `_.iteratee`.
- *
- * @private
- * @param {*} [value=_.identity] The value to convert to an iteratee.
- * @returns {Function} Returns the iteratee.
- */
- function baseIteratee(value) {
- // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
- // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
- if (typeof value == 'function') {
- return value;
- }
- if (value == null) {
- return identity;
- }
- if (typeof value == 'object') {
- return isArray(value)
- ? baseMatchesProperty(value[0], value[1])
- : baseMatches(value);
- }
- return property(value);
- }
-
- /**
- * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- */
- function baseKeys(object) {
- if (!isPrototype(object)) {
- return nativeKeys(object);
- }
- var result = [];
- for (var key in Object(object)) {
- if (hasOwnProperty.call(object, key) && key != 'constructor') {
- result.push(key);
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- */
- function baseKeysIn(object) {
- if (!isObject(object)) {
- return nativeKeysIn(object);
- }
- var isProto = isPrototype(object),
- result = [];
-
- for (var key in object) {
- if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
- result.push(key);
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.lt` which doesn't coerce arguments.
- *
- * @private
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if `value` is less than `other`,
- * else `false`.
- */
- function baseLt(value, other) {
- return value < other;
- }
-
- /**
- * The base implementation of `_.map` without support for iteratee shorthands.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns the new mapped array.
- */
- function baseMap(collection, iteratee) {
- var index = -1,
- result = isArrayLike(collection) ? Array(collection.length) : [];
-
- baseEach(collection, function(value, key, collection) {
- result[++index] = iteratee(value, key, collection);
- });
- return result;
- }
-
- /**
- * The base implementation of `_.matches` which doesn't clone `source`.
- *
- * @private
- * @param {Object} source The object of property values to match.
- * @returns {Function} Returns the new spec function.
- */
- function baseMatches(source) {
- var matchData = getMatchData(source);
- if (matchData.length == 1 && matchData[0][2]) {
- return matchesStrictComparable(matchData[0][0], matchData[0][1]);
- }
- return function(object) {
- return object === source || baseIsMatch(object, source, matchData);
- };
- }
-
- /**
- * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
- *
- * @private
- * @param {string} path The path of the property to get.
- * @param {*} srcValue The value to match.
- * @returns {Function} Returns the new spec function.
- */
- function baseMatchesProperty(path, srcValue) {
- if (isKey(path) && isStrictComparable(srcValue)) {
- return matchesStrictComparable(toKey(path), srcValue);
- }
- return function(object) {
- var objValue = get(object, path);
- return (objValue === undefined && objValue === srcValue)
- ? hasIn(object, path)
- : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
- };
- }
-
- /**
- * The base implementation of `_.merge` without support for multiple sources.
- *
- * @private
- * @param {Object} object The destination object.
- * @param {Object} source The source object.
- * @param {number} srcIndex The index of `source`.
- * @param {Function} [customizer] The function to customize merged values.
- * @param {Object} [stack] Tracks traversed source values and their merged
- * counterparts.
- */
- function baseMerge(object, source, srcIndex, customizer, stack) {
- if (object === source) {
- return;
- }
- baseFor(source, function(srcValue, key) {
- if (isObject(srcValue)) {
- stack || (stack = new Stack);
- baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
- }
- else {
- var newValue = customizer
- ? customizer(object[key], srcValue, (key + ''), object, source, stack)
- : undefined;
-
- if (newValue === undefined) {
- newValue = srcValue;
- }
- assignMergeValue(object, key, newValue);
- }
- }, keysIn);
- }
-
- /**
- * A specialized version of `baseMerge` for arrays and objects which performs
- * deep merges and tracks traversed objects enabling objects with circular
- * references to be merged.
- *
- * @private
- * @param {Object} object The destination object.
- * @param {Object} source The source object.
- * @param {string} key The key of the value to merge.
- * @param {number} srcIndex The index of `source`.
- * @param {Function} mergeFunc The function to merge values.
- * @param {Function} [customizer] The function to customize assigned values.
- * @param {Object} [stack] Tracks traversed source values and their merged
- * counterparts.
- */
- function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
- var objValue = object[key],
- srcValue = source[key],
- stacked = stack.get(srcValue);
-
- if (stacked) {
- assignMergeValue(object, key, stacked);
- return;
- }
- var newValue = customizer
- ? customizer(objValue, srcValue, (key + ''), object, source, stack)
- : undefined;
-
- var isCommon = newValue === undefined;
-
- if (isCommon) {
- var isArr = isArray(srcValue),
- isBuff = !isArr && isBuffer(srcValue),
- isTyped = !isArr && !isBuff && isTypedArray(srcValue);
-
- newValue = srcValue;
- if (isArr || isBuff || isTyped) {
- if (isArray(objValue)) {
- newValue = objValue;
- }
- else if (isArrayLikeObject(objValue)) {
- newValue = copyArray(objValue);
- }
- else if (isBuff) {
- isCommon = false;
- newValue = cloneBuffer(srcValue, true);
- }
- else if (isTyped) {
- isCommon = false;
- newValue = cloneTypedArray(srcValue, true);
- }
- else {
- newValue = [];
- }
- }
- else if (isPlainObject(srcValue) || isArguments(srcValue)) {
- newValue = objValue;
- if (isArguments(objValue)) {
- newValue = toPlainObject(objValue);
- }
- else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {
- newValue = initCloneObject(srcValue);
- }
- }
- else {
- isCommon = false;
- }
- }
- if (isCommon) {
- // Recursively merge objects and arrays (susceptible to call stack limits).
- stack.set(srcValue, newValue);
- mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
- stack['delete'](srcValue);
- }
- assignMergeValue(object, key, newValue);
- }
-
- /**
- * The base implementation of `_.nth` which doesn't coerce arguments.
- *
- * @private
- * @param {Array} array The array to query.
- * @param {number} n The index of the element to return.
- * @returns {*} Returns the nth element of `array`.
- */
- function baseNth(array, n) {
- var length = array.length;
- if (!length) {
- return;
- }
- n += n < 0 ? length : 0;
- return isIndex(n, length) ? array[n] : undefined;
- }
-
- /**
- * The base implementation of `_.orderBy` without param guards.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
- * @param {string[]} orders The sort orders of `iteratees`.
- * @returns {Array} Returns the new sorted array.
- */
- function baseOrderBy(collection, iteratees, orders) {
- var index = -1;
- iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee()));
-
- var result = baseMap(collection, function(value, key, collection) {
- var criteria = arrayMap(iteratees, function(iteratee) {
- return iteratee(value);
- });
- return { 'criteria': criteria, 'index': ++index, 'value': value };
- });
-
- return baseSortBy(result, function(object, other) {
- return compareMultiple(object, other, orders);
- });
- }
-
- /**
- * The base implementation of `_.pick` without support for individual
- * property identifiers.
- *
- * @private
- * @param {Object} object The source object.
- * @param {string[]} paths The property paths to pick.
- * @returns {Object} Returns the new object.
- */
- function basePick(object, paths) {
- return basePickBy(object, paths, function(value, path) {
- return hasIn(object, path);
- });
- }
-
- /**
- * The base implementation of `_.pickBy` without support for iteratee shorthands.
- *
- * @private
- * @param {Object} object The source object.
- * @param {string[]} paths The property paths to pick.
- * @param {Function} predicate The function invoked per property.
- * @returns {Object} Returns the new object.
- */
- function basePickBy(object, paths, predicate) {
- var index = -1,
- length = paths.length,
- result = {};
-
- while (++index < length) {
- var path = paths[index],
- value = baseGet(object, path);
-
- if (predicate(value, path)) {
- baseSet(result, castPath(path, object), value);
- }
- }
- return result;
- }
-
- /**
- * A specialized version of `baseProperty` which supports deep paths.
- *
- * @private
- * @param {Array|string} path The path of the property to get.
- * @returns {Function} Returns the new accessor function.
- */
- function basePropertyDeep(path) {
- return function(object) {
- return baseGet(object, path);
- };
- }
-
- /**
- * The base implementation of `_.pullAllBy` without support for iteratee
- * shorthands.
- *
- * @private
- * @param {Array} array The array to modify.
- * @param {Array} values The values to remove.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns `array`.
- */
- function basePullAll(array, values, iteratee, comparator) {
- var indexOf = comparator ? baseIndexOfWith : baseIndexOf,
- index = -1,
- length = values.length,
- seen = array;
-
- if (array === values) {
- values = copyArray(values);
- }
- if (iteratee) {
- seen = arrayMap(array, baseUnary(iteratee));
- }
- while (++index < length) {
- var fromIndex = 0,
- value = values[index],
- computed = iteratee ? iteratee(value) : value;
-
- while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {
- if (seen !== array) {
- splice.call(seen, fromIndex, 1);
- }
- splice.call(array, fromIndex, 1);
- }
- }
- return array;
- }
-
- /**
- * The base implementation of `_.pullAt` without support for individual
- * indexes or capturing the removed elements.
- *
- * @private
- * @param {Array} array The array to modify.
- * @param {number[]} indexes The indexes of elements to remove.
- * @returns {Array} Returns `array`.
- */
- function basePullAt(array, indexes) {
- var length = array ? indexes.length : 0,
- lastIndex = length - 1;
-
- while (length--) {
- var index = indexes[length];
- if (length == lastIndex || index !== previous) {
- var previous = index;
- if (isIndex(index)) {
- splice.call(array, index, 1);
- } else {
- baseUnset(array, index);
- }
- }
- }
- return array;
- }
-
- /**
- * The base implementation of `_.random` without support for returning
- * floating-point numbers.
- *
- * @private
- * @param {number} lower The lower bound.
- * @param {number} upper The upper bound.
- * @returns {number} Returns the random number.
- */
- function baseRandom(lower, upper) {
- return lower + nativeFloor(nativeRandom() * (upper - lower + 1));
- }
-
- /**
- * The base implementation of `_.range` and `_.rangeRight` which doesn't
- * coerce arguments.
- *
- * @private
- * @param {number} start The start of the range.
- * @param {number} end The end of the range.
- * @param {number} step The value to increment or decrement by.
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Array} Returns the range of numbers.
- */
- function baseRange(start, end, step, fromRight) {
- var index = -1,
- length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),
- result = Array(length);
-
- while (length--) {
- result[fromRight ? length : ++index] = start;
- start += step;
- }
- return result;
- }
-
- /**
- * The base implementation of `_.repeat` which doesn't coerce arguments.
- *
- * @private
- * @param {string} string The string to repeat.
- * @param {number} n The number of times to repeat the string.
- * @returns {string} Returns the repeated string.
- */
- function baseRepeat(string, n) {
- var result = '';
- if (!string || n < 1 || n > MAX_SAFE_INTEGER) {
- return result;
- }
- // Leverage the exponentiation by squaring algorithm for a faster repeat.
- // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
- do {
- if (n % 2) {
- result += string;
- }
- n = nativeFloor(n / 2);
- if (n) {
- string += string;
- }
- } while (n);
-
- return result;
- }
-
- /**
- * The base implementation of `_.rest` which doesn't validate or coerce arguments.
- *
- * @private
- * @param {Function} func The function to apply a rest parameter to.
- * @param {number} [start=func.length-1] The start position of the rest parameter.
- * @returns {Function} Returns the new function.
- */
- function baseRest(func, start) {
- return setToString(overRest(func, start, identity), func + '');
- }
-
- /**
- * The base implementation of `_.sample`.
- *
- * @private
- * @param {Array|Object} collection The collection to sample.
- * @returns {*} Returns the random element.
- */
- function baseSample(collection) {
- return arraySample(values(collection));
- }
-
- /**
- * The base implementation of `_.sampleSize` without param guards.
- *
- * @private
- * @param {Array|Object} collection The collection to sample.
- * @param {number} n The number of elements to sample.
- * @returns {Array} Returns the random elements.
- */
- function baseSampleSize(collection, n) {
- var array = values(collection);
- return shuffleSelf(array, baseClamp(n, 0, array.length));
- }
-
- /**
- * The base implementation of `_.set`.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to set.
- * @param {*} value The value to set.
- * @param {Function} [customizer] The function to customize path creation.
- * @returns {Object} Returns `object`.
- */
- function baseSet(object, path, value, customizer) {
- if (!isObject(object)) {
- return object;
- }
- path = castPath(path, object);
-
- var index = -1,
- length = path.length,
- lastIndex = length - 1,
- nested = object;
-
- while (nested != null && ++index < length) {
- var key = toKey(path[index]),
- newValue = value;
-
- if (index != lastIndex) {
- var objValue = nested[key];
- newValue = customizer ? customizer(objValue, key, nested) : undefined;
- if (newValue === undefined) {
- newValue = isObject(objValue)
- ? objValue
- : (isIndex(path[index + 1]) ? [] : {});
- }
- }
- assignValue(nested, key, newValue);
- nested = nested[key];
- }
- return object;
- }
-
- /**
- * The base implementation of `setData` without support for hot loop shorting.
- *
- * @private
- * @param {Function} func The function to associate metadata with.
- * @param {*} data The metadata.
- * @returns {Function} Returns `func`.
- */
- var baseSetData = !metaMap ? identity : function(func, data) {
- metaMap.set(func, data);
- return func;
- };
-
- /**
- * The base implementation of `setToString` without support for hot loop shorting.
- *
- * @private
- * @param {Function} func The function to modify.
- * @param {Function} string The `toString` result.
- * @returns {Function} Returns `func`.
- */
- var baseSetToString = !defineProperty ? identity : function(func, string) {
- return defineProperty(func, 'toString', {
- 'configurable': true,
- 'enumerable': false,
- 'value': constant(string),
- 'writable': true
- });
- };
-
- /**
- * The base implementation of `_.shuffle`.
- *
- * @private
- * @param {Array|Object} collection The collection to shuffle.
- * @returns {Array} Returns the new shuffled array.
- */
- function baseShuffle(collection) {
- return shuffleSelf(values(collection));
- }
-
- /**
- * The base implementation of `_.slice` without an iteratee call guard.
- *
- * @private
- * @param {Array} array The array to slice.
- * @param {number} [start=0] The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns the slice of `array`.
- */
- function baseSlice(array, start, end) {
- var index = -1,
- length = array.length;
-
- if (start < 0) {
- start = -start > length ? 0 : (length + start);
- }
- end = end > length ? length : end;
- if (end < 0) {
- end += length;
- }
- length = start > end ? 0 : ((end - start) >>> 0);
- start >>>= 0;
-
- var result = Array(length);
- while (++index < length) {
- result[index] = array[index + start];
- }
- return result;
- }
-
- /**
- * The base implementation of `_.some` without support for iteratee shorthands.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {boolean} Returns `true` if any element passes the predicate check,
- * else `false`.
- */
- function baseSome(collection, predicate) {
- var result;
-
- baseEach(collection, function(value, index, collection) {
- result = predicate(value, index, collection);
- return !result;
- });
- return !!result;
- }
-
- /**
- * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which
- * performs a binary search of `array` to determine the index at which `value`
- * should be inserted into `array` in order to maintain its sort order.
- *
- * @private
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @param {boolean} [retHighest] Specify returning the highest qualified index.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- */
- function baseSortedIndex(array, value, retHighest) {
- var low = 0,
- high = array == null ? low : array.length;
-
- if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
- while (low < high) {
- var mid = (low + high) >>> 1,
- computed = array[mid];
-
- if (computed !== null && !isSymbol(computed) &&
- (retHighest ? (computed <= value) : (computed < value))) {
- low = mid + 1;
- } else {
- high = mid;
- }
- }
- return high;
- }
- return baseSortedIndexBy(array, value, identity, retHighest);
- }
-
- /**
- * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`
- * which invokes `iteratee` for `value` and each element of `array` to compute
- * their sort ranking. The iteratee is invoked with one argument; (value).
- *
- * @private
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @param {Function} iteratee The iteratee invoked per element.
- * @param {boolean} [retHighest] Specify returning the highest qualified index.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- */
- function baseSortedIndexBy(array, value, iteratee, retHighest) {
- value = iteratee(value);
-
- var low = 0,
- high = array == null ? 0 : array.length,
- valIsNaN = value !== value,
- valIsNull = value === null,
- valIsSymbol = isSymbol(value),
- valIsUndefined = value === undefined;
-
- while (low < high) {
- var mid = nativeFloor((low + high) / 2),
- computed = iteratee(array[mid]),
- othIsDefined = computed !== undefined,
- othIsNull = computed === null,
- othIsReflexive = computed === computed,
- othIsSymbol = isSymbol(computed);
-
- if (valIsNaN) {
- var setLow = retHighest || othIsReflexive;
- } else if (valIsUndefined) {
- setLow = othIsReflexive && (retHighest || othIsDefined);
- } else if (valIsNull) {
- setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);
- } else if (valIsSymbol) {
- setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);
- } else if (othIsNull || othIsSymbol) {
- setLow = false;
- } else {
- setLow = retHighest ? (computed <= value) : (computed < value);
- }
- if (setLow) {
- low = mid + 1;
- } else {
- high = mid;
- }
- }
- return nativeMin(high, MAX_ARRAY_INDEX);
- }
-
- /**
- * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without
- * support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @returns {Array} Returns the new duplicate free array.
- */
- function baseSortedUniq(array, iteratee) {
- var index = -1,
- length = array.length,
- resIndex = 0,
- result = [];
-
- while (++index < length) {
- var value = array[index],
- computed = iteratee ? iteratee(value) : value;
-
- if (!index || !eq(computed, seen)) {
- var seen = computed;
- result[resIndex++] = value === 0 ? 0 : value;
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.toNumber` which doesn't ensure correct
- * conversions of binary, hexadecimal, or octal string values.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {number} Returns the number.
- */
- function baseToNumber(value) {
- if (typeof value == 'number') {
- return value;
- }
- if (isSymbol(value)) {
- return NAN;
- }
- return +value;
- }
-
- /**
- * The base implementation of `_.toString` which doesn't convert nullish
- * values to empty strings.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- */
- function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
- if (isArray(value)) {
- // Recursively convert values (susceptible to call stack limits).
- return arrayMap(value, baseToString) + '';
- }
- if (isSymbol(value)) {
- return symbolToString ? symbolToString.call(value) : '';
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
- }
-
- /**
- * The base implementation of `_.uniqBy` without support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new duplicate free array.
- */
- function baseUniq(array, iteratee, comparator) {
- var index = -1,
- includes = arrayIncludes,
- length = array.length,
- isCommon = true,
- result = [],
- seen = result;
-
- if (comparator) {
- isCommon = false;
- includes = arrayIncludesWith;
- }
- else if (length >= LARGE_ARRAY_SIZE) {
- var set = iteratee ? null : createSet(array);
- if (set) {
- return setToArray(set);
- }
- isCommon = false;
- includes = cacheHas;
- seen = new SetCache;
- }
- else {
- seen = iteratee ? [] : result;
- }
- outer:
- while (++index < length) {
- var value = array[index],
- computed = iteratee ? iteratee(value) : value;
-
- value = (comparator || value !== 0) ? value : 0;
- if (isCommon && computed === computed) {
- var seenIndex = seen.length;
- while (seenIndex--) {
- if (seen[seenIndex] === computed) {
- continue outer;
- }
- }
- if (iteratee) {
- seen.push(computed);
- }
- result.push(value);
- }
- else if (!includes(seen, computed, comparator)) {
- if (seen !== result) {
- seen.push(computed);
- }
- result.push(value);
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.unset`.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {Array|string} path The property path to unset.
- * @returns {boolean} Returns `true` if the property is deleted, else `false`.
- */
- function baseUnset(object, path) {
- path = castPath(path, object);
- object = parent(object, path);
- return object == null || delete object[toKey(last(path))];
- }
-
- /**
- * The base implementation of `_.update`.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to update.
- * @param {Function} updater The function to produce the updated value.
- * @param {Function} [customizer] The function to customize path creation.
- * @returns {Object} Returns `object`.
- */
- function baseUpdate(object, path, updater, customizer) {
- return baseSet(object, path, updater(baseGet(object, path)), customizer);
- }
-
- /**
- * The base implementation of methods like `_.dropWhile` and `_.takeWhile`
- * without support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to query.
- * @param {Function} predicate The function invoked per iteration.
- * @param {boolean} [isDrop] Specify dropping elements instead of taking them.
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Array} Returns the slice of `array`.
- */
- function baseWhile(array, predicate, isDrop, fromRight) {
- var length = array.length,
- index = fromRight ? length : -1;
-
- while ((fromRight ? index-- : ++index < length) &&
- predicate(array[index], index, array)) {}
-
- return isDrop
- ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))
- : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));
- }
-
- /**
- * The base implementation of `wrapperValue` which returns the result of
- * performing a sequence of actions on the unwrapped `value`, where each
- * successive action is supplied the return value of the previous.
- *
- * @private
- * @param {*} value The unwrapped value.
- * @param {Array} actions Actions to perform to resolve the unwrapped value.
- * @returns {*} Returns the resolved value.
- */
- function baseWrapperValue(value, actions) {
- var result = value;
- if (result instanceof LazyWrapper) {
- result = result.value();
- }
- return arrayReduce(actions, function(result, action) {
- return action.func.apply(action.thisArg, arrayPush([result], action.args));
- }, result);
- }
-
- /**
- * The base implementation of methods like `_.xor`, without support for
- * iteratee shorthands, that accepts an array of arrays to inspect.
- *
- * @private
- * @param {Array} arrays The arrays to inspect.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of values.
- */
- function baseXor(arrays, iteratee, comparator) {
- var length = arrays.length;
- if (length < 2) {
- return length ? baseUniq(arrays[0]) : [];
- }
- var index = -1,
- result = Array(length);
-
- while (++index < length) {
- var array = arrays[index],
- othIndex = -1;
-
- while (++othIndex < length) {
- if (othIndex != index) {
- result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);
- }
- }
- }
- return baseUniq(baseFlatten(result, 1), iteratee, comparator);
- }
-
- /**
- * This base implementation of `_.zipObject` which assigns values using `assignFunc`.
- *
- * @private
- * @param {Array} props The property identifiers.
- * @param {Array} values The property values.
- * @param {Function} assignFunc The function to assign values.
- * @returns {Object} Returns the new object.
- */
- function baseZipObject(props, values, assignFunc) {
- var index = -1,
- length = props.length,
- valsLength = values.length,
- result = {};
-
- while (++index < length) {
- var value = index < valsLength ? values[index] : undefined;
- assignFunc(result, props[index], value);
- }
- return result;
- }
-
- /**
- * Casts `value` to an empty array if it's not an array like object.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {Array|Object} Returns the cast array-like object.
- */
- function castArrayLikeObject(value) {
- return isArrayLikeObject(value) ? value : [];
- }
-
- /**
- * Casts `value` to `identity` if it's not a function.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {Function} Returns cast function.
- */
- function castFunction(value) {
- return typeof value == 'function' ? value : identity;
- }
-
- /**
- * Casts `value` to a path array if it's not one.
- *
- * @private
- * @param {*} value The value to inspect.
- * @param {Object} [object] The object to query keys on.
- * @returns {Array} Returns the cast property path array.
- */
- function castPath(value, object) {
- if (isArray(value)) {
- return value;
- }
- return isKey(value, object) ? [value] : stringToPath(toString(value));
- }
-
- /**
- * A `baseRest` alias which can be replaced with `identity` by module
- * replacement plugins.
- *
- * @private
- * @type {Function}
- * @param {Function} func The function to apply a rest parameter to.
- * @returns {Function} Returns the new function.
- */
- var castRest = baseRest;
-
- /**
- * Casts `array` to a slice if it's needed.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {number} start The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns the cast slice.
- */
- function castSlice(array, start, end) {
- var length = array.length;
- end = end === undefined ? length : end;
- return (!start && end >= length) ? array : baseSlice(array, start, end);
- }
-
- /**
- * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).
- *
- * @private
- * @param {number|Object} id The timer id or timeout object of the timer to clear.
- */
- var clearTimeout = ctxClearTimeout || function(id) {
- return root.clearTimeout(id);
- };
-
- /**
- * Creates a clone of `buffer`.
- *
- * @private
- * @param {Buffer} buffer The buffer to clone.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Buffer} Returns the cloned buffer.
- */
- function cloneBuffer(buffer, isDeep) {
- if (isDeep) {
- return buffer.slice();
- }
- var length = buffer.length,
- result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
-
- buffer.copy(result);
- return result;
- }
-
- /**
- * Creates a clone of `arrayBuffer`.
- *
- * @private
- * @param {ArrayBuffer} arrayBuffer The array buffer to clone.
- * @returns {ArrayBuffer} Returns the cloned array buffer.
- */
- function cloneArrayBuffer(arrayBuffer) {
- var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
- new Uint8Array(result).set(new Uint8Array(arrayBuffer));
- return result;
- }
-
- /**
- * Creates a clone of `dataView`.
- *
- * @private
- * @param {Object} dataView The data view to clone.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Object} Returns the cloned data view.
- */
- function cloneDataView(dataView, isDeep) {
- var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
- return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
- }
-
- /**
- * Creates a clone of `map`.
- *
- * @private
- * @param {Object} map The map to clone.
- * @param {Function} cloneFunc The function to clone values.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Object} Returns the cloned map.
- */
- function cloneMap(map, isDeep, cloneFunc) {
- var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map);
- return arrayReduce(array, addMapEntry, new map.constructor);
- }
-
- /**
- * Creates a clone of `regexp`.
- *
- * @private
- * @param {Object} regexp The regexp to clone.
- * @returns {Object} Returns the cloned regexp.
- */
- function cloneRegExp(regexp) {
- var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
- result.lastIndex = regexp.lastIndex;
- return result;
- }
-
- /**
- * Creates a clone of `set`.
- *
- * @private
- * @param {Object} set The set to clone.
- * @param {Function} cloneFunc The function to clone values.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Object} Returns the cloned set.
- */
- function cloneSet(set, isDeep, cloneFunc) {
- var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set);
- return arrayReduce(array, addSetEntry, new set.constructor);
- }
-
- /**
- * Creates a clone of the `symbol` object.
- *
- * @private
- * @param {Object} symbol The symbol object to clone.
- * @returns {Object} Returns the cloned symbol object.
- */
- function cloneSymbol(symbol) {
- return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
- }
-
- /**
- * Creates a clone of `typedArray`.
- *
- * @private
- * @param {Object} typedArray The typed array to clone.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Object} Returns the cloned typed array.
- */
- function cloneTypedArray(typedArray, isDeep) {
- var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
- return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
- }
-
- /**
- * Compares values to sort them in ascending order.
- *
- * @private
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {number} Returns the sort order indicator for `value`.
- */
- function compareAscending(value, other) {
- if (value !== other) {
- var valIsDefined = value !== undefined,
- valIsNull = value === null,
- valIsReflexive = value === value,
- valIsSymbol = isSymbol(value);
-
- var othIsDefined = other !== undefined,
- othIsNull = other === null,
- othIsReflexive = other === other,
- othIsSymbol = isSymbol(other);
-
- if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||
- (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||
- (valIsNull && othIsDefined && othIsReflexive) ||
- (!valIsDefined && othIsReflexive) ||
- !valIsReflexive) {
- return 1;
- }
- if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||
- (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||
- (othIsNull && valIsDefined && valIsReflexive) ||
- (!othIsDefined && valIsReflexive) ||
- !othIsReflexive) {
- return -1;
- }
- }
- return 0;
- }
-
- /**
- * Used by `_.orderBy` to compare multiple properties of a value to another
- * and stable sort them.
- *
- * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,
- * specify an order of "desc" for descending or "asc" for ascending sort order
- * of corresponding values.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {boolean[]|string[]} orders The order to sort by for each property.
- * @returns {number} Returns the sort order indicator for `object`.
- */
- function compareMultiple(object, other, orders) {
- var index = -1,
- objCriteria = object.criteria,
- othCriteria = other.criteria,
- length = objCriteria.length,
- ordersLength = orders.length;
-
- while (++index < length) {
- var result = compareAscending(objCriteria[index], othCriteria[index]);
- if (result) {
- if (index >= ordersLength) {
- return result;
- }
- var order = orders[index];
- return result * (order == 'desc' ? -1 : 1);
- }
- }
- // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications
- // that causes it, under certain circumstances, to provide the same value for
- // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247
- // for more details.
- //
- // This also ensures a stable sort in V8 and other engines.
- // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.
- return object.index - other.index;
- }
-
- /**
- * Creates an array that is the composition of partially applied arguments,
- * placeholders, and provided arguments into a single array of arguments.
- *
- * @private
- * @param {Array} args The provided arguments.
- * @param {Array} partials The arguments to prepend to those provided.
- * @param {Array} holders The `partials` placeholder indexes.
- * @params {boolean} [isCurried] Specify composing for a curried function.
- * @returns {Array} Returns the new array of composed arguments.
- */
- function composeArgs(args, partials, holders, isCurried) {
- var argsIndex = -1,
- argsLength = args.length,
- holdersLength = holders.length,
- leftIndex = -1,
- leftLength = partials.length,
- rangeLength = nativeMax(argsLength - holdersLength, 0),
- result = Array(leftLength + rangeLength),
- isUncurried = !isCurried;
-
- while (++leftIndex < leftLength) {
- result[leftIndex] = partials[leftIndex];
- }
- while (++argsIndex < holdersLength) {
- if (isUncurried || argsIndex < argsLength) {
- result[holders[argsIndex]] = args[argsIndex];
- }
- }
- while (rangeLength--) {
- result[leftIndex++] = args[argsIndex++];
- }
- return result;
- }
-
- /**
- * This function is like `composeArgs` except that the arguments composition
- * is tailored for `_.partialRight`.
- *
- * @private
- * @param {Array} args The provided arguments.
- * @param {Array} partials The arguments to append to those provided.
- * @param {Array} holders The `partials` placeholder indexes.
- * @params {boolean} [isCurried] Specify composing for a curried function.
- * @returns {Array} Returns the new array of composed arguments.
- */
- function composeArgsRight(args, partials, holders, isCurried) {
- var argsIndex = -1,
- argsLength = args.length,
- holdersIndex = -1,
- holdersLength = holders.length,
- rightIndex = -1,
- rightLength = partials.length,
- rangeLength = nativeMax(argsLength - holdersLength, 0),
- result = Array(rangeLength + rightLength),
- isUncurried = !isCurried;
-
- while (++argsIndex < rangeLength) {
- result[argsIndex] = args[argsIndex];
- }
- var offset = argsIndex;
- while (++rightIndex < rightLength) {
- result[offset + rightIndex] = partials[rightIndex];
- }
- while (++holdersIndex < holdersLength) {
- if (isUncurried || argsIndex < argsLength) {
- result[offset + holders[holdersIndex]] = args[argsIndex++];
- }
- }
- return result;
- }
-
- /**
- * Copies the values of `source` to `array`.
- *
- * @private
- * @param {Array} source The array to copy values from.
- * @param {Array} [array=[]] The array to copy values to.
- * @returns {Array} Returns `array`.
- */
- function copyArray(source, array) {
- var index = -1,
- length = source.length;
-
- array || (array = Array(length));
- while (++index < length) {
- array[index] = source[index];
- }
- return array;
- }
-
- /**
- * Copies properties of `source` to `object`.
- *
- * @private
- * @param {Object} source The object to copy properties from.
- * @param {Array} props The property identifiers to copy.
- * @param {Object} [object={}] The object to copy properties to.
- * @param {Function} [customizer] The function to customize copied values.
- * @returns {Object} Returns `object`.
- */
- function copyObject(source, props, object, customizer) {
- var isNew = !object;
- object || (object = {});
-
- var index = -1,
- length = props.length;
-
- while (++index < length) {
- var key = props[index];
-
- var newValue = customizer
- ? customizer(object[key], source[key], key, object, source)
- : undefined;
-
- if (newValue === undefined) {
- newValue = source[key];
- }
- if (isNew) {
- baseAssignValue(object, key, newValue);
- } else {
- assignValue(object, key, newValue);
- }
- }
- return object;
- }
-
- /**
- * Copies own symbols of `source` to `object`.
- *
- * @private
- * @param {Object} source The object to copy symbols from.
- * @param {Object} [object={}] The object to copy symbols to.
- * @returns {Object} Returns `object`.
- */
- function copySymbols(source, object) {
- return copyObject(source, getSymbols(source), object);
- }
-
- /**
- * Copies own and inherited symbols of `source` to `object`.
- *
- * @private
- * @param {Object} source The object to copy symbols from.
- * @param {Object} [object={}] The object to copy symbols to.
- * @returns {Object} Returns `object`.
- */
- function copySymbolsIn(source, object) {
- return copyObject(source, getSymbolsIn(source), object);
- }
-
- /**
- * Creates a function like `_.groupBy`.
- *
- * @private
- * @param {Function} setter The function to set accumulator values.
- * @param {Function} [initializer] The accumulator object initializer.
- * @returns {Function} Returns the new aggregator function.
- */
- function createAggregator(setter, initializer) {
- return function(collection, iteratee) {
- var func = isArray(collection) ? arrayAggregator : baseAggregator,
- accumulator = initializer ? initializer() : {};
-
- return func(collection, setter, getIteratee(iteratee, 2), accumulator);
- };
- }
-
- /**
- * Creates a function like `_.assign`.
- *
- * @private
- * @param {Function} assigner The function to assign values.
- * @returns {Function} Returns the new assigner function.
- */
- function createAssigner(assigner) {
- return baseRest(function(object, sources) {
- var index = -1,
- length = sources.length,
- customizer = length > 1 ? sources[length - 1] : undefined,
- guard = length > 2 ? sources[2] : undefined;
-
- customizer = (assigner.length > 3 && typeof customizer == 'function')
- ? (length--, customizer)
- : undefined;
-
- if (guard && isIterateeCall(sources[0], sources[1], guard)) {
- customizer = length < 3 ? undefined : customizer;
- length = 1;
- }
- object = Object(object);
- while (++index < length) {
- var source = sources[index];
- if (source) {
- assigner(object, source, index, customizer);
- }
- }
- return object;
- });
- }
-
- /**
- * Creates a `baseEach` or `baseEachRight` function.
- *
- * @private
- * @param {Function} eachFunc The function to iterate over a collection.
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Function} Returns the new base function.
- */
- function createBaseEach(eachFunc, fromRight) {
- return function(collection, iteratee) {
- if (collection == null) {
- return collection;
- }
- if (!isArrayLike(collection)) {
- return eachFunc(collection, iteratee);
- }
- var length = collection.length,
- index = fromRight ? length : -1,
- iterable = Object(collection);
-
- while ((fromRight ? index-- : ++index < length)) {
- if (iteratee(iterable[index], index, iterable) === false) {
- break;
- }
- }
- return collection;
- };
- }
-
- /**
- * Creates a base function for methods like `_.forIn` and `_.forOwn`.
- *
- * @private
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Function} Returns the new base function.
- */
- function createBaseFor(fromRight) {
- return function(object, iteratee, keysFunc) {
- var index = -1,
- iterable = Object(object),
- props = keysFunc(object),
- length = props.length;
-
- while (length--) {
- var key = props[fromRight ? length : ++index];
- if (iteratee(iterable[key], key, iterable) === false) {
- break;
- }
- }
- return object;
- };
- }
-
- /**
- * Creates a function that wraps `func` to invoke it with the optional `this`
- * binding of `thisArg`.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @returns {Function} Returns the new wrapped function.
- */
- function createBind(func, bitmask, thisArg) {
- var isBind = bitmask & WRAP_BIND_FLAG,
- Ctor = createCtor(func);
-
- function wrapper() {
- var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
- return fn.apply(isBind ? thisArg : this, arguments);
- }
- return wrapper;
- }
-
- /**
- * Creates a function like `_.lowerFirst`.
- *
- * @private
- * @param {string} methodName The name of the `String` case method to use.
- * @returns {Function} Returns the new case function.
- */
- function createCaseFirst(methodName) {
- return function(string) {
- string = toString(string);
-
- var strSymbols = hasUnicode(string)
- ? stringToArray(string)
- : undefined;
-
- var chr = strSymbols
- ? strSymbols[0]
- : string.charAt(0);
-
- var trailing = strSymbols
- ? castSlice(strSymbols, 1).join('')
- : string.slice(1);
-
- return chr[methodName]() + trailing;
- };
- }
-
- /**
- * Creates a function like `_.camelCase`.
- *
- * @private
- * @param {Function} callback The function to combine each word.
- * @returns {Function} Returns the new compounder function.
- */
- function createCompounder(callback) {
- return function(string) {
- return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');
- };
- }
-
- /**
- * Creates a function that produces an instance of `Ctor` regardless of
- * whether it was invoked as part of a `new` expression or by `call` or `apply`.
- *
- * @private
- * @param {Function} Ctor The constructor to wrap.
- * @returns {Function} Returns the new wrapped function.
- */
- function createCtor(Ctor) {
- return function() {
- // Use a `switch` statement to work with class constructors. See
- // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist
- // for more details.
- var args = arguments;
- switch (args.length) {
- case 0: return new Ctor;
- case 1: return new Ctor(args[0]);
- case 2: return new Ctor(args[0], args[1]);
- case 3: return new Ctor(args[0], args[1], args[2]);
- case 4: return new Ctor(args[0], args[1], args[2], args[3]);
- case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);
- case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);
- case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
- }
- var thisBinding = baseCreate(Ctor.prototype),
- result = Ctor.apply(thisBinding, args);
-
- // Mimic the constructor's `return` behavior.
- // See https://es5.github.io/#x13.2.2 for more details.
- return isObject(result) ? result : thisBinding;
- };
- }
-
- /**
- * Creates a function that wraps `func` to enable currying.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @param {number} arity The arity of `func`.
- * @returns {Function} Returns the new wrapped function.
- */
- function createCurry(func, bitmask, arity) {
- var Ctor = createCtor(func);
-
- function wrapper() {
- var length = arguments.length,
- args = Array(length),
- index = length,
- placeholder = getHolder(wrapper);
-
- while (index--) {
- args[index] = arguments[index];
- }
- var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)
- ? []
- : replaceHolders(args, placeholder);
-
- length -= holders.length;
- if (length < arity) {
- return createRecurry(
- func, bitmask, createHybrid, wrapper.placeholder, undefined,
- args, holders, undefined, undefined, arity - length);
- }
- var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
- return apply(fn, this, args);
- }
- return wrapper;
- }
-
- /**
- * Creates a `_.find` or `_.findLast` function.
- *
- * @private
- * @param {Function} findIndexFunc The function to find the collection index.
- * @returns {Function} Returns the new find function.
- */
- function createFind(findIndexFunc) {
- return function(collection, predicate, fromIndex) {
- var iterable = Object(collection);
- if (!isArrayLike(collection)) {
- var iteratee = getIteratee(predicate, 3);
- collection = keys(collection);
- predicate = function(key) { return iteratee(iterable[key], key, iterable); };
- }
- var index = findIndexFunc(collection, predicate, fromIndex);
- return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;
- };
- }
-
- /**
- * Creates a `_.flow` or `_.flowRight` function.
- *
- * @private
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Function} Returns the new flow function.
- */
- function createFlow(fromRight) {
- return flatRest(function(funcs) {
- var length = funcs.length,
- index = length,
- prereq = LodashWrapper.prototype.thru;
-
- if (fromRight) {
- funcs.reverse();
- }
- while (index--) {
- var func = funcs[index];
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- if (prereq && !wrapper && getFuncName(func) == 'wrapper') {
- var wrapper = new LodashWrapper([], true);
- }
- }
- index = wrapper ? index : length;
- while (++index < length) {
- func = funcs[index];
-
- var funcName = getFuncName(func),
- data = funcName == 'wrapper' ? getData(func) : undefined;
-
- if (data && isLaziable(data[0]) &&
- data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&
- !data[4].length && data[9] == 1
- ) {
- wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
- } else {
- wrapper = (func.length == 1 && isLaziable(func))
- ? wrapper[funcName]()
- : wrapper.thru(func);
- }
- }
- return function() {
- var args = arguments,
- value = args[0];
-
- if (wrapper && args.length == 1 && isArray(value)) {
- return wrapper.plant(value).value();
- }
- var index = 0,
- result = length ? funcs[index].apply(this, args) : value;
-
- while (++index < length) {
- result = funcs[index].call(this, result);
- }
- return result;
- };
- });
- }
-
- /**
- * Creates a function that wraps `func` to invoke it with optional `this`
- * binding of `thisArg`, partial application, and currying.
- *
- * @private
- * @param {Function|string} func The function or method name to wrap.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param {Array} [partials] The arguments to prepend to those provided to
- * the new function.
- * @param {Array} [holders] The `partials` placeholder indexes.
- * @param {Array} [partialsRight] The arguments to append to those provided
- * to the new function.
- * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.
- * @param {Array} [argPos] The argument positions of the new function.
- * @param {number} [ary] The arity cap of `func`.
- * @param {number} [arity] The arity of `func`.
- * @returns {Function} Returns the new wrapped function.
- */
- function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {
- var isAry = bitmask & WRAP_ARY_FLAG,
- isBind = bitmask & WRAP_BIND_FLAG,
- isBindKey = bitmask & WRAP_BIND_KEY_FLAG,
- isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),
- isFlip = bitmask & WRAP_FLIP_FLAG,
- Ctor = isBindKey ? undefined : createCtor(func);
-
- function wrapper() {
- var length = arguments.length,
- args = Array(length),
- index = length;
-
- while (index--) {
- args[index] = arguments[index];
- }
- if (isCurried) {
- var placeholder = getHolder(wrapper),
- holdersCount = countHolders(args, placeholder);
- }
- if (partials) {
- args = composeArgs(args, partials, holders, isCurried);
- }
- if (partialsRight) {
- args = composeArgsRight(args, partialsRight, holdersRight, isCurried);
- }
- length -= holdersCount;
- if (isCurried && length < arity) {
- var newHolders = replaceHolders(args, placeholder);
- return createRecurry(
- func, bitmask, createHybrid, wrapper.placeholder, thisArg,
- args, newHolders, argPos, ary, arity - length
- );
- }
- var thisBinding = isBind ? thisArg : this,
- fn = isBindKey ? thisBinding[func] : func;
-
- length = args.length;
- if (argPos) {
- args = reorder(args, argPos);
- } else if (isFlip && length > 1) {
- args.reverse();
- }
- if (isAry && ary < length) {
- args.length = ary;
- }
- if (this && this !== root && this instanceof wrapper) {
- fn = Ctor || createCtor(fn);
- }
- return fn.apply(thisBinding, args);
- }
- return wrapper;
- }
-
- /**
- * Creates a function like `_.invertBy`.
- *
- * @private
- * @param {Function} setter The function to set accumulator values.
- * @param {Function} toIteratee The function to resolve iteratees.
- * @returns {Function} Returns the new inverter function.
- */
- function createInverter(setter, toIteratee) {
- return function(object, iteratee) {
- return baseInverter(object, setter, toIteratee(iteratee), {});
- };
- }
-
- /**
- * Creates a function that performs a mathematical operation on two values.
- *
- * @private
- * @param {Function} operator The function to perform the operation.
- * @param {number} [defaultValue] The value used for `undefined` arguments.
- * @returns {Function} Returns the new mathematical operation function.
- */
- function createMathOperation(operator, defaultValue) {
- return function(value, other) {
- var result;
- if (value === undefined && other === undefined) {
- return defaultValue;
- }
- if (value !== undefined) {
- result = value;
- }
- if (other !== undefined) {
- if (result === undefined) {
- return other;
- }
- if (typeof value == 'string' || typeof other == 'string') {
- value = baseToString(value);
- other = baseToString(other);
- } else {
- value = baseToNumber(value);
- other = baseToNumber(other);
- }
- result = operator(value, other);
- }
- return result;
- };
- }
-
- /**
- * Creates a function like `_.over`.
- *
- * @private
- * @param {Function} arrayFunc The function to iterate over iteratees.
- * @returns {Function} Returns the new over function.
- */
- function createOver(arrayFunc) {
- return flatRest(function(iteratees) {
- iteratees = arrayMap(iteratees, baseUnary(getIteratee()));
- return baseRest(function(args) {
- var thisArg = this;
- return arrayFunc(iteratees, function(iteratee) {
- return apply(iteratee, thisArg, args);
- });
- });
- });
- }
-
- /**
- * Creates the padding for `string` based on `length`. The `chars` string
- * is truncated if the number of characters exceeds `length`.
- *
- * @private
- * @param {number} length The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padding for `string`.
- */
- function createPadding(length, chars) {
- chars = chars === undefined ? ' ' : baseToString(chars);
-
- var charsLength = chars.length;
- if (charsLength < 2) {
- return charsLength ? baseRepeat(chars, length) : chars;
- }
- var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));
- return hasUnicode(chars)
- ? castSlice(stringToArray(result), 0, length).join('')
- : result.slice(0, length);
- }
-
- /**
- * Creates a function that wraps `func` to invoke it with the `this` binding
- * of `thisArg` and `partials` prepended to the arguments it receives.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @param {*} thisArg The `this` binding of `func`.
- * @param {Array} partials The arguments to prepend to those provided to
- * the new function.
- * @returns {Function} Returns the new wrapped function.
- */
- function createPartial(func, bitmask, thisArg, partials) {
- var isBind = bitmask & WRAP_BIND_FLAG,
- Ctor = createCtor(func);
-
- function wrapper() {
- var argsIndex = -1,
- argsLength = arguments.length,
- leftIndex = -1,
- leftLength = partials.length,
- args = Array(leftLength + argsLength),
- fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
-
- while (++leftIndex < leftLength) {
- args[leftIndex] = partials[leftIndex];
- }
- while (argsLength--) {
- args[leftIndex++] = arguments[++argsIndex];
- }
- return apply(fn, isBind ? thisArg : this, args);
- }
- return wrapper;
- }
-
- /**
- * Creates a `_.range` or `_.rangeRight` function.
- *
- * @private
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Function} Returns the new range function.
- */
- function createRange(fromRight) {
- return function(start, end, step) {
- if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {
- end = step = undefined;
- }
- // Ensure the sign of `-0` is preserved.
- start = toFinite(start);
- if (end === undefined) {
- end = start;
- start = 0;
- } else {
- end = toFinite(end);
- }
- step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);
- return baseRange(start, end, step, fromRight);
- };
- }
-
- /**
- * Creates a function that performs a relational operation on two values.
- *
- * @private
- * @param {Function} operator The function to perform the operation.
- * @returns {Function} Returns the new relational operation function.
- */
- function createRelationalOperation(operator) {
- return function(value, other) {
- if (!(typeof value == 'string' && typeof other == 'string')) {
- value = toNumber(value);
- other = toNumber(other);
- }
- return operator(value, other);
- };
- }
-
- /**
- * Creates a function that wraps `func` to continue currying.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @param {Function} wrapFunc The function to create the `func` wrapper.
- * @param {*} placeholder The placeholder value.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param {Array} [partials] The arguments to prepend to those provided to
- * the new function.
- * @param {Array} [holders] The `partials` placeholder indexes.
- * @param {Array} [argPos] The argument positions of the new function.
- * @param {number} [ary] The arity cap of `func`.
- * @param {number} [arity] The arity of `func`.
- * @returns {Function} Returns the new wrapped function.
- */
- function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
- var isCurry = bitmask & WRAP_CURRY_FLAG,
- newHolders = isCurry ? holders : undefined,
- newHoldersRight = isCurry ? undefined : holders,
- newPartials = isCurry ? partials : undefined,
- newPartialsRight = isCurry ? undefined : partials;
-
- bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);
- bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
-
- if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
- bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);
- }
- var newData = [
- func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
- newHoldersRight, argPos, ary, arity
- ];
-
- var result = wrapFunc.apply(undefined, newData);
- if (isLaziable(func)) {
- setData(result, newData);
- }
- result.placeholder = placeholder;
- return setWrapToString(result, func, bitmask);
- }
-
- /**
- * Creates a function like `_.round`.
- *
- * @private
- * @param {string} methodName The name of the `Math` method to use when rounding.
- * @returns {Function} Returns the new round function.
- */
- function createRound(methodName) {
- var func = Math[methodName];
- return function(number, precision) {
- number = toNumber(number);
- precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);
- if (precision) {
- // Shift with exponential notation to avoid floating-point issues.
- // See [MDN](https://mdn.io/round#Examples) for more details.
- var pair = (toString(number) + 'e').split('e'),
- value = func(pair[0] + 'e' + (+pair[1] + precision));
-
- pair = (toString(value) + 'e').split('e');
- return +(pair[0] + 'e' + (+pair[1] - precision));
- }
- return func(number);
- };
- }
-
- /**
- * Creates a set object of `values`.
- *
- * @private
- * @param {Array} values The values to add to the set.
- * @returns {Object} Returns the new set.
- */
- var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {
- return new Set(values);
- };
-
- /**
- * Creates a `_.toPairs` or `_.toPairsIn` function.
- *
- * @private
- * @param {Function} keysFunc The function to get the keys of a given object.
- * @returns {Function} Returns the new pairs function.
- */
- function createToPairs(keysFunc) {
- return function(object) {
- var tag = getTag(object);
- if (tag == mapTag) {
- return mapToArray(object);
- }
- if (tag == setTag) {
- return setToPairs(object);
- }
- return baseToPairs(object, keysFunc(object));
- };
- }
-
- /**
- * Creates a function that either curries or invokes `func` with optional
- * `this` binding and partially applied arguments.
- *
- * @private
- * @param {Function|string} func The function or method name to wrap.
- * @param {number} bitmask The bitmask flags.
- * 1 - `_.bind`
- * 2 - `_.bindKey`
- * 4 - `_.curry` or `_.curryRight` of a bound function
- * 8 - `_.curry`
- * 16 - `_.curryRight`
- * 32 - `_.partial`
- * 64 - `_.partialRight`
- * 128 - `_.rearg`
- * 256 - `_.ary`
- * 512 - `_.flip`
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param {Array} [partials] The arguments to be partially applied.
- * @param {Array} [holders] The `partials` placeholder indexes.
- * @param {Array} [argPos] The argument positions of the new function.
- * @param {number} [ary] The arity cap of `func`.
- * @param {number} [arity] The arity of `func`.
- * @returns {Function} Returns the new wrapped function.
- */
- function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
- var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
- if (!isBindKey && typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- var length = partials ? partials.length : 0;
- if (!length) {
- bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);
- partials = holders = undefined;
- }
- ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);
- arity = arity === undefined ? arity : toInteger(arity);
- length -= holders ? holders.length : 0;
-
- if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
- var partialsRight = partials,
- holdersRight = holders;
-
- partials = holders = undefined;
- }
- var data = isBindKey ? undefined : getData(func);
-
- var newData = [
- func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,
- argPos, ary, arity
- ];
-
- if (data) {
- mergeData(newData, data);
- }
- func = newData[0];
- bitmask = newData[1];
- thisArg = newData[2];
- partials = newData[3];
- holders = newData[4];
- arity = newData[9] = newData[9] === undefined
- ? (isBindKey ? 0 : func.length)
- : nativeMax(newData[9] - length, 0);
-
- if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {
- bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);
- }
- if (!bitmask || bitmask == WRAP_BIND_FLAG) {
- var result = createBind(func, bitmask, thisArg);
- } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
- result = createCurry(func, bitmask, arity);
- } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {
- result = createPartial(func, bitmask, thisArg, partials);
- } else {
- result = createHybrid.apply(undefined, newData);
- }
- var setter = data ? baseSetData : setData;
- return setWrapToString(setter(result, newData), func, bitmask);
- }
-
- /**
- * Used by `_.defaults` to customize its `_.assignIn` use to assign properties
- * of source objects to the destination object for all destination properties
- * that resolve to `undefined`.
- *
- * @private
- * @param {*} objValue The destination value.
- * @param {*} srcValue The source value.
- * @param {string} key The key of the property to assign.
- * @param {Object} object The parent object of `objValue`.
- * @returns {*} Returns the value to assign.
- */
- function customDefaultsAssignIn(objValue, srcValue, key, object) {
- if (objValue === undefined ||
- (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {
- return srcValue;
- }
- return objValue;
- }
-
- /**
- * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source
- * objects into destination objects that are passed thru.
- *
- * @private
- * @param {*} objValue The destination value.
- * @param {*} srcValue The source value.
- * @param {string} key The key of the property to merge.
- * @param {Object} object The parent object of `objValue`.
- * @param {Object} source The parent object of `srcValue`.
- * @param {Object} [stack] Tracks traversed source values and their merged
- * counterparts.
- * @returns {*} Returns the value to assign.
- */
- function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {
- if (isObject(objValue) && isObject(srcValue)) {
- // Recursively merge objects and arrays (susceptible to call stack limits).
- stack.set(srcValue, objValue);
- baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);
- stack['delete'](srcValue);
- }
- return objValue;
- }
-
- /**
- * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain
- * objects.
- *
- * @private
- * @param {*} value The value to inspect.
- * @param {string} key The key of the property to inspect.
- * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.
- */
- function customOmitClone(value) {
- return isPlainObject(value) ? undefined : value;
- }
-
- /**
- * A specialized version of `baseIsEqualDeep` for arrays with support for
- * partial deep comparisons.
- *
- * @private
- * @param {Array} array The array to compare.
- * @param {Array} other The other array to compare.
- * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
- * @param {Function} customizer The function to customize comparisons.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Object} stack Tracks traversed `array` and `other` objects.
- * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
- */
- function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
- arrLength = array.length,
- othLength = other.length;
-
- if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
- return false;
- }
- // Assume cyclic values are equal.
- var stacked = stack.get(array);
- if (stacked && stack.get(other)) {
- return stacked == other;
- }
- var index = -1,
- result = true,
- seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
-
- stack.set(array, other);
- stack.set(other, array);
-
- // Ignore non-index properties.
- while (++index < arrLength) {
- var arrValue = array[index],
- othValue = other[index];
-
- if (customizer) {
- var compared = isPartial
- ? customizer(othValue, arrValue, index, other, array, stack)
- : customizer(arrValue, othValue, index, array, other, stack);
- }
- if (compared !== undefined) {
- if (compared) {
- continue;
- }
- result = false;
- break;
- }
- // Recursively compare arrays (susceptible to call stack limits).
- if (seen) {
- if (!arraySome(other, function(othValue, othIndex) {
- if (!cacheHas(seen, othIndex) &&
- (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
- return seen.push(othIndex);
- }
- })) {
- result = false;
- break;
- }
- } else if (!(
- arrValue === othValue ||
- equalFunc(arrValue, othValue, bitmask, customizer, stack)
- )) {
- result = false;
- break;
- }
- }
- stack['delete'](array);
- stack['delete'](other);
- return result;
- }
-
- /**
- * A specialized version of `baseIsEqualDeep` for comparing objects of
- * the same `toStringTag`.
- *
- * **Note:** This function only supports comparing values with tags of
- * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {string} tag The `toStringTag` of the objects to compare.
- * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
- * @param {Function} customizer The function to customize comparisons.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Object} stack Tracks traversed `object` and `other` objects.
- * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
- */
- function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
- switch (tag) {
- case dataViewTag:
- if ((object.byteLength != other.byteLength) ||
- (object.byteOffset != other.byteOffset)) {
- return false;
- }
- object = object.buffer;
- other = other.buffer;
-
- case arrayBufferTag:
- if ((object.byteLength != other.byteLength) ||
- !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
- return false;
- }
- return true;
-
- case boolTag:
- case dateTag:
- case numberTag:
- // Coerce booleans to `1` or `0` and dates to milliseconds.
- // Invalid dates are coerced to `NaN`.
- return eq(+object, +other);
-
- case errorTag:
- return object.name == other.name && object.message == other.message;
-
- case regexpTag:
- case stringTag:
- // Coerce regexes to strings and treat strings, primitives and objects,
- // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
- // for more details.
- return object == (other + '');
-
- case mapTag:
- var convert = mapToArray;
-
- case setTag:
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
- convert || (convert = setToArray);
-
- if (object.size != other.size && !isPartial) {
- return false;
- }
- // Assume cyclic values are equal.
- var stacked = stack.get(object);
- if (stacked) {
- return stacked == other;
- }
- bitmask |= COMPARE_UNORDERED_FLAG;
-
- // Recursively compare objects (susceptible to call stack limits).
- stack.set(object, other);
- var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
- stack['delete'](object);
- return result;
-
- case symbolTag:
- if (symbolValueOf) {
- return symbolValueOf.call(object) == symbolValueOf.call(other);
- }
- }
- return false;
- }
-
- /**
- * A specialized version of `baseIsEqualDeep` for objects with support for
- * partial deep comparisons.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
- * @param {Function} customizer The function to customize comparisons.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Object} stack Tracks traversed `object` and `other` objects.
- * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
- */
- function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
- objProps = getAllKeys(object),
- objLength = objProps.length,
- othProps = getAllKeys(other),
- othLength = othProps.length;
-
- if (objLength != othLength && !isPartial) {
- return false;
- }
- var index = objLength;
- while (index--) {
- var key = objProps[index];
- if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
- return false;
- }
- }
- // Assume cyclic values are equal.
- var stacked = stack.get(object);
- if (stacked && stack.get(other)) {
- return stacked == other;
- }
- var result = true;
- stack.set(object, other);
- stack.set(other, object);
-
- var skipCtor = isPartial;
- while (++index < objLength) {
- key = objProps[index];
- var objValue = object[key],
- othValue = other[key];
-
- if (customizer) {
- var compared = isPartial
- ? customizer(othValue, objValue, key, other, object, stack)
- : customizer(objValue, othValue, key, object, other, stack);
- }
- // Recursively compare objects (susceptible to call stack limits).
- if (!(compared === undefined
- ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
- : compared
- )) {
- result = false;
- break;
- }
- skipCtor || (skipCtor = key == 'constructor');
- }
- if (result && !skipCtor) {
- var objCtor = object.constructor,
- othCtor = other.constructor;
-
- // Non `Object` object instances with different constructors are not equal.
- if (objCtor != othCtor &&
- ('constructor' in object && 'constructor' in other) &&
- !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
- typeof othCtor == 'function' && othCtor instanceof othCtor)) {
- result = false;
- }
- }
- stack['delete'](object);
- stack['delete'](other);
- return result;
- }
-
- /**
- * A specialized version of `baseRest` which flattens the rest array.
- *
- * @private
- * @param {Function} func The function to apply a rest parameter to.
- * @returns {Function} Returns the new function.
- */
- function flatRest(func) {
- return setToString(overRest(func, undefined, flatten), func + '');
- }
-
- /**
- * Creates an array of own enumerable property names and symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names and symbols.
- */
- function getAllKeys(object) {
- return baseGetAllKeys(object, keys, getSymbols);
- }
-
- /**
- * Creates an array of own and inherited enumerable property names and
- * symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names and symbols.
- */
- function getAllKeysIn(object) {
- return baseGetAllKeys(object, keysIn, getSymbolsIn);
- }
-
- /**
- * Gets metadata for `func`.
- *
- * @private
- * @param {Function} func The function to query.
- * @returns {*} Returns the metadata for `func`.
- */
- var getData = !metaMap ? noop : function(func) {
- return metaMap.get(func);
- };
-
- /**
- * Gets the name of `func`.
- *
- * @private
- * @param {Function} func The function to query.
- * @returns {string} Returns the function name.
- */
- function getFuncName(func) {
- var result = (func.name + ''),
- array = realNames[result],
- length = hasOwnProperty.call(realNames, result) ? array.length : 0;
-
- while (length--) {
- var data = array[length],
- otherFunc = data.func;
- if (otherFunc == null || otherFunc == func) {
- return data.name;
- }
- }
- return result;
- }
-
- /**
- * Gets the argument placeholder value for `func`.
- *
- * @private
- * @param {Function} func The function to inspect.
- * @returns {*} Returns the placeholder value.
- */
- function getHolder(func) {
- var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;
- return object.placeholder;
- }
-
- /**
- * Gets the appropriate "iteratee" function. If `_.iteratee` is customized,
- * this function returns the custom method, otherwise it returns `baseIteratee`.
- * If arguments are provided, the chosen function is invoked with them and
- * its result is returned.
- *
- * @private
- * @param {*} [value] The value to convert to an iteratee.
- * @param {number} [arity] The arity of the created iteratee.
- * @returns {Function} Returns the chosen function or its result.
- */
- function getIteratee() {
- var result = lodash.iteratee || iteratee;
- result = result === iteratee ? baseIteratee : result;
- return arguments.length ? result(arguments[0], arguments[1]) : result;
- }
-
- /**
- * Gets the data for `map`.
- *
- * @private
- * @param {Object} map The map to query.
- * @param {string} key The reference key.
- * @returns {*} Returns the map data.
- */
- function getMapData(map, key) {
- var data = map.__data__;
- return isKeyable(key)
- ? data[typeof key == 'string' ? 'string' : 'hash']
- : data.map;
- }
-
- /**
- * Gets the property names, values, and compare flags of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the match data of `object`.
- */
- function getMatchData(object) {
- var result = keys(object),
- length = result.length;
-
- while (length--) {
- var key = result[length],
- value = object[key];
-
- result[length] = [key, value, isStrictComparable(value)];
- }
- return result;
- }
-
- /**
- * Gets the native function at `key` of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {string} key The key of the method to get.
- * @returns {*} Returns the function if it's native, else `undefined`.
- */
- function getNative(object, key) {
- var value = getValue(object, key);
- return baseIsNative(value) ? value : undefined;
- }
-
- /**
- * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the raw `toStringTag`.
- */
- function getRawTag(value) {
- var isOwn = hasOwnProperty.call(value, symToStringTag),
- tag = value[symToStringTag];
-
- try {
- value[symToStringTag] = undefined;
- var unmasked = true;
- } catch (e) {}
-
- var result = nativeObjectToString.call(value);
- if (unmasked) {
- if (isOwn) {
- value[symToStringTag] = tag;
- } else {
- delete value[symToStringTag];
- }
- }
- return result;
- }
-
- /**
- * Creates an array of the own enumerable symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of symbols.
- */
- var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
- if (object == null) {
- return [];
- }
- object = Object(object);
- return arrayFilter(nativeGetSymbols(object), function(symbol) {
- return propertyIsEnumerable.call(object, symbol);
- });
- };
-
- /**
- * Creates an array of the own and inherited enumerable symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of symbols.
- */
- var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
- var result = [];
- while (object) {
- arrayPush(result, getSymbols(object));
- object = getPrototype(object);
- }
- return result;
- };
-
- /**
- * Gets the `toStringTag` of `value`.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the `toStringTag`.
- */
- var getTag = baseGetTag;
-
- // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
- if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
- (Map && getTag(new Map) != mapTag) ||
- (Promise && getTag(Promise.resolve()) != promiseTag) ||
- (Set && getTag(new Set) != setTag) ||
- (WeakMap && getTag(new WeakMap) != weakMapTag)) {
- getTag = function(value) {
- var result = baseGetTag(value),
- Ctor = result == objectTag ? value.constructor : undefined,
- ctorString = Ctor ? toSource(Ctor) : '';
-
- if (ctorString) {
- switch (ctorString) {
- case dataViewCtorString: return dataViewTag;
- case mapCtorString: return mapTag;
- case promiseCtorString: return promiseTag;
- case setCtorString: return setTag;
- case weakMapCtorString: return weakMapTag;
- }
- }
- return result;
- };
- }
-
- /**
- * Gets the view, applying any `transforms` to the `start` and `end` positions.
- *
- * @private
- * @param {number} start The start of the view.
- * @param {number} end The end of the view.
- * @param {Array} transforms The transformations to apply to the view.
- * @returns {Object} Returns an object containing the `start` and `end`
- * positions of the view.
- */
- function getView(start, end, transforms) {
- var index = -1,
- length = transforms.length;
-
- while (++index < length) {
- var data = transforms[index],
- size = data.size;
-
- switch (data.type) {
- case 'drop': start += size; break;
- case 'dropRight': end -= size; break;
- case 'take': end = nativeMin(end, start + size); break;
- case 'takeRight': start = nativeMax(start, end - size); break;
- }
- }
- return { 'start': start, 'end': end };
- }
-
- /**
- * Extracts wrapper details from the `source` body comment.
- *
- * @private
- * @param {string} source The source to inspect.
- * @returns {Array} Returns the wrapper details.
- */
- function getWrapDetails(source) {
- var match = source.match(reWrapDetails);
- return match ? match[1].split(reSplitDetails) : [];
- }
-
- /**
- * Checks if `path` exists on `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array|string} path The path to check.
- * @param {Function} hasFunc The function to check properties.
- * @returns {boolean} Returns `true` if `path` exists, else `false`.
- */
- function hasPath(object, path, hasFunc) {
- path = castPath(path, object);
-
- var index = -1,
- length = path.length,
- result = false;
-
- while (++index < length) {
- var key = toKey(path[index]);
- if (!(result = object != null && hasFunc(object, key))) {
- break;
- }
- object = object[key];
- }
- if (result || ++index != length) {
- return result;
- }
- length = object == null ? 0 : object.length;
- return !!length && isLength(length) && isIndex(key, length) &&
- (isArray(object) || isArguments(object));
- }
-
- /**
- * Initializes an array clone.
- *
- * @private
- * @param {Array} array The array to clone.
- * @returns {Array} Returns the initialized clone.
- */
- function initCloneArray(array) {
- var length = array.length,
- result = array.constructor(length);
-
- // Add properties assigned by `RegExp#exec`.
- if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
- result.index = array.index;
- result.input = array.input;
- }
- return result;
- }
-
- /**
- * Initializes an object clone.
- *
- * @private
- * @param {Object} object The object to clone.
- * @returns {Object} Returns the initialized clone.
- */
- function initCloneObject(object) {
- return (typeof object.constructor == 'function' && !isPrototype(object))
- ? baseCreate(getPrototype(object))
- : {};
- }
-
- /**
- * Initializes an object clone based on its `toStringTag`.
- *
- * **Note:** This function only supports cloning values with tags of
- * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
- *
- * @private
- * @param {Object} object The object to clone.
- * @param {string} tag The `toStringTag` of the object to clone.
- * @param {Function} cloneFunc The function to clone values.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Object} Returns the initialized clone.
- */
- function initCloneByTag(object, tag, cloneFunc, isDeep) {
- var Ctor = object.constructor;
- switch (tag) {
- case arrayBufferTag:
- return cloneArrayBuffer(object);
-
- case boolTag:
- case dateTag:
- return new Ctor(+object);
-
- case dataViewTag:
- return cloneDataView(object, isDeep);
-
- case float32Tag: case float64Tag:
- case int8Tag: case int16Tag: case int32Tag:
- case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:
- return cloneTypedArray(object, isDeep);
-
- case mapTag:
- return cloneMap(object, isDeep, cloneFunc);
-
- case numberTag:
- case stringTag:
- return new Ctor(object);
-
- case regexpTag:
- return cloneRegExp(object);
-
- case setTag:
- return cloneSet(object, isDeep, cloneFunc);
-
- case symbolTag:
- return cloneSymbol(object);
- }
- }
-
- /**
- * Inserts wrapper `details` in a comment at the top of the `source` body.
- *
- * @private
- * @param {string} source The source to modify.
- * @returns {Array} details The details to insert.
- * @returns {string} Returns the modified source.
- */
- function insertWrapDetails(source, details) {
- var length = details.length;
- if (!length) {
- return source;
- }
- var lastIndex = length - 1;
- details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];
- details = details.join(length > 2 ? ', ' : ' ');
- return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n');
- }
-
- /**
- * Checks if `value` is a flattenable `arguments` object or array.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
- */
- function isFlattenable(value) {
- return isArray(value) || isArguments(value) ||
- !!(spreadableSymbol && value && value[spreadableSymbol]);
- }
-
- /**
- * Checks if `value` is a valid array-like index.
- *
- * @private
- * @param {*} value The value to check.
- * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
- * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
- */
- function isIndex(value, length) {
- length = length == null ? MAX_SAFE_INTEGER : length;
- return !!length &&
- (typeof value == 'number' || reIsUint.test(value)) &&
- (value > -1 && value % 1 == 0 && value < length);
- }
-
- /**
- * Checks if the given arguments are from an iteratee call.
- *
- * @private
- * @param {*} value The potential iteratee value argument.
- * @param {*} index The potential iteratee index or key argument.
- * @param {*} object The potential iteratee object argument.
- * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
- * else `false`.
- */
- function isIterateeCall(value, index, object) {
- if (!isObject(object)) {
- return false;
- }
- var type = typeof index;
- if (type == 'number'
- ? (isArrayLike(object) && isIndex(index, object.length))
- : (type == 'string' && index in object)
- ) {
- return eq(object[index], value);
- }
- return false;
- }
-
- /**
- * Checks if `value` is a property name and not a property path.
- *
- * @private
- * @param {*} value The value to check.
- * @param {Object} [object] The object to query keys on.
- * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
- */
- function isKey(value, object) {
- if (isArray(value)) {
- return false;
- }
- var type = typeof value;
- if (type == 'number' || type == 'symbol' || type == 'boolean' ||
- value == null || isSymbol(value)) {
- return true;
- }
- return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
- (object != null && value in Object(object));
- }
-
- /**
- * Checks if `value` is suitable for use as unique object key.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
- */
- function isKeyable(value) {
- var type = typeof value;
- return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
- ? (value !== '__proto__')
- : (value === null);
- }
-
- /**
- * Checks if `func` has a lazy counterpart.
- *
- * @private
- * @param {Function} func The function to check.
- * @returns {boolean} Returns `true` if `func` has a lazy counterpart,
- * else `false`.
- */
- function isLaziable(func) {
- var funcName = getFuncName(func),
- other = lodash[funcName];
-
- if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {
- return false;
- }
- if (func === other) {
- return true;
- }
- var data = getData(other);
- return !!data && func === data[0];
- }
-
- /**
- * Checks if `func` has its source masked.
- *
- * @private
- * @param {Function} func The function to check.
- * @returns {boolean} Returns `true` if `func` is masked, else `false`.
- */
- function isMasked(func) {
- return !!maskSrcKey && (maskSrcKey in func);
- }
-
- /**
- * Checks if `func` is capable of being masked.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `func` is maskable, else `false`.
- */
- var isMaskable = coreJsData ? isFunction : stubFalse;
-
- /**
- * Checks if `value` is likely a prototype object.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
- */
- function isPrototype(value) {
- var Ctor = value && value.constructor,
- proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;
-
- return value === proto;
- }
-
- /**
- * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` if suitable for strict
- * equality comparisons, else `false`.
- */
- function isStrictComparable(value) {
- return value === value && !isObject(value);
- }
-
- /**
- * A specialized version of `matchesProperty` for source values suitable
- * for strict equality comparisons, i.e. `===`.
- *
- * @private
- * @param {string} key The key of the property to get.
- * @param {*} srcValue The value to match.
- * @returns {Function} Returns the new spec function.
- */
- function matchesStrictComparable(key, srcValue) {
- return function(object) {
- if (object == null) {
- return false;
- }
- return object[key] === srcValue &&
- (srcValue !== undefined || (key in Object(object)));
- };
- }
-
- /**
- * A specialized version of `_.memoize` which clears the memoized function's
- * cache when it exceeds `MAX_MEMOIZE_SIZE`.
- *
- * @private
- * @param {Function} func The function to have its output memoized.
- * @returns {Function} Returns the new memoized function.
- */
- function memoizeCapped(func) {
- var result = memoize(func, function(key) {
- if (cache.size === MAX_MEMOIZE_SIZE) {
- cache.clear();
- }
- return key;
- });
-
- var cache = result.cache;
- return result;
- }
-
- /**
- * Merges the function metadata of `source` into `data`.
- *
- * Merging metadata reduces the number of wrappers used to invoke a function.
- * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`
- * may be applied regardless of execution order. Methods like `_.ary` and
- * `_.rearg` modify function arguments, making the order in which they are
- * executed important, preventing the merging of metadata. However, we make
- * an exception for a safe combined case where curried functions have `_.ary`
- * and or `_.rearg` applied.
- *
- * @private
- * @param {Array} data The destination metadata.
- * @param {Array} source The source metadata.
- * @returns {Array} Returns `data`.
- */
- function mergeData(data, source) {
- var bitmask = data[1],
- srcBitmask = source[1],
- newBitmask = bitmask | srcBitmask,
- isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);
-
- var isCombo =
- ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||
- ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||
- ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));
-
- // Exit early if metadata can't be merged.
- if (!(isCommon || isCombo)) {
- return data;
- }
- // Use source `thisArg` if available.
- if (srcBitmask & WRAP_BIND_FLAG) {
- data[2] = source[2];
- // Set when currying a bound function.
- newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;
- }
- // Compose partial arguments.
- var value = source[3];
- if (value) {
- var partials = data[3];
- data[3] = partials ? composeArgs(partials, value, source[4]) : value;
- data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];
- }
- // Compose partial right arguments.
- value = source[5];
- if (value) {
- partials = data[5];
- data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;
- data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];
- }
- // Use source `argPos` if available.
- value = source[7];
- if (value) {
- data[7] = value;
- }
- // Use source `ary` if it's smaller.
- if (srcBitmask & WRAP_ARY_FLAG) {
- data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);
- }
- // Use source `arity` if one is not provided.
- if (data[9] == null) {
- data[9] = source[9];
- }
- // Use source `func` and merge bitmasks.
- data[0] = source[0];
- data[1] = newBitmask;
-
- return data;
- }
-
- /**
- * This function is like
- * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
- * except that it includes inherited enumerable properties.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- */
- function nativeKeysIn(object) {
- var result = [];
- if (object != null) {
- for (var key in Object(object)) {
- result.push(key);
- }
- }
- return result;
- }
-
- /**
- * Converts `value` to a string using `Object.prototype.toString`.
- *
- * @private
- * @param {*} value The value to convert.
- * @returns {string} Returns the converted string.
- */
- function objectToString(value) {
- return nativeObjectToString.call(value);
- }
-
- /**
- * A specialized version of `baseRest` which transforms the rest array.
- *
- * @private
- * @param {Function} func The function to apply a rest parameter to.
- * @param {number} [start=func.length-1] The start position of the rest parameter.
- * @param {Function} transform The rest array transform.
- * @returns {Function} Returns the new function.
- */
- function overRest(func, start, transform) {
- start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
- return function() {
- var args = arguments,
- index = -1,
- length = nativeMax(args.length - start, 0),
- array = Array(length);
-
- while (++index < length) {
- array[index] = args[start + index];
- }
- index = -1;
- var otherArgs = Array(start + 1);
- while (++index < start) {
- otherArgs[index] = args[index];
- }
- otherArgs[start] = transform(array);
- return apply(func, this, otherArgs);
- };
- }
-
- /**
- * Gets the parent value at `path` of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array} path The path to get the parent value of.
- * @returns {*} Returns the parent value.
- */
- function parent(object, path) {
- return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));
- }
-
- /**
- * Reorder `array` according to the specified indexes where the element at
- * the first index is assigned as the first element, the element at
- * the second index is assigned as the second element, and so on.
- *
- * @private
- * @param {Array} array The array to reorder.
- * @param {Array} indexes The arranged array indexes.
- * @returns {Array} Returns `array`.
- */
- function reorder(array, indexes) {
- var arrLength = array.length,
- length = nativeMin(indexes.length, arrLength),
- oldArray = copyArray(array);
-
- while (length--) {
- var index = indexes[length];
- array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;
- }
- return array;
- }
-
- /**
- * Sets metadata for `func`.
- *
- * **Note:** If this function becomes hot, i.e. is invoked a lot in a short
- * period of time, it will trip its breaker and transition to an identity
- * function to avoid garbage collection pauses in V8. See
- * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)
- * for more details.
- *
- * @private
- * @param {Function} func The function to associate metadata with.
- * @param {*} data The metadata.
- * @returns {Function} Returns `func`.
- */
- var setData = shortOut(baseSetData);
-
- /**
- * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).
- *
- * @private
- * @param {Function} func The function to delay.
- * @param {number} wait The number of milliseconds to delay invocation.
- * @returns {number|Object} Returns the timer id or timeout object.
- */
- var setTimeout = ctxSetTimeout || function(func, wait) {
- return root.setTimeout(func, wait);
- };
-
- /**
- * Sets the `toString` method of `func` to return `string`.
- *
- * @private
- * @param {Function} func The function to modify.
- * @param {Function} string The `toString` result.
- * @returns {Function} Returns `func`.
- */
- var setToString = shortOut(baseSetToString);
-
- /**
- * Sets the `toString` method of `wrapper` to mimic the source of `reference`
- * with wrapper details in a comment at the top of the source body.
- *
- * @private
- * @param {Function} wrapper The function to modify.
- * @param {Function} reference The reference function.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @returns {Function} Returns `wrapper`.
- */
- function setWrapToString(wrapper, reference, bitmask) {
- var source = (reference + '');
- return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));
- }
-
- /**
- * Creates a function that'll short out and invoke `identity` instead
- * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
- * milliseconds.
- *
- * @private
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new shortable function.
- */
- function shortOut(func) {
- var count = 0,
- lastCalled = 0;
-
- return function() {
- var stamp = nativeNow(),
- remaining = HOT_SPAN - (stamp - lastCalled);
-
- lastCalled = stamp;
- if (remaining > 0) {
- if (++count >= HOT_COUNT) {
- return arguments[0];
- }
- } else {
- count = 0;
- }
- return func.apply(undefined, arguments);
- };
- }
-
- /**
- * A specialized version of `_.shuffle` which mutates and sets the size of `array`.
- *
- * @private
- * @param {Array} array The array to shuffle.
- * @param {number} [size=array.length] The size of `array`.
- * @returns {Array} Returns `array`.
- */
- function shuffleSelf(array, size) {
- var index = -1,
- length = array.length,
- lastIndex = length - 1;
-
- size = size === undefined ? length : size;
- while (++index < size) {
- var rand = baseRandom(index, lastIndex),
- value = array[rand];
-
- array[rand] = array[index];
- array[index] = value;
- }
- array.length = size;
- return array;
- }
-
- /**
- * Converts `string` to a property path array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the property path array.
- */
- var stringToPath = memoizeCapped(function(string) {
- var result = [];
- if (reLeadingDot.test(string)) {
- result.push('');
- }
- string.replace(rePropName, function(match, number, quote, string) {
- result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
- });
- return result;
- });
-
- /**
- * Converts `value` to a string key if it's not a string or symbol.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {string|symbol} Returns the key.
- */
- function toKey(value) {
- if (typeof value == 'string' || isSymbol(value)) {
- return value;
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
- }
-
- /**
- * Converts `func` to its source code.
- *
- * @private
- * @param {Function} func The function to convert.
- * @returns {string} Returns the source code.
- */
- function toSource(func) {
- if (func != null) {
- try {
- return funcToString.call(func);
- } catch (e) {}
- try {
- return (func + '');
- } catch (e) {}
- }
- return '';
- }
-
- /**
- * Updates wrapper `details` based on `bitmask` flags.
- *
- * @private
- * @returns {Array} details The details to modify.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @returns {Array} Returns `details`.
- */
- function updateWrapDetails(details, bitmask) {
- arrayEach(wrapFlags, function(pair) {
- var value = '_.' + pair[0];
- if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {
- details.push(value);
- }
- });
- return details.sort();
- }
-
- /**
- * Creates a clone of `wrapper`.
- *
- * @private
- * @param {Object} wrapper The wrapper to clone.
- * @returns {Object} Returns the cloned wrapper.
- */
- function wrapperClone(wrapper) {
- if (wrapper instanceof LazyWrapper) {
- return wrapper.clone();
- }
- var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);
- result.__actions__ = copyArray(wrapper.__actions__);
- result.__index__ = wrapper.__index__;
- result.__values__ = wrapper.__values__;
- return result;
- }
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates an array of elements split into groups the length of `size`.
- * If `array` can't be split evenly, the final chunk will be the remaining
- * elements.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to process.
- * @param {number} [size=1] The length of each chunk
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Array} Returns the new array of chunks.
- * @example
- *
- * _.chunk(['a', 'b', 'c', 'd'], 2);
- * // => [['a', 'b'], ['c', 'd']]
- *
- * _.chunk(['a', 'b', 'c', 'd'], 3);
- * // => [['a', 'b', 'c'], ['d']]
- */
- function chunk(array, size, guard) {
- if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {
- size = 1;
- } else {
- size = nativeMax(toInteger(size), 0);
- }
- var length = array == null ? 0 : array.length;
- if (!length || size < 1) {
- return [];
- }
- var index = 0,
- resIndex = 0,
- result = Array(nativeCeil(length / size));
-
- while (index < length) {
- result[resIndex++] = baseSlice(array, index, (index += size));
- }
- return result;
- }
-
- /**
- * Creates an array with all falsey values removed. The values `false`, `null`,
- * `0`, `""`, `undefined`, and `NaN` are falsey.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to compact.
- * @returns {Array} Returns the new array of filtered values.
- * @example
- *
- * _.compact([0, 1, false, 2, '', 3]);
- * // => [1, 2, 3]
- */
- function compact(array) {
- var index = -1,
- length = array == null ? 0 : array.length,
- resIndex = 0,
- result = [];
-
- while (++index < length) {
- var value = array[index];
- if (value) {
- result[resIndex++] = value;
- }
- }
- return result;
- }
-
- /**
- * Creates a new array concatenating `array` with any additional arrays
- * and/or values.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to concatenate.
- * @param {...*} [values] The values to concatenate.
- * @returns {Array} Returns the new concatenated array.
- * @example
- *
- * var array = [1];
- * var other = _.concat(array, 2, [3], [[4]]);
- *
- * console.log(other);
- * // => [1, 2, 3, [4]]
- *
- * console.log(array);
- * // => [1]
- */
- function concat() {
- var length = arguments.length;
- if (!length) {
- return [];
- }
- var args = Array(length - 1),
- array = arguments[0],
- index = length;
-
- while (index--) {
- args[index - 1] = arguments[index];
- }
- return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));
- }
-
- /**
- * Creates an array of `array` values not included in the other given arrays
- * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons. The order and references of result values are
- * determined by the first array.
- *
- * **Note:** Unlike `_.pullAll`, this method returns a new array.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {...Array} [values] The values to exclude.
- * @returns {Array} Returns the new array of filtered values.
- * @see _.without, _.xor
- * @example
- *
- * _.difference([2, 1], [2, 3]);
- * // => [1]
- */
- var difference = baseRest(function(array, values) {
- return isArrayLikeObject(array)
- ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))
- : [];
- });
-
- /**
- * This method is like `_.difference` except that it accepts `iteratee` which
- * is invoked for each element of `array` and `values` to generate the criterion
- * by which they're compared. The order and references of result values are
- * determined by the first array. The iteratee is invoked with one argument:
- * (value).
- *
- * **Note:** Unlike `_.pullAllBy`, this method returns a new array.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {...Array} [values] The values to exclude.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Array} Returns the new array of filtered values.
- * @example
- *
- * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);
- * // => [1.2]
- *
- * // The `_.property` iteratee shorthand.
- * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');
- * // => [{ 'x': 2 }]
- */
- var differenceBy = baseRest(function(array, values) {
- var iteratee = last(values);
- if (isArrayLikeObject(iteratee)) {
- iteratee = undefined;
- }
- return isArrayLikeObject(array)
- ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))
- : [];
- });
-
- /**
- * This method is like `_.difference` except that it accepts `comparator`
- * which is invoked to compare elements of `array` to `values`. The order and
- * references of result values are determined by the first array. The comparator
- * is invoked with two arguments: (arrVal, othVal).
- *
- * **Note:** Unlike `_.pullAllWith`, this method returns a new array.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {...Array} [values] The values to exclude.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of filtered values.
- * @example
- *
- * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
- *
- * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);
- * // => [{ 'x': 2, 'y': 1 }]
- */
- var differenceWith = baseRest(function(array, values) {
- var comparator = last(values);
- if (isArrayLikeObject(comparator)) {
- comparator = undefined;
- }
- return isArrayLikeObject(array)
- ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)
- : [];
- });
-
- /**
- * Creates a slice of `array` with `n` elements dropped from the beginning.
- *
- * @static
- * @memberOf _
- * @since 0.5.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {number} [n=1] The number of elements to drop.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * _.drop([1, 2, 3]);
- * // => [2, 3]
- *
- * _.drop([1, 2, 3], 2);
- * // => [3]
- *
- * _.drop([1, 2, 3], 5);
- * // => []
- *
- * _.drop([1, 2, 3], 0);
- * // => [1, 2, 3]
- */
- function drop(array, n, guard) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return [];
- }
- n = (guard || n === undefined) ? 1 : toInteger(n);
- return baseSlice(array, n < 0 ? 0 : n, length);
- }
-
- /**
- * Creates a slice of `array` with `n` elements dropped from the end.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {number} [n=1] The number of elements to drop.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * _.dropRight([1, 2, 3]);
- * // => [1, 2]
- *
- * _.dropRight([1, 2, 3], 2);
- * // => [1]
- *
- * _.dropRight([1, 2, 3], 5);
- * // => []
- *
- * _.dropRight([1, 2, 3], 0);
- * // => [1, 2, 3]
- */
- function dropRight(array, n, guard) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return [];
- }
- n = (guard || n === undefined) ? 1 : toInteger(n);
- n = length - n;
- return baseSlice(array, 0, n < 0 ? 0 : n);
- }
-
- /**
- * Creates a slice of `array` excluding elements dropped from the end.
- * Elements are dropped until `predicate` returns falsey. The predicate is
- * invoked with three arguments: (value, index, array).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'active': true },
- * { 'user': 'fred', 'active': false },
- * { 'user': 'pebbles', 'active': false }
- * ];
- *
- * _.dropRightWhile(users, function(o) { return !o.active; });
- * // => objects for ['barney']
- *
- * // The `_.matches` iteratee shorthand.
- * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });
- * // => objects for ['barney', 'fred']
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.dropRightWhile(users, ['active', false]);
- * // => objects for ['barney']
- *
- * // The `_.property` iteratee shorthand.
- * _.dropRightWhile(users, 'active');
- * // => objects for ['barney', 'fred', 'pebbles']
- */
- function dropRightWhile(array, predicate) {
- return (array && array.length)
- ? baseWhile(array, getIteratee(predicate, 3), true, true)
- : [];
- }
-
- /**
- * Creates a slice of `array` excluding elements dropped from the beginning.
- * Elements are dropped until `predicate` returns falsey. The predicate is
- * invoked with three arguments: (value, index, array).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'active': false },
- * { 'user': 'fred', 'active': false },
- * { 'user': 'pebbles', 'active': true }
- * ];
- *
- * _.dropWhile(users, function(o) { return !o.active; });
- * // => objects for ['pebbles']
- *
- * // The `_.matches` iteratee shorthand.
- * _.dropWhile(users, { 'user': 'barney', 'active': false });
- * // => objects for ['fred', 'pebbles']
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.dropWhile(users, ['active', false]);
- * // => objects for ['pebbles']
- *
- * // The `_.property` iteratee shorthand.
- * _.dropWhile(users, 'active');
- * // => objects for ['barney', 'fred', 'pebbles']
- */
- function dropWhile(array, predicate) {
- return (array && array.length)
- ? baseWhile(array, getIteratee(predicate, 3), true)
- : [];
- }
-
- /**
- * Fills elements of `array` with `value` from `start` up to, but not
- * including, `end`.
- *
- * **Note:** This method mutates `array`.
- *
- * @static
- * @memberOf _
- * @since 3.2.0
- * @category Array
- * @param {Array} array The array to fill.
- * @param {*} value The value to fill `array` with.
- * @param {number} [start=0] The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = [1, 2, 3];
- *
- * _.fill(array, 'a');
- * console.log(array);
- * // => ['a', 'a', 'a']
- *
- * _.fill(Array(3), 2);
- * // => [2, 2, 2]
- *
- * _.fill([4, 6, 8, 10], '*', 1, 3);
- * // => [4, '*', '*', 10]
- */
- function fill(array, value, start, end) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return [];
- }
- if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {
- start = 0;
- end = length;
- }
- return baseFill(array, value, start, end);
- }
-
- /**
- * This method is like `_.find` except that it returns the index of the first
- * element `predicate` returns truthy for instead of the element itself.
- *
- * @static
- * @memberOf _
- * @since 1.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {number} Returns the index of the found element, else `-1`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'active': false },
- * { 'user': 'fred', 'active': false },
- * { 'user': 'pebbles', 'active': true }
- * ];
- *
- * _.findIndex(users, function(o) { return o.user == 'barney'; });
- * // => 0
- *
- * // The `_.matches` iteratee shorthand.
- * _.findIndex(users, { 'user': 'fred', 'active': false });
- * // => 1
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.findIndex(users, ['active', false]);
- * // => 0
- *
- * // The `_.property` iteratee shorthand.
- * _.findIndex(users, 'active');
- * // => 2
- */
- function findIndex(array, predicate, fromIndex) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return -1;
- }
- var index = fromIndex == null ? 0 : toInteger(fromIndex);
- if (index < 0) {
- index = nativeMax(length + index, 0);
- }
- return baseFindIndex(array, getIteratee(predicate, 3), index);
- }
-
- /**
- * This method is like `_.findIndex` except that it iterates over elements
- * of `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param {number} [fromIndex=array.length-1] The index to search from.
- * @returns {number} Returns the index of the found element, else `-1`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'active': true },
- * { 'user': 'fred', 'active': false },
- * { 'user': 'pebbles', 'active': false }
- * ];
- *
- * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });
- * // => 2
- *
- * // The `_.matches` iteratee shorthand.
- * _.findLastIndex(users, { 'user': 'barney', 'active': true });
- * // => 0
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.findLastIndex(users, ['active', false]);
- * // => 2
- *
- * // The `_.property` iteratee shorthand.
- * _.findLastIndex(users, 'active');
- * // => 0
- */
- function findLastIndex(array, predicate, fromIndex) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return -1;
- }
- var index = length - 1;
- if (fromIndex !== undefined) {
- index = toInteger(fromIndex);
- index = fromIndex < 0
- ? nativeMax(length + index, 0)
- : nativeMin(index, length - 1);
- }
- return baseFindIndex(array, getIteratee(predicate, 3), index, true);
- }
-
- /**
- * Flattens `array` a single level deep.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to flatten.
- * @returns {Array} Returns the new flattened array.
- * @example
- *
- * _.flatten([1, [2, [3, [4]], 5]]);
- * // => [1, 2, [3, [4]], 5]
- */
- function flatten(array) {
- var length = array == null ? 0 : array.length;
- return length ? baseFlatten(array, 1) : [];
- }
-
- /**
- * Recursively flattens `array`.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to flatten.
- * @returns {Array} Returns the new flattened array.
- * @example
- *
- * _.flattenDeep([1, [2, [3, [4]], 5]]);
- * // => [1, 2, 3, 4, 5]
- */
- function flattenDeep(array) {
- var length = array == null ? 0 : array.length;
- return length ? baseFlatten(array, INFINITY) : [];
- }
-
- /**
- * Recursively flatten `array` up to `depth` times.
- *
- * @static
- * @memberOf _
- * @since 4.4.0
- * @category Array
- * @param {Array} array The array to flatten.
- * @param {number} [depth=1] The maximum recursion depth.
- * @returns {Array} Returns the new flattened array.
- * @example
- *
- * var array = [1, [2, [3, [4]], 5]];
- *
- * _.flattenDepth(array, 1);
- * // => [1, 2, [3, [4]], 5]
- *
- * _.flattenDepth(array, 2);
- * // => [1, 2, 3, [4], 5]
- */
- function flattenDepth(array, depth) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return [];
- }
- depth = depth === undefined ? 1 : toInteger(depth);
- return baseFlatten(array, depth);
- }
-
- /**
- * The inverse of `_.toPairs`; this method returns an object composed
- * from key-value `pairs`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} pairs The key-value pairs.
- * @returns {Object} Returns the new object.
- * @example
- *
- * _.fromPairs([['a', 1], ['b', 2]]);
- * // => { 'a': 1, 'b': 2 }
- */
- function fromPairs(pairs) {
- var index = -1,
- length = pairs == null ? 0 : pairs.length,
- result = {};
-
- while (++index < length) {
- var pair = pairs[index];
- result[pair[0]] = pair[1];
- }
- return result;
- }
-
- /**
- * Gets the first element of `array`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @alias first
- * @category Array
- * @param {Array} array The array to query.
- * @returns {*} Returns the first element of `array`.
- * @example
- *
- * _.head([1, 2, 3]);
- * // => 1
- *
- * _.head([]);
- * // => undefined
- */
- function head(array) {
- return (array && array.length) ? array[0] : undefined;
- }
-
- /**
- * Gets the index at which the first occurrence of `value` is found in `array`
- * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons. If `fromIndex` is negative, it's used as the
- * offset from the end of `array`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {number} Returns the index of the matched value, else `-1`.
- * @example
- *
- * _.indexOf([1, 2, 1, 2], 2);
- * // => 1
- *
- * // Search from the `fromIndex`.
- * _.indexOf([1, 2, 1, 2], 2, 2);
- * // => 3
- */
- function indexOf(array, value, fromIndex) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return -1;
- }
- var index = fromIndex == null ? 0 : toInteger(fromIndex);
- if (index < 0) {
- index = nativeMax(length + index, 0);
- }
- return baseIndexOf(array, value, index);
- }
-
- /**
- * Gets all but the last element of `array`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to query.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * _.initial([1, 2, 3]);
- * // => [1, 2]
- */
- function initial(array) {
- var length = array == null ? 0 : array.length;
- return length ? baseSlice(array, 0, -1) : [];
- }
-
- /**
- * Creates an array of unique values that are included in all given arrays
- * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons. The order and references of result values are
- * determined by the first array.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @returns {Array} Returns the new array of intersecting values.
- * @example
- *
- * _.intersection([2, 1], [2, 3]);
- * // => [2]
- */
- var intersection = baseRest(function(arrays) {
- var mapped = arrayMap(arrays, castArrayLikeObject);
- return (mapped.length && mapped[0] === arrays[0])
- ? baseIntersection(mapped)
- : [];
- });
-
- /**
- * This method is like `_.intersection` except that it accepts `iteratee`
- * which is invoked for each element of each `arrays` to generate the criterion
- * by which they're compared. The order and references of result values are
- * determined by the first array. The iteratee is invoked with one argument:
- * (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Array} Returns the new array of intersecting values.
- * @example
- *
- * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);
- * // => [2.1]
- *
- * // The `_.property` iteratee shorthand.
- * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
- * // => [{ 'x': 1 }]
- */
- var intersectionBy = baseRest(function(arrays) {
- var iteratee = last(arrays),
- mapped = arrayMap(arrays, castArrayLikeObject);
-
- if (iteratee === last(mapped)) {
- iteratee = undefined;
- } else {
- mapped.pop();
- }
- return (mapped.length && mapped[0] === arrays[0])
- ? baseIntersection(mapped, getIteratee(iteratee, 2))
- : [];
- });
-
- /**
- * This method is like `_.intersection` except that it accepts `comparator`
- * which is invoked to compare elements of `arrays`. The order and references
- * of result values are determined by the first array. The comparator is
- * invoked with two arguments: (arrVal, othVal).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of intersecting values.
- * @example
- *
- * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
- * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
- *
- * _.intersectionWith(objects, others, _.isEqual);
- * // => [{ 'x': 1, 'y': 2 }]
- */
- var intersectionWith = baseRest(function(arrays) {
- var comparator = last(arrays),
- mapped = arrayMap(arrays, castArrayLikeObject);
-
- comparator = typeof comparator == 'function' ? comparator : undefined;
- if (comparator) {
- mapped.pop();
- }
- return (mapped.length && mapped[0] === arrays[0])
- ? baseIntersection(mapped, undefined, comparator)
- : [];
- });
-
- /**
- * Converts all elements in `array` into a string separated by `separator`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to convert.
- * @param {string} [separator=','] The element separator.
- * @returns {string} Returns the joined string.
- * @example
- *
- * _.join(['a', 'b', 'c'], '~');
- * // => 'a~b~c'
- */
- function join(array, separator) {
- return array == null ? '' : nativeJoin.call(array, separator);
- }
-
- /**
- * Gets the last element of `array`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to query.
- * @returns {*} Returns the last element of `array`.
- * @example
- *
- * _.last([1, 2, 3]);
- * // => 3
- */
- function last(array) {
- var length = array == null ? 0 : array.length;
- return length ? array[length - 1] : undefined;
- }
-
- /**
- * This method is like `_.indexOf` except that it iterates over elements of
- * `array` from right to left.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} [fromIndex=array.length-1] The index to search from.
- * @returns {number} Returns the index of the matched value, else `-1`.
- * @example
- *
- * _.lastIndexOf([1, 2, 1, 2], 2);
- * // => 3
- *
- * // Search from the `fromIndex`.
- * _.lastIndexOf([1, 2, 1, 2], 2, 2);
- * // => 1
- */
- function lastIndexOf(array, value, fromIndex) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return -1;
- }
- var index = length;
- if (fromIndex !== undefined) {
- index = toInteger(fromIndex);
- index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);
- }
- return value === value
- ? strictLastIndexOf(array, value, index)
- : baseFindIndex(array, baseIsNaN, index, true);
- }
-
- /**
- * Gets the element at index `n` of `array`. If `n` is negative, the nth
- * element from the end is returned.
- *
- * @static
- * @memberOf _
- * @since 4.11.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {number} [n=0] The index of the element to return.
- * @returns {*} Returns the nth element of `array`.
- * @example
- *
- * var array = ['a', 'b', 'c', 'd'];
- *
- * _.nth(array, 1);
- * // => 'b'
- *
- * _.nth(array, -2);
- * // => 'c';
- */
- function nth(array, n) {
- return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;
- }
-
- /**
- * Removes all given values from `array` using
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons.
- *
- * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`
- * to remove elements from an array by predicate.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Array
- * @param {Array} array The array to modify.
- * @param {...*} [values] The values to remove.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = ['a', 'b', 'c', 'a', 'b', 'c'];
- *
- * _.pull(array, 'a', 'c');
- * console.log(array);
- * // => ['b', 'b']
- */
- var pull = baseRest(pullAll);
-
- /**
- * This method is like `_.pull` except that it accepts an array of values to remove.
- *
- * **Note:** Unlike `_.difference`, this method mutates `array`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to modify.
- * @param {Array} values The values to remove.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = ['a', 'b', 'c', 'a', 'b', 'c'];
- *
- * _.pullAll(array, ['a', 'c']);
- * console.log(array);
- * // => ['b', 'b']
- */
- function pullAll(array, values) {
- return (array && array.length && values && values.length)
- ? basePullAll(array, values)
- : array;
- }
-
- /**
- * This method is like `_.pullAll` except that it accepts `iteratee` which is
- * invoked for each element of `array` and `values` to generate the criterion
- * by which they're compared. The iteratee is invoked with one argument: (value).
- *
- * **Note:** Unlike `_.differenceBy`, this method mutates `array`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to modify.
- * @param {Array} values The values to remove.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];
- *
- * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');
- * console.log(array);
- * // => [{ 'x': 2 }]
- */
- function pullAllBy(array, values, iteratee) {
- return (array && array.length && values && values.length)
- ? basePullAll(array, values, getIteratee(iteratee, 2))
- : array;
- }
-
- /**
- * This method is like `_.pullAll` except that it accepts `comparator` which
- * is invoked to compare elements of `array` to `values`. The comparator is
- * invoked with two arguments: (arrVal, othVal).
- *
- * **Note:** Unlike `_.differenceWith`, this method mutates `array`.
- *
- * @static
- * @memberOf _
- * @since 4.6.0
- * @category Array
- * @param {Array} array The array to modify.
- * @param {Array} values The values to remove.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];
- *
- * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);
- * console.log(array);
- * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]
- */
- function pullAllWith(array, values, comparator) {
- return (array && array.length && values && values.length)
- ? basePullAll(array, values, undefined, comparator)
- : array;
- }
-
- /**
- * Removes elements from `array` corresponding to `indexes` and returns an
- * array of removed elements.
- *
- * **Note:** Unlike `_.at`, this method mutates `array`.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to modify.
- * @param {...(number|number[])} [indexes] The indexes of elements to remove.
- * @returns {Array} Returns the new array of removed elements.
- * @example
- *
- * var array = ['a', 'b', 'c', 'd'];
- * var pulled = _.pullAt(array, [1, 3]);
- *
- * console.log(array);
- * // => ['a', 'c']
- *
- * console.log(pulled);
- * // => ['b', 'd']
- */
- var pullAt = flatRest(function(array, indexes) {
- var length = array == null ? 0 : array.length,
- result = baseAt(array, indexes);
-
- basePullAt(array, arrayMap(indexes, function(index) {
- return isIndex(index, length) ? +index : index;
- }).sort(compareAscending));
-
- return result;
- });
-
- /**
- * Removes all elements from `array` that `predicate` returns truthy for
- * and returns an array of the removed elements. The predicate is invoked
- * with three arguments: (value, index, array).
- *
- * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`
- * to pull elements from an array by value.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Array
- * @param {Array} array The array to modify.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the new array of removed elements.
- * @example
- *
- * var array = [1, 2, 3, 4];
- * var evens = _.remove(array, function(n) {
- * return n % 2 == 0;
- * });
- *
- * console.log(array);
- * // => [1, 3]
- *
- * console.log(evens);
- * // => [2, 4]
- */
- function remove(array, predicate) {
- var result = [];
- if (!(array && array.length)) {
- return result;
- }
- var index = -1,
- indexes = [],
- length = array.length;
-
- predicate = getIteratee(predicate, 3);
- while (++index < length) {
- var value = array[index];
- if (predicate(value, index, array)) {
- result.push(value);
- indexes.push(index);
- }
- }
- basePullAt(array, indexes);
- return result;
- }
-
- /**
- * Reverses `array` so that the first element becomes the last, the second
- * element becomes the second to last, and so on.
- *
- * **Note:** This method mutates `array` and is based on
- * [`Array#reverse`](https://mdn.io/Array/reverse).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to modify.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = [1, 2, 3];
- *
- * _.reverse(array);
- * // => [3, 2, 1]
- *
- * console.log(array);
- * // => [3, 2, 1]
- */
- function reverse(array) {
- return array == null ? array : nativeReverse.call(array);
- }
-
- /**
- * Creates a slice of `array` from `start` up to, but not including, `end`.
- *
- * **Note:** This method is used instead of
- * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are
- * returned.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to slice.
- * @param {number} [start=0] The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns the slice of `array`.
- */
- function slice(array, start, end) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return [];
- }
- if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {
- start = 0;
- end = length;
- }
- else {
- start = start == null ? 0 : toInteger(start);
- end = end === undefined ? length : toInteger(end);
- }
- return baseSlice(array, start, end);
- }
-
- /**
- * Uses a binary search to determine the lowest index at which `value`
- * should be inserted into `array` in order to maintain its sort order.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- * @example
- *
- * _.sortedIndex([30, 50], 40);
- * // => 1
- */
- function sortedIndex(array, value) {
- return baseSortedIndex(array, value);
- }
-
- /**
- * This method is like `_.sortedIndex` except that it accepts `iteratee`
- * which is invoked for `value` and each element of `array` to compute their
- * sort ranking. The iteratee is invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- * @example
- *
- * var objects = [{ 'x': 4 }, { 'x': 5 }];
- *
- * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });
- * // => 0
- *
- * // The `_.property` iteratee shorthand.
- * _.sortedIndexBy(objects, { 'x': 4 }, 'x');
- * // => 0
- */
- function sortedIndexBy(array, value, iteratee) {
- return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));
- }
-
- /**
- * This method is like `_.indexOf` except that it performs a binary
- * search on a sorted `array`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @returns {number} Returns the index of the matched value, else `-1`.
- * @example
- *
- * _.sortedIndexOf([4, 5, 5, 5, 6], 5);
- * // => 1
- */
- function sortedIndexOf(array, value) {
- var length = array == null ? 0 : array.length;
- if (length) {
- var index = baseSortedIndex(array, value);
- if (index < length && eq(array[index], value)) {
- return index;
- }
- }
- return -1;
- }
-
- /**
- * This method is like `_.sortedIndex` except that it returns the highest
- * index at which `value` should be inserted into `array` in order to
- * maintain its sort order.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- * @example
- *
- * _.sortedLastIndex([4, 5, 5, 5, 6], 5);
- * // => 4
- */
- function sortedLastIndex(array, value) {
- return baseSortedIndex(array, value, true);
- }
-
- /**
- * This method is like `_.sortedLastIndex` except that it accepts `iteratee`
- * which is invoked for `value` and each element of `array` to compute their
- * sort ranking. The iteratee is invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- * @example
- *
- * var objects = [{ 'x': 4 }, { 'x': 5 }];
- *
- * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });
- * // => 1
- *
- * // The `_.property` iteratee shorthand.
- * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');
- * // => 1
- */
- function sortedLastIndexBy(array, value, iteratee) {
- return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);
- }
-
- /**
- * This method is like `_.lastIndexOf` except that it performs a binary
- * search on a sorted `array`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @returns {number} Returns the index of the matched value, else `-1`.
- * @example
- *
- * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);
- * // => 3
- */
- function sortedLastIndexOf(array, value) {
- var length = array == null ? 0 : array.length;
- if (length) {
- var index = baseSortedIndex(array, value, true) - 1;
- if (eq(array[index], value)) {
- return index;
- }
- }
- return -1;
- }
-
- /**
- * This method is like `_.uniq` except that it's designed and optimized
- * for sorted arrays.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @returns {Array} Returns the new duplicate free array.
- * @example
- *
- * _.sortedUniq([1, 1, 2]);
- * // => [1, 2]
- */
- function sortedUniq(array) {
- return (array && array.length)
- ? baseSortedUniq(array)
- : [];
- }
-
- /**
- * This method is like `_.uniqBy` except that it's designed and optimized
- * for sorted arrays.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @returns {Array} Returns the new duplicate free array.
- * @example
- *
- * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);
- * // => [1.1, 2.3]
- */
- function sortedUniqBy(array, iteratee) {
- return (array && array.length)
- ? baseSortedUniq(array, getIteratee(iteratee, 2))
- : [];
- }
-
- /**
- * Gets all but the first element of `array`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * _.tail([1, 2, 3]);
- * // => [2, 3]
- */
- function tail(array) {
- var length = array == null ? 0 : array.length;
- return length ? baseSlice(array, 1, length) : [];
- }
-
- /**
- * Creates a slice of `array` with `n` elements taken from the beginning.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {number} [n=1] The number of elements to take.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * _.take([1, 2, 3]);
- * // => [1]
- *
- * _.take([1, 2, 3], 2);
- * // => [1, 2]
- *
- * _.take([1, 2, 3], 5);
- * // => [1, 2, 3]
- *
- * _.take([1, 2, 3], 0);
- * // => []
- */
- function take(array, n, guard) {
- if (!(array && array.length)) {
- return [];
- }
- n = (guard || n === undefined) ? 1 : toInteger(n);
- return baseSlice(array, 0, n < 0 ? 0 : n);
- }
-
- /**
- * Creates a slice of `array` with `n` elements taken from the end.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {number} [n=1] The number of elements to take.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * _.takeRight([1, 2, 3]);
- * // => [3]
- *
- * _.takeRight([1, 2, 3], 2);
- * // => [2, 3]
- *
- * _.takeRight([1, 2, 3], 5);
- * // => [1, 2, 3]
- *
- * _.takeRight([1, 2, 3], 0);
- * // => []
- */
- function takeRight(array, n, guard) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return [];
- }
- n = (guard || n === undefined) ? 1 : toInteger(n);
- n = length - n;
- return baseSlice(array, n < 0 ? 0 : n, length);
- }
-
- /**
- * Creates a slice of `array` with elements taken from the end. Elements are
- * taken until `predicate` returns falsey. The predicate is invoked with
- * three arguments: (value, index, array).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'active': true },
- * { 'user': 'fred', 'active': false },
- * { 'user': 'pebbles', 'active': false }
- * ];
- *
- * _.takeRightWhile(users, function(o) { return !o.active; });
- * // => objects for ['fred', 'pebbles']
- *
- * // The `_.matches` iteratee shorthand.
- * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });
- * // => objects for ['pebbles']
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.takeRightWhile(users, ['active', false]);
- * // => objects for ['fred', 'pebbles']
- *
- * // The `_.property` iteratee shorthand.
- * _.takeRightWhile(users, 'active');
- * // => []
- */
- function takeRightWhile(array, predicate) {
- return (array && array.length)
- ? baseWhile(array, getIteratee(predicate, 3), false, true)
- : [];
- }
-
- /**
- * Creates a slice of `array` with elements taken from the beginning. Elements
- * are taken until `predicate` returns falsey. The predicate is invoked with
- * three arguments: (value, index, array).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'active': false },
- * { 'user': 'fred', 'active': false },
- * { 'user': 'pebbles', 'active': true }
- * ];
- *
- * _.takeWhile(users, function(o) { return !o.active; });
- * // => objects for ['barney', 'fred']
- *
- * // The `_.matches` iteratee shorthand.
- * _.takeWhile(users, { 'user': 'barney', 'active': false });
- * // => objects for ['barney']
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.takeWhile(users, ['active', false]);
- * // => objects for ['barney', 'fred']
- *
- * // The `_.property` iteratee shorthand.
- * _.takeWhile(users, 'active');
- * // => []
- */
- function takeWhile(array, predicate) {
- return (array && array.length)
- ? baseWhile(array, getIteratee(predicate, 3))
- : [];
- }
-
- /**
- * Creates an array of unique values, in order, from all given arrays using
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @returns {Array} Returns the new array of combined values.
- * @example
- *
- * _.union([2], [1, 2]);
- * // => [2, 1]
- */
- var union = baseRest(function(arrays) {
- return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
- });
-
- /**
- * This method is like `_.union` except that it accepts `iteratee` which is
- * invoked for each element of each `arrays` to generate the criterion by
- * which uniqueness is computed. Result values are chosen from the first
- * array in which the value occurs. The iteratee is invoked with one argument:
- * (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Array} Returns the new array of combined values.
- * @example
- *
- * _.unionBy([2.1], [1.2, 2.3], Math.floor);
- * // => [2.1, 1.2]
- *
- * // The `_.property` iteratee shorthand.
- * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
- * // => [{ 'x': 1 }, { 'x': 2 }]
- */
- var unionBy = baseRest(function(arrays) {
- var iteratee = last(arrays);
- if (isArrayLikeObject(iteratee)) {
- iteratee = undefined;
- }
- return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));
- });
-
- /**
- * This method is like `_.union` except that it accepts `comparator` which
- * is invoked to compare elements of `arrays`. Result values are chosen from
- * the first array in which the value occurs. The comparator is invoked
- * with two arguments: (arrVal, othVal).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of combined values.
- * @example
- *
- * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
- * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
- *
- * _.unionWith(objects, others, _.isEqual);
- * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]
- */
- var unionWith = baseRest(function(arrays) {
- var comparator = last(arrays);
- comparator = typeof comparator == 'function' ? comparator : undefined;
- return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);
- });
-
- /**
- * Creates a duplicate-free version of an array, using
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons, in which only the first occurrence of each element
- * is kept. The order of result values is determined by the order they occur
- * in the array.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @returns {Array} Returns the new duplicate free array.
- * @example
- *
- * _.uniq([2, 1, 2]);
- * // => [2, 1]
- */
- function uniq(array) {
- return (array && array.length) ? baseUniq(array) : [];
- }
-
- /**
- * This method is like `_.uniq` except that it accepts `iteratee` which is
- * invoked for each element in `array` to generate the criterion by which
- * uniqueness is computed. The order of result values is determined by the
- * order they occur in the array. The iteratee is invoked with one argument:
- * (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Array} Returns the new duplicate free array.
- * @example
- *
- * _.uniqBy([2.1, 1.2, 2.3], Math.floor);
- * // => [2.1, 1.2]
- *
- * // The `_.property` iteratee shorthand.
- * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
- * // => [{ 'x': 1 }, { 'x': 2 }]
- */
- function uniqBy(array, iteratee) {
- return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];
- }
-
- /**
- * This method is like `_.uniq` except that it accepts `comparator` which
- * is invoked to compare elements of `array`. The order of result values is
- * determined by the order they occur in the array.The comparator is invoked
- * with two arguments: (arrVal, othVal).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new duplicate free array.
- * @example
- *
- * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];
- *
- * _.uniqWith(objects, _.isEqual);
- * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]
- */
- function uniqWith(array, comparator) {
- comparator = typeof comparator == 'function' ? comparator : undefined;
- return (array && array.length) ? baseUniq(array, undefined, comparator) : [];
- }
-
- /**
- * This method is like `_.zip` except that it accepts an array of grouped
- * elements and creates an array regrouping the elements to their pre-zip
- * configuration.
- *
- * @static
- * @memberOf _
- * @since 1.2.0
- * @category Array
- * @param {Array} array The array of grouped elements to process.
- * @returns {Array} Returns the new array of regrouped elements.
- * @example
- *
- * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);
- * // => [['a', 1, true], ['b', 2, false]]
- *
- * _.unzip(zipped);
- * // => [['a', 'b'], [1, 2], [true, false]]
- */
- function unzip(array) {
- if (!(array && array.length)) {
- return [];
- }
- var length = 0;
- array = arrayFilter(array, function(group) {
- if (isArrayLikeObject(group)) {
- length = nativeMax(group.length, length);
- return true;
- }
- });
- return baseTimes(length, function(index) {
- return arrayMap(array, baseProperty(index));
- });
- }
-
- /**
- * This method is like `_.unzip` except that it accepts `iteratee` to specify
- * how regrouped values should be combined. The iteratee is invoked with the
- * elements of each group: (...group).
- *
- * @static
- * @memberOf _
- * @since 3.8.0
- * @category Array
- * @param {Array} array The array of grouped elements to process.
- * @param {Function} [iteratee=_.identity] The function to combine
- * regrouped values.
- * @returns {Array} Returns the new array of regrouped elements.
- * @example
- *
- * var zipped = _.zip([1, 2], [10, 20], [100, 200]);
- * // => [[1, 10, 100], [2, 20, 200]]
- *
- * _.unzipWith(zipped, _.add);
- * // => [3, 30, 300]
- */
- function unzipWith(array, iteratee) {
- if (!(array && array.length)) {
- return [];
- }
- var result = unzip(array);
- if (iteratee == null) {
- return result;
- }
- return arrayMap(result, function(group) {
- return apply(iteratee, undefined, group);
- });
- }
-
- /**
- * Creates an array excluding all given values using
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons.
- *
- * **Note:** Unlike `_.pull`, this method returns a new array.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {...*} [values] The values to exclude.
- * @returns {Array} Returns the new array of filtered values.
- * @see _.difference, _.xor
- * @example
- *
- * _.without([2, 1, 2, 3], 1, 2);
- * // => [3]
- */
- var without = baseRest(function(array, values) {
- return isArrayLikeObject(array)
- ? baseDifference(array, values)
- : [];
- });
-
- /**
- * Creates an array of unique values that is the
- * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
- * of the given arrays. The order of result values is determined by the order
- * they occur in the arrays.
- *
- * @static
- * @memberOf _
- * @since 2.4.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @returns {Array} Returns the new array of filtered values.
- * @see _.difference, _.without
- * @example
- *
- * _.xor([2, 1], [2, 3]);
- * // => [1, 3]
- */
- var xor = baseRest(function(arrays) {
- return baseXor(arrayFilter(arrays, isArrayLikeObject));
- });
-
- /**
- * This method is like `_.xor` except that it accepts `iteratee` which is
- * invoked for each element of each `arrays` to generate the criterion by
- * which by which they're compared. The order of result values is determined
- * by the order they occur in the arrays. The iteratee is invoked with one
- * argument: (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Array} Returns the new array of filtered values.
- * @example
- *
- * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);
- * // => [1.2, 3.4]
- *
- * // The `_.property` iteratee shorthand.
- * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
- * // => [{ 'x': 2 }]
- */
- var xorBy = baseRest(function(arrays) {
- var iteratee = last(arrays);
- if (isArrayLikeObject(iteratee)) {
- iteratee = undefined;
- }
- return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));
- });
-
- /**
- * This method is like `_.xor` except that it accepts `comparator` which is
- * invoked to compare elements of `arrays`. The order of result values is
- * determined by the order they occur in the arrays. The comparator is invoked
- * with two arguments: (arrVal, othVal).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of filtered values.
- * @example
- *
- * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
- * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
- *
- * _.xorWith(objects, others, _.isEqual);
- * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]
- */
- var xorWith = baseRest(function(arrays) {
- var comparator = last(arrays);
- comparator = typeof comparator == 'function' ? comparator : undefined;
- return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);
- });
-
- /**
- * Creates an array of grouped elements, the first of which contains the
- * first elements of the given arrays, the second of which contains the
- * second elements of the given arrays, and so on.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {...Array} [arrays] The arrays to process.
- * @returns {Array} Returns the new array of grouped elements.
- * @example
- *
- * _.zip(['a', 'b'], [1, 2], [true, false]);
- * // => [['a', 1, true], ['b', 2, false]]
- */
- var zip = baseRest(unzip);
-
- /**
- * This method is like `_.fromPairs` except that it accepts two arrays,
- * one of property identifiers and one of corresponding values.
- *
- * @static
- * @memberOf _
- * @since 0.4.0
- * @category Array
- * @param {Array} [props=[]] The property identifiers.
- * @param {Array} [values=[]] The property values.
- * @returns {Object} Returns the new object.
- * @example
- *
- * _.zipObject(['a', 'b'], [1, 2]);
- * // => { 'a': 1, 'b': 2 }
- */
- function zipObject(props, values) {
- return baseZipObject(props || [], values || [], assignValue);
- }
-
- /**
- * This method is like `_.zipObject` except that it supports property paths.
- *
- * @static
- * @memberOf _
- * @since 4.1.0
- * @category Array
- * @param {Array} [props=[]] The property identifiers.
- * @param {Array} [values=[]] The property values.
- * @returns {Object} Returns the new object.
- * @example
- *
- * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);
- * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }
- */
- function zipObjectDeep(props, values) {
- return baseZipObject(props || [], values || [], baseSet);
- }
-
- /**
- * This method is like `_.zip` except that it accepts `iteratee` to specify
- * how grouped values should be combined. The iteratee is invoked with the
- * elements of each group: (...group).
- *
- * @static
- * @memberOf _
- * @since 3.8.0
- * @category Array
- * @param {...Array} [arrays] The arrays to process.
- * @param {Function} [iteratee=_.identity] The function to combine
- * grouped values.
- * @returns {Array} Returns the new array of grouped elements.
- * @example
- *
- * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {
- * return a + b + c;
- * });
- * // => [111, 222]
- */
- var zipWith = baseRest(function(arrays) {
- var length = arrays.length,
- iteratee = length > 1 ? arrays[length - 1] : undefined;
-
- iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;
- return unzipWith(arrays, iteratee);
- });
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates a `lodash` wrapper instance that wraps `value` with explicit method
- * chain sequences enabled. The result of such sequences must be unwrapped
- * with `_#value`.
- *
- * @static
- * @memberOf _
- * @since 1.3.0
- * @category Seq
- * @param {*} value The value to wrap.
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36 },
- * { 'user': 'fred', 'age': 40 },
- * { 'user': 'pebbles', 'age': 1 }
- * ];
- *
- * var youngest = _
- * .chain(users)
- * .sortBy('age')
- * .map(function(o) {
- * return o.user + ' is ' + o.age;
- * })
- * .head()
- * .value();
- * // => 'pebbles is 1'
- */
- function chain(value) {
- var result = lodash(value);
- result.__chain__ = true;
- return result;
- }
-
- /**
- * This method invokes `interceptor` and returns `value`. The interceptor
- * is invoked with one argument; (value). The purpose of this method is to
- * "tap into" a method chain sequence in order to modify intermediate results.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Seq
- * @param {*} value The value to provide to `interceptor`.
- * @param {Function} interceptor The function to invoke.
- * @returns {*} Returns `value`.
- * @example
- *
- * _([1, 2, 3])
- * .tap(function(array) {
- * // Mutate input array.
- * array.pop();
- * })
- * .reverse()
- * .value();
- * // => [2, 1]
- */
- function tap(value, interceptor) {
- interceptor(value);
- return value;
- }
-
- /**
- * This method is like `_.tap` except that it returns the result of `interceptor`.
- * The purpose of this method is to "pass thru" values replacing intermediate
- * results in a method chain sequence.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Seq
- * @param {*} value The value to provide to `interceptor`.
- * @param {Function} interceptor The function to invoke.
- * @returns {*} Returns the result of `interceptor`.
- * @example
- *
- * _(' abc ')
- * .chain()
- * .trim()
- * .thru(function(value) {
- * return [value];
- * })
- * .value();
- * // => ['abc']
- */
- function thru(value, interceptor) {
- return interceptor(value);
- }
-
- /**
- * This method is the wrapper version of `_.at`.
- *
- * @name at
- * @memberOf _
- * @since 1.0.0
- * @category Seq
- * @param {...(string|string[])} [paths] The property paths to pick.
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };
- *
- * _(object).at(['a[0].b.c', 'a[1]']).value();
- * // => [3, 4]
- */
- var wrapperAt = flatRest(function(paths) {
- var length = paths.length,
- start = length ? paths[0] : 0,
- value = this.__wrapped__,
- interceptor = function(object) { return baseAt(object, paths); };
-
- if (length > 1 || this.__actions__.length ||
- !(value instanceof LazyWrapper) || !isIndex(start)) {
- return this.thru(interceptor);
- }
- value = value.slice(start, +start + (length ? 1 : 0));
- value.__actions__.push({
- 'func': thru,
- 'args': [interceptor],
- 'thisArg': undefined
- });
- return new LodashWrapper(value, this.__chain__).thru(function(array) {
- if (length && !array.length) {
- array.push(undefined);
- }
- return array;
- });
- });
-
- /**
- * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.
- *
- * @name chain
- * @memberOf _
- * @since 0.1.0
- * @category Seq
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36 },
- * { 'user': 'fred', 'age': 40 }
- * ];
- *
- * // A sequence without explicit chaining.
- * _(users).head();
- * // => { 'user': 'barney', 'age': 36 }
- *
- * // A sequence with explicit chaining.
- * _(users)
- * .chain()
- * .head()
- * .pick('user')
- * .value();
- * // => { 'user': 'barney' }
- */
- function wrapperChain() {
- return chain(this);
- }
-
- /**
- * Executes the chain sequence and returns the wrapped result.
- *
- * @name commit
- * @memberOf _
- * @since 3.2.0
- * @category Seq
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * var array = [1, 2];
- * var wrapped = _(array).push(3);
- *
- * console.log(array);
- * // => [1, 2]
- *
- * wrapped = wrapped.commit();
- * console.log(array);
- * // => [1, 2, 3]
- *
- * wrapped.last();
- * // => 3
- *
- * console.log(array);
- * // => [1, 2, 3]
- */
- function wrapperCommit() {
- return new LodashWrapper(this.value(), this.__chain__);
- }
-
- /**
- * Gets the next value on a wrapped object following the
- * [iterator protocol](https://mdn.io/iteration_protocols#iterator).
- *
- * @name next
- * @memberOf _
- * @since 4.0.0
- * @category Seq
- * @returns {Object} Returns the next iterator value.
- * @example
- *
- * var wrapped = _([1, 2]);
- *
- * wrapped.next();
- * // => { 'done': false, 'value': 1 }
- *
- * wrapped.next();
- * // => { 'done': false, 'value': 2 }
- *
- * wrapped.next();
- * // => { 'done': true, 'value': undefined }
- */
- function wrapperNext() {
- if (this.__values__ === undefined) {
- this.__values__ = toArray(this.value());
- }
- var done = this.__index__ >= this.__values__.length,
- value = done ? undefined : this.__values__[this.__index__++];
-
- return { 'done': done, 'value': value };
- }
-
- /**
- * Enables the wrapper to be iterable.
- *
- * @name Symbol.iterator
- * @memberOf _
- * @since 4.0.0
- * @category Seq
- * @returns {Object} Returns the wrapper object.
- * @example
- *
- * var wrapped = _([1, 2]);
- *
- * wrapped[Symbol.iterator]() === wrapped;
- * // => true
- *
- * Array.from(wrapped);
- * // => [1, 2]
- */
- function wrapperToIterator() {
- return this;
- }
-
- /**
- * Creates a clone of the chain sequence planting `value` as the wrapped value.
- *
- * @name plant
- * @memberOf _
- * @since 3.2.0
- * @category Seq
- * @param {*} value The value to plant.
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * function square(n) {
- * return n * n;
- * }
- *
- * var wrapped = _([1, 2]).map(square);
- * var other = wrapped.plant([3, 4]);
- *
- * other.value();
- * // => [9, 16]
- *
- * wrapped.value();
- * // => [1, 4]
- */
- function wrapperPlant(value) {
- var result,
- parent = this;
-
- while (parent instanceof baseLodash) {
- var clone = wrapperClone(parent);
- clone.__index__ = 0;
- clone.__values__ = undefined;
- if (result) {
- previous.__wrapped__ = clone;
- } else {
- result = clone;
- }
- var previous = clone;
- parent = parent.__wrapped__;
- }
- previous.__wrapped__ = value;
- return result;
- }
-
- /**
- * This method is the wrapper version of `_.reverse`.
- *
- * **Note:** This method mutates the wrapped array.
- *
- * @name reverse
- * @memberOf _
- * @since 0.1.0
- * @category Seq
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * var array = [1, 2, 3];
- *
- * _(array).reverse().value()
- * // => [3, 2, 1]
- *
- * console.log(array);
- * // => [3, 2, 1]
- */
- function wrapperReverse() {
- var value = this.__wrapped__;
- if (value instanceof LazyWrapper) {
- var wrapped = value;
- if (this.__actions__.length) {
- wrapped = new LazyWrapper(this);
- }
- wrapped = wrapped.reverse();
- wrapped.__actions__.push({
- 'func': thru,
- 'args': [reverse],
- 'thisArg': undefined
- });
- return new LodashWrapper(wrapped, this.__chain__);
- }
- return this.thru(reverse);
- }
-
- /**
- * Executes the chain sequence to resolve the unwrapped value.
- *
- * @name value
- * @memberOf _
- * @since 0.1.0
- * @alias toJSON, valueOf
- * @category Seq
- * @returns {*} Returns the resolved unwrapped value.
- * @example
- *
- * _([1, 2, 3]).value();
- * // => [1, 2, 3]
- */
- function wrapperValue() {
- return baseWrapperValue(this.__wrapped__, this.__actions__);
- }
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates an object composed of keys generated from the results of running
- * each element of `collection` thru `iteratee`. The corresponding value of
- * each key is the number of times the key was returned by `iteratee`. The
- * iteratee is invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 0.5.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The iteratee to transform keys.
- * @returns {Object} Returns the composed aggregate object.
- * @example
- *
- * _.countBy([6.1, 4.2, 6.3], Math.floor);
- * // => { '4': 1, '6': 2 }
- *
- * // The `_.property` iteratee shorthand.
- * _.countBy(['one', 'two', 'three'], 'length');
- * // => { '3': 2, '5': 1 }
- */
- var countBy = createAggregator(function(result, value, key) {
- if (hasOwnProperty.call(result, key)) {
- ++result[key];
- } else {
- baseAssignValue(result, key, 1);
- }
- });
-
- /**
- * Checks if `predicate` returns truthy for **all** elements of `collection`.
- * Iteration is stopped once `predicate` returns falsey. The predicate is
- * invoked with three arguments: (value, index|key, collection).
- *
- * **Note:** This method returns `true` for
- * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because
- * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of
- * elements of empty collections.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {boolean} Returns `true` if all elements pass the predicate check,
- * else `false`.
- * @example
- *
- * _.every([true, 1, null, 'yes'], Boolean);
- * // => false
- *
- * var users = [
- * { 'user': 'barney', 'age': 36, 'active': false },
- * { 'user': 'fred', 'age': 40, 'active': false }
- * ];
- *
- * // The `_.matches` iteratee shorthand.
- * _.every(users, { 'user': 'barney', 'active': false });
- * // => false
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.every(users, ['active', false]);
- * // => true
- *
- * // The `_.property` iteratee shorthand.
- * _.every(users, 'active');
- * // => false
- */
- function every(collection, predicate, guard) {
- var func = isArray(collection) ? arrayEvery : baseEvery;
- if (guard && isIterateeCall(collection, predicate, guard)) {
- predicate = undefined;
- }
- return func(collection, getIteratee(predicate, 3));
- }
-
- /**
- * Iterates over elements of `collection`, returning an array of all elements
- * `predicate` returns truthy for. The predicate is invoked with three
- * arguments: (value, index|key, collection).
- *
- * **Note:** Unlike `_.remove`, this method returns a new array.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the new filtered array.
- * @see _.reject
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36, 'active': true },
- * { 'user': 'fred', 'age': 40, 'active': false }
- * ];
- *
- * _.filter(users, function(o) { return !o.active; });
- * // => objects for ['fred']
- *
- * // The `_.matches` iteratee shorthand.
- * _.filter(users, { 'age': 36, 'active': true });
- * // => objects for ['barney']
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.filter(users, ['active', false]);
- * // => objects for ['fred']
- *
- * // The `_.property` iteratee shorthand.
- * _.filter(users, 'active');
- * // => objects for ['barney']
- */
- function filter(collection, predicate) {
- var func = isArray(collection) ? arrayFilter : baseFilter;
- return func(collection, getIteratee(predicate, 3));
- }
-
- /**
- * Iterates over elements of `collection`, returning the first element
- * `predicate` returns truthy for. The predicate is invoked with three
- * arguments: (value, index|key, collection).
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {*} Returns the matched element, else `undefined`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36, 'active': true },
- * { 'user': 'fred', 'age': 40, 'active': false },
- * { 'user': 'pebbles', 'age': 1, 'active': true }
- * ];
- *
- * _.find(users, function(o) { return o.age < 40; });
- * // => object for 'barney'
- *
- * // The `_.matches` iteratee shorthand.
- * _.find(users, { 'age': 1, 'active': true });
- * // => object for 'pebbles'
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.find(users, ['active', false]);
- * // => object for 'fred'
- *
- * // The `_.property` iteratee shorthand.
- * _.find(users, 'active');
- * // => object for 'barney'
- */
- var find = createFind(findIndex);
-
- /**
- * This method is like `_.find` except that it iterates over elements of
- * `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param {number} [fromIndex=collection.length-1] The index to search from.
- * @returns {*} Returns the matched element, else `undefined`.
- * @example
- *
- * _.findLast([1, 2, 3, 4], function(n) {
- * return n % 2 == 1;
- * });
- * // => 3
- */
- var findLast = createFind(findLastIndex);
-
- /**
- * Creates a flattened array of values by running each element in `collection`
- * thru `iteratee` and flattening the mapped results. The iteratee is invoked
- * with three arguments: (value, index|key, collection).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the new flattened array.
- * @example
- *
- * function duplicate(n) {
- * return [n, n];
- * }
- *
- * _.flatMap([1, 2], duplicate);
- * // => [1, 1, 2, 2]
- */
- function flatMap(collection, iteratee) {
- return baseFlatten(map(collection, iteratee), 1);
- }
-
- /**
- * This method is like `_.flatMap` except that it recursively flattens the
- * mapped results.
- *
- * @static
- * @memberOf _
- * @since 4.7.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the new flattened array.
- * @example
- *
- * function duplicate(n) {
- * return [[[n, n]]];
- * }
- *
- * _.flatMapDeep([1, 2], duplicate);
- * // => [1, 1, 2, 2]
- */
- function flatMapDeep(collection, iteratee) {
- return baseFlatten(map(collection, iteratee), INFINITY);
- }
-
- /**
- * This method is like `_.flatMap` except that it recursively flattens the
- * mapped results up to `depth` times.
- *
- * @static
- * @memberOf _
- * @since 4.7.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @param {number} [depth=1] The maximum recursion depth.
- * @returns {Array} Returns the new flattened array.
- * @example
- *
- * function duplicate(n) {
- * return [[[n, n]]];
- * }
- *
- * _.flatMapDepth([1, 2], duplicate, 2);
- * // => [[1, 1], [2, 2]]
- */
- function flatMapDepth(collection, iteratee, depth) {
- depth = depth === undefined ? 1 : toInteger(depth);
- return baseFlatten(map(collection, iteratee), depth);
- }
-
- /**
- * Iterates over elements of `collection` and invokes `iteratee` for each element.
- * The iteratee is invoked with three arguments: (value, index|key, collection).
- * Iteratee functions may exit iteration early by explicitly returning `false`.
- *
- * **Note:** As with other "Collections" methods, objects with a "length"
- * property are iterated like arrays. To avoid this behavior use `_.forIn`
- * or `_.forOwn` for object iteration.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @alias each
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Array|Object} Returns `collection`.
- * @see _.forEachRight
- * @example
- *
- * _.forEach([1, 2], function(value) {
- * console.log(value);
- * });
- * // => Logs `1` then `2`.
- *
- * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {
- * console.log(key);
- * });
- * // => Logs 'a' then 'b' (iteration order is not guaranteed).
- */
- function forEach(collection, iteratee) {
- var func = isArray(collection) ? arrayEach : baseEach;
- return func(collection, getIteratee(iteratee, 3));
- }
-
- /**
- * This method is like `_.forEach` except that it iterates over elements of
- * `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @alias eachRight
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Array|Object} Returns `collection`.
- * @see _.forEach
- * @example
- *
- * _.forEachRight([1, 2], function(value) {
- * console.log(value);
- * });
- * // => Logs `2` then `1`.
- */
- function forEachRight(collection, iteratee) {
- var func = isArray(collection) ? arrayEachRight : baseEachRight;
- return func(collection, getIteratee(iteratee, 3));
- }
-
- /**
- * Creates an object composed of keys generated from the results of running
- * each element of `collection` thru `iteratee`. The order of grouped values
- * is determined by the order they occur in `collection`. The corresponding
- * value of each key is an array of elements responsible for generating the
- * key. The iteratee is invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The iteratee to transform keys.
- * @returns {Object} Returns the composed aggregate object.
- * @example
- *
- * _.groupBy([6.1, 4.2, 6.3], Math.floor);
- * // => { '4': [4.2], '6': [6.1, 6.3] }
- *
- * // The `_.property` iteratee shorthand.
- * _.groupBy(['one', 'two', 'three'], 'length');
- * // => { '3': ['one', 'two'], '5': ['three'] }
- */
- var groupBy = createAggregator(function(result, value, key) {
- if (hasOwnProperty.call(result, key)) {
- result[key].push(value);
- } else {
- baseAssignValue(result, key, [value]);
- }
- });
-
- /**
- * Checks if `value` is in `collection`. If `collection` is a string, it's
- * checked for a substring of `value`, otherwise
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * is used for equality comparisons. If `fromIndex` is negative, it's used as
- * the offset from the end of `collection`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object|string} collection The collection to inspect.
- * @param {*} value The value to search for.
- * @param {number} [fromIndex=0] The index to search from.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.
- * @returns {boolean} Returns `true` if `value` is found, else `false`.
- * @example
- *
- * _.includes([1, 2, 3], 1);
- * // => true
- *
- * _.includes([1, 2, 3], 1, 2);
- * // => false
- *
- * _.includes({ 'a': 1, 'b': 2 }, 1);
- * // => true
- *
- * _.includes('abcd', 'bc');
- * // => true
- */
- function includes(collection, value, fromIndex, guard) {
- collection = isArrayLike(collection) ? collection : values(collection);
- fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;
-
- var length = collection.length;
- if (fromIndex < 0) {
- fromIndex = nativeMax(length + fromIndex, 0);
- }
- return isString(collection)
- ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)
- : (!!length && baseIndexOf(collection, value, fromIndex) > -1);
- }
-
- /**
- * Invokes the method at `path` of each element in `collection`, returning
- * an array of the results of each invoked method. Any additional arguments
- * are provided to each invoked method. If `path` is a function, it's invoked
- * for, and `this` bound to, each element in `collection`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Array|Function|string} path The path of the method to invoke or
- * the function invoked per iteration.
- * @param {...*} [args] The arguments to invoke each method with.
- * @returns {Array} Returns the array of results.
- * @example
- *
- * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');
- * // => [[1, 5, 7], [1, 2, 3]]
- *
- * _.invokeMap([123, 456], String.prototype.split, '');
- * // => [['1', '2', '3'], ['4', '5', '6']]
- */
- var invokeMap = baseRest(function(collection, path, args) {
- var index = -1,
- isFunc = typeof path == 'function',
- result = isArrayLike(collection) ? Array(collection.length) : [];
-
- baseEach(collection, function(value) {
- result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);
- });
- return result;
- });
-
- /**
- * Creates an object composed of keys generated from the results of running
- * each element of `collection` thru `iteratee`. The corresponding value of
- * each key is the last element responsible for generating the key. The
- * iteratee is invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The iteratee to transform keys.
- * @returns {Object} Returns the composed aggregate object.
- * @example
- *
- * var array = [
- * { 'dir': 'left', 'code': 97 },
- * { 'dir': 'right', 'code': 100 }
- * ];
- *
- * _.keyBy(array, function(o) {
- * return String.fromCharCode(o.code);
- * });
- * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
- *
- * _.keyBy(array, 'dir');
- * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }
- */
- var keyBy = createAggregator(function(result, value, key) {
- baseAssignValue(result, key, value);
- });
-
- /**
- * Creates an array of values by running each element in `collection` thru
- * `iteratee`. The iteratee is invoked with three arguments:
- * (value, index|key, collection).
- *
- * Many lodash methods are guarded to work as iteratees for methods like
- * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
- *
- * The guarded methods are:
- * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
- * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
- * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
- * `template`, `trim`, `trimEnd`, `trimStart`, and `words`
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the new mapped array.
- * @example
- *
- * function square(n) {
- * return n * n;
- * }
- *
- * _.map([4, 8], square);
- * // => [16, 64]
- *
- * _.map({ 'a': 4, 'b': 8 }, square);
- * // => [16, 64] (iteration order is not guaranteed)
- *
- * var users = [
- * { 'user': 'barney' },
- * { 'user': 'fred' }
- * ];
- *
- * // The `_.property` iteratee shorthand.
- * _.map(users, 'user');
- * // => ['barney', 'fred']
- */
- function map(collection, iteratee) {
- var func = isArray(collection) ? arrayMap : baseMap;
- return func(collection, getIteratee(iteratee, 3));
- }
-
- /**
- * This method is like `_.sortBy` except that it allows specifying the sort
- * orders of the iteratees to sort by. If `orders` is unspecified, all values
- * are sorted in ascending order. Otherwise, specify an order of "desc" for
- * descending or "asc" for ascending sort order of corresponding values.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]
- * The iteratees to sort by.
- * @param {string[]} [orders] The sort orders of `iteratees`.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.
- * @returns {Array} Returns the new sorted array.
- * @example
- *
- * var users = [
- * { 'user': 'fred', 'age': 48 },
- * { 'user': 'barney', 'age': 34 },
- * { 'user': 'fred', 'age': 40 },
- * { 'user': 'barney', 'age': 36 }
- * ];
- *
- * // Sort by `user` in ascending order and by `age` in descending order.
- * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);
- * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
- */
- function orderBy(collection, iteratees, orders, guard) {
- if (collection == null) {
- return [];
- }
- if (!isArray(iteratees)) {
- iteratees = iteratees == null ? [] : [iteratees];
- }
- orders = guard ? undefined : orders;
- if (!isArray(orders)) {
- orders = orders == null ? [] : [orders];
- }
- return baseOrderBy(collection, iteratees, orders);
- }
-
- /**
- * Creates an array of elements split into two groups, the first of which
- * contains elements `predicate` returns truthy for, the second of which
- * contains elements `predicate` returns falsey for. The predicate is
- * invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the array of grouped elements.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36, 'active': false },
- * { 'user': 'fred', 'age': 40, 'active': true },
- * { 'user': 'pebbles', 'age': 1, 'active': false }
- * ];
- *
- * _.partition(users, function(o) { return o.active; });
- * // => objects for [['fred'], ['barney', 'pebbles']]
- *
- * // The `_.matches` iteratee shorthand.
- * _.partition(users, { 'age': 1, 'active': false });
- * // => objects for [['pebbles'], ['barney', 'fred']]
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.partition(users, ['active', false]);
- * // => objects for [['barney', 'pebbles'], ['fred']]
- *
- * // The `_.property` iteratee shorthand.
- * _.partition(users, 'active');
- * // => objects for [['fred'], ['barney', 'pebbles']]
- */
- var partition = createAggregator(function(result, value, key) {
- result[key ? 0 : 1].push(value);
- }, function() { return [[], []]; });
-
- /**
- * Reduces `collection` to a value which is the accumulated result of running
- * each element in `collection` thru `iteratee`, where each successive
- * invocation is supplied the return value of the previous. If `accumulator`
- * is not given, the first element of `collection` is used as the initial
- * value. The iteratee is invoked with four arguments:
- * (accumulator, value, index|key, collection).
- *
- * Many lodash methods are guarded to work as iteratees for methods like
- * `_.reduce`, `_.reduceRight`, and `_.transform`.
- *
- * The guarded methods are:
- * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,
- * and `sortBy`
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @param {*} [accumulator] The initial value.
- * @returns {*} Returns the accumulated value.
- * @see _.reduceRight
- * @example
- *
- * _.reduce([1, 2], function(sum, n) {
- * return sum + n;
- * }, 0);
- * // => 3
- *
- * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
- * (result[value] || (result[value] = [])).push(key);
- * return result;
- * }, {});
- * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)
- */
- function reduce(collection, iteratee, accumulator) {
- var func = isArray(collection) ? arrayReduce : baseReduce,
- initAccum = arguments.length < 3;
-
- return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);
- }
-
- /**
- * This method is like `_.reduce` except that it iterates over elements of
- * `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @param {*} [accumulator] The initial value.
- * @returns {*} Returns the accumulated value.
- * @see _.reduce
- * @example
- *
- * var array = [[0, 1], [2, 3], [4, 5]];
- *
- * _.reduceRight(array, function(flattened, other) {
- * return flattened.concat(other);
- * }, []);
- * // => [4, 5, 2, 3, 0, 1]
- */
- function reduceRight(collection, iteratee, accumulator) {
- var func = isArray(collection) ? arrayReduceRight : baseReduce,
- initAccum = arguments.length < 3;
-
- return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);
- }
-
- /**
- * The opposite of `_.filter`; this method returns the elements of `collection`
- * that `predicate` does **not** return truthy for.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the new filtered array.
- * @see _.filter
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36, 'active': false },
- * { 'user': 'fred', 'age': 40, 'active': true }
- * ];
- *
- * _.reject(users, function(o) { return !o.active; });
- * // => objects for ['fred']
- *
- * // The `_.matches` iteratee shorthand.
- * _.reject(users, { 'age': 40, 'active': true });
- * // => objects for ['barney']
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.reject(users, ['active', false]);
- * // => objects for ['fred']
- *
- * // The `_.property` iteratee shorthand.
- * _.reject(users, 'active');
- * // => objects for ['barney']
- */
- function reject(collection, predicate) {
- var func = isArray(collection) ? arrayFilter : baseFilter;
- return func(collection, negate(getIteratee(predicate, 3)));
- }
-
- /**
- * Gets a random element from `collection`.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to sample.
- * @returns {*} Returns the random element.
- * @example
- *
- * _.sample([1, 2, 3, 4]);
- * // => 2
- */
- function sample(collection) {
- var func = isArray(collection) ? arraySample : baseSample;
- return func(collection);
- }
-
- /**
- * Gets `n` random elements at unique keys from `collection` up to the
- * size of `collection`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to sample.
- * @param {number} [n=1] The number of elements to sample.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Array} Returns the random elements.
- * @example
- *
- * _.sampleSize([1, 2, 3], 2);
- * // => [3, 1]
- *
- * _.sampleSize([1, 2, 3], 4);
- * // => [2, 3, 1]
- */
- function sampleSize(collection, n, guard) {
- if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {
- n = 1;
- } else {
- n = toInteger(n);
- }
- var func = isArray(collection) ? arraySampleSize : baseSampleSize;
- return func(collection, n);
- }
-
- /**
- * Creates an array of shuffled values, using a version of the
- * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to shuffle.
- * @returns {Array} Returns the new shuffled array.
- * @example
- *
- * _.shuffle([1, 2, 3, 4]);
- * // => [4, 1, 3, 2]
- */
- function shuffle(collection) {
- var func = isArray(collection) ? arrayShuffle : baseShuffle;
- return func(collection);
- }
-
- /**
- * Gets the size of `collection` by returning its length for array-like
- * values or the number of own enumerable string keyed properties for objects.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object|string} collection The collection to inspect.
- * @returns {number} Returns the collection size.
- * @example
- *
- * _.size([1, 2, 3]);
- * // => 3
- *
- * _.size({ 'a': 1, 'b': 2 });
- * // => 2
- *
- * _.size('pebbles');
- * // => 7
- */
- function size(collection) {
- if (collection == null) {
- return 0;
- }
- if (isArrayLike(collection)) {
- return isString(collection) ? stringSize(collection) : collection.length;
- }
- var tag = getTag(collection);
- if (tag == mapTag || tag == setTag) {
- return collection.size;
- }
- return baseKeys(collection).length;
- }
-
- /**
- * Checks if `predicate` returns truthy for **any** element of `collection`.
- * Iteration is stopped once `predicate` returns truthy. The predicate is
- * invoked with three arguments: (value, index|key, collection).
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {boolean} Returns `true` if any element passes the predicate check,
- * else `false`.
- * @example
- *
- * _.some([null, 0, 'yes', false], Boolean);
- * // => true
- *
- * var users = [
- * { 'user': 'barney', 'active': true },
- * { 'user': 'fred', 'active': false }
- * ];
- *
- * // The `_.matches` iteratee shorthand.
- * _.some(users, { 'user': 'barney', 'active': false });
- * // => false
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.some(users, ['active', false]);
- * // => true
- *
- * // The `_.property` iteratee shorthand.
- * _.some(users, 'active');
- * // => true
- */
- function some(collection, predicate, guard) {
- var func = isArray(collection) ? arraySome : baseSome;
- if (guard && isIterateeCall(collection, predicate, guard)) {
- predicate = undefined;
- }
- return func(collection, getIteratee(predicate, 3));
- }
-
- /**
- * Creates an array of elements, sorted in ascending order by the results of
- * running each element in a collection thru each iteratee. This method
- * performs a stable sort, that is, it preserves the original sort order of
- * equal elements. The iteratees are invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {...(Function|Function[])} [iteratees=[_.identity]]
- * The iteratees to sort by.
- * @returns {Array} Returns the new sorted array.
- * @example
- *
- * var users = [
- * { 'user': 'fred', 'age': 48 },
- * { 'user': 'barney', 'age': 36 },
- * { 'user': 'fred', 'age': 40 },
- * { 'user': 'barney', 'age': 34 }
- * ];
- *
- * _.sortBy(users, [function(o) { return o.user; }]);
- * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
- *
- * _.sortBy(users, ['user', 'age']);
- * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]
- */
- var sortBy = baseRest(function(collection, iteratees) {
- if (collection == null) {
- return [];
- }
- var length = iteratees.length;
- if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {
- iteratees = [];
- } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {
- iteratees = [iteratees[0]];
- }
- return baseOrderBy(collection, baseFlatten(iteratees, 1), []);
- });
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Gets the timestamp of the number of milliseconds that have elapsed since
- * the Unix epoch (1 January 1970 00:00:00 UTC).
- *
- * @static
- * @memberOf _
- * @since 2.4.0
- * @category Date
- * @returns {number} Returns the timestamp.
- * @example
- *
- * _.defer(function(stamp) {
- * console.log(_.now() - stamp);
- * }, _.now());
- * // => Logs the number of milliseconds it took for the deferred invocation.
- */
- var now = ctxNow || function() {
- return root.Date.now();
- };
-
- /*------------------------------------------------------------------------*/
-
- /**
- * The opposite of `_.before`; this method creates a function that invokes
- * `func` once it's called `n` or more times.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {number} n The number of calls before `func` is invoked.
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new restricted function.
- * @example
- *
- * var saves = ['profile', 'settings'];
- *
- * var done = _.after(saves.length, function() {
- * console.log('done saving!');
- * });
- *
- * _.forEach(saves, function(type) {
- * asyncSave({ 'type': type, 'complete': done });
- * });
- * // => Logs 'done saving!' after the two async saves have completed.
- */
- function after(n, func) {
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- n = toInteger(n);
- return function() {
- if (--n < 1) {
- return func.apply(this, arguments);
- }
- };
- }
-
- /**
- * Creates a function that invokes `func`, with up to `n` arguments,
- * ignoring any additional arguments.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Function
- * @param {Function} func The function to cap arguments for.
- * @param {number} [n=func.length] The arity cap.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Function} Returns the new capped function.
- * @example
- *
- * _.map(['6', '8', '10'], _.ary(parseInt, 1));
- * // => [6, 8, 10]
- */
- function ary(func, n, guard) {
- n = guard ? undefined : n;
- n = (func && n == null) ? func.length : n;
- return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);
- }
-
- /**
- * Creates a function that invokes `func`, with the `this` binding and arguments
- * of the created function, while it's called less than `n` times. Subsequent
- * calls to the created function return the result of the last `func` invocation.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Function
- * @param {number} n The number of calls at which `func` is no longer invoked.
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new restricted function.
- * @example
- *
- * jQuery(element).on('click', _.before(5, addContactToList));
- * // => Allows adding up to 4 contacts to the list.
- */
- function before(n, func) {
- var result;
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- n = toInteger(n);
- return function() {
- if (--n > 0) {
- result = func.apply(this, arguments);
- }
- if (n <= 1) {
- func = undefined;
- }
- return result;
- };
- }
-
- /**
- * Creates a function that invokes `func` with the `this` binding of `thisArg`
- * and `partials` prepended to the arguments it receives.
- *
- * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
- * may be used as a placeholder for partially applied arguments.
- *
- * **Note:** Unlike native `Function#bind`, this method doesn't set the "length"
- * property of bound functions.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to bind.
- * @param {*} thisArg The `this` binding of `func`.
- * @param {...*} [partials] The arguments to be partially applied.
- * @returns {Function} Returns the new bound function.
- * @example
- *
- * function greet(greeting, punctuation) {
- * return greeting + ' ' + this.user + punctuation;
- * }
- *
- * var object = { 'user': 'fred' };
- *
- * var bound = _.bind(greet, object, 'hi');
- * bound('!');
- * // => 'hi fred!'
- *
- * // Bound with placeholders.
- * var bound = _.bind(greet, object, _, '!');
- * bound('hi');
- * // => 'hi fred!'
- */
- var bind = baseRest(function(func, thisArg, partials) {
- var bitmask = WRAP_BIND_FLAG;
- if (partials.length) {
- var holders = replaceHolders(partials, getHolder(bind));
- bitmask |= WRAP_PARTIAL_FLAG;
- }
- return createWrap(func, bitmask, thisArg, partials, holders);
- });
-
- /**
- * Creates a function that invokes the method at `object[key]` with `partials`
- * prepended to the arguments it receives.
- *
- * This method differs from `_.bind` by allowing bound functions to reference
- * methods that may be redefined or don't yet exist. See
- * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)
- * for more details.
- *
- * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic
- * builds, may be used as a placeholder for partially applied arguments.
- *
- * @static
- * @memberOf _
- * @since 0.10.0
- * @category Function
- * @param {Object} object The object to invoke the method on.
- * @param {string} key The key of the method.
- * @param {...*} [partials] The arguments to be partially applied.
- * @returns {Function} Returns the new bound function.
- * @example
- *
- * var object = {
- * 'user': 'fred',
- * 'greet': function(greeting, punctuation) {
- * return greeting + ' ' + this.user + punctuation;
- * }
- * };
- *
- * var bound = _.bindKey(object, 'greet', 'hi');
- * bound('!');
- * // => 'hi fred!'
- *
- * object.greet = function(greeting, punctuation) {
- * return greeting + 'ya ' + this.user + punctuation;
- * };
- *
- * bound('!');
- * // => 'hiya fred!'
- *
- * // Bound with placeholders.
- * var bound = _.bindKey(object, 'greet', _, '!');
- * bound('hi');
- * // => 'hiya fred!'
- */
- var bindKey = baseRest(function(object, key, partials) {
- var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;
- if (partials.length) {
- var holders = replaceHolders(partials, getHolder(bindKey));
- bitmask |= WRAP_PARTIAL_FLAG;
- }
- return createWrap(key, bitmask, object, partials, holders);
- });
-
- /**
- * Creates a function that accepts arguments of `func` and either invokes
- * `func` returning its result, if at least `arity` number of arguments have
- * been provided, or returns a function that accepts the remaining `func`
- * arguments, and so on. The arity of `func` may be specified if `func.length`
- * is not sufficient.
- *
- * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,
- * may be used as a placeholder for provided arguments.
- *
- * **Note:** This method doesn't set the "length" property of curried functions.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Function
- * @param {Function} func The function to curry.
- * @param {number} [arity=func.length] The arity of `func`.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Function} Returns the new curried function.
- * @example
- *
- * var abc = function(a, b, c) {
- * return [a, b, c];
- * };
- *
- * var curried = _.curry(abc);
- *
- * curried(1)(2)(3);
- * // => [1, 2, 3]
- *
- * curried(1, 2)(3);
- * // => [1, 2, 3]
- *
- * curried(1, 2, 3);
- * // => [1, 2, 3]
- *
- * // Curried with placeholders.
- * curried(1)(_, 3)(2);
- * // => [1, 2, 3]
- */
- function curry(func, arity, guard) {
- arity = guard ? undefined : arity;
- var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
- result.placeholder = curry.placeholder;
- return result;
- }
-
- /**
- * This method is like `_.curry` except that arguments are applied to `func`
- * in the manner of `_.partialRight` instead of `_.partial`.
- *
- * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic
- * builds, may be used as a placeholder for provided arguments.
- *
- * **Note:** This method doesn't set the "length" property of curried functions.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Function
- * @param {Function} func The function to curry.
- * @param {number} [arity=func.length] The arity of `func`.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Function} Returns the new curried function.
- * @example
- *
- * var abc = function(a, b, c) {
- * return [a, b, c];
- * };
- *
- * var curried = _.curryRight(abc);
- *
- * curried(3)(2)(1);
- * // => [1, 2, 3]
- *
- * curried(2, 3)(1);
- * // => [1, 2, 3]
- *
- * curried(1, 2, 3);
- * // => [1, 2, 3]
- *
- * // Curried with placeholders.
- * curried(3)(1, _)(2);
- * // => [1, 2, 3]
- */
- function curryRight(func, arity, guard) {
- arity = guard ? undefined : arity;
- var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
- result.placeholder = curryRight.placeholder;
- return result;
- }
-
- /**
- * Creates a debounced function that delays invoking `func` until after `wait`
- * milliseconds have elapsed since the last time the debounced function was
- * invoked. The debounced function comes with a `cancel` method to cancel
- * delayed `func` invocations and a `flush` method to immediately invoke them.
- * Provide `options` to indicate whether `func` should be invoked on the
- * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
- * with the last arguments provided to the debounced function. Subsequent
- * calls to the debounced function return the result of the last `func`
- * invocation.
- *
- * **Note:** If `leading` and `trailing` options are `true`, `func` is
- * invoked on the trailing edge of the timeout only if the debounced function
- * is invoked more than once during the `wait` timeout.
- *
- * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
- * until to the next tick, similar to `setTimeout` with a timeout of `0`.
- *
- * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
- * for details over the differences between `_.debounce` and `_.throttle`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to debounce.
- * @param {number} [wait=0] The number of milliseconds to delay.
- * @param {Object} [options={}] The options object.
- * @param {boolean} [options.leading=false]
- * Specify invoking on the leading edge of the timeout.
- * @param {number} [options.maxWait]
- * The maximum time `func` is allowed to be delayed before it's invoked.
- * @param {boolean} [options.trailing=true]
- * Specify invoking on the trailing edge of the timeout.
- * @returns {Function} Returns the new debounced function.
- * @example
- *
- * // Avoid costly calculations while the window size is in flux.
- * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
- *
- * // Invoke `sendMail` when clicked, debouncing subsequent calls.
- * jQuery(element).on('click', _.debounce(sendMail, 300, {
- * 'leading': true,
- * 'trailing': false
- * }));
- *
- * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
- * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
- * var source = new EventSource('/stream');
- * jQuery(source).on('message', debounced);
- *
- * // Cancel the trailing debounced invocation.
- * jQuery(window).on('popstate', debounced.cancel);
- */
- function debounce(func, wait, options) {
- var lastArgs,
- lastThis,
- maxWait,
- result,
- timerId,
- lastCallTime,
- lastInvokeTime = 0,
- leading = false,
- maxing = false,
- trailing = true;
-
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- wait = toNumber(wait) || 0;
- if (isObject(options)) {
- leading = !!options.leading;
- maxing = 'maxWait' in options;
- maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
- trailing = 'trailing' in options ? !!options.trailing : trailing;
- }
-
- function invokeFunc(time) {
- var args = lastArgs,
- thisArg = lastThis;
-
- lastArgs = lastThis = undefined;
- lastInvokeTime = time;
- result = func.apply(thisArg, args);
- return result;
- }
-
- function leadingEdge(time) {
- // Reset any `maxWait` timer.
- lastInvokeTime = time;
- // Start the timer for the trailing edge.
- timerId = setTimeout(timerExpired, wait);
- // Invoke the leading edge.
- return leading ? invokeFunc(time) : result;
- }
-
- function remainingWait(time) {
- var timeSinceLastCall = time - lastCallTime,
- timeSinceLastInvoke = time - lastInvokeTime,
- result = wait - timeSinceLastCall;
-
- return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
- }
-
- function shouldInvoke(time) {
- var timeSinceLastCall = time - lastCallTime,
- timeSinceLastInvoke = time - lastInvokeTime;
-
- // Either this is the first call, activity has stopped and we're at the
- // trailing edge, the system time has gone backwards and we're treating
- // it as the trailing edge, or we've hit the `maxWait` limit.
- return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
- (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
- }
-
- function timerExpired() {
- var time = now();
- if (shouldInvoke(time)) {
- return trailingEdge(time);
- }
- // Restart the timer.
- timerId = setTimeout(timerExpired, remainingWait(time));
- }
-
- function trailingEdge(time) {
- timerId = undefined;
-
- // Only invoke if we have `lastArgs` which means `func` has been
- // debounced at least once.
- if (trailing && lastArgs) {
- return invokeFunc(time);
- }
- lastArgs = lastThis = undefined;
- return result;
- }
-
- function cancel() {
- if (timerId !== undefined) {
- clearTimeout(timerId);
- }
- lastInvokeTime = 0;
- lastArgs = lastCallTime = lastThis = timerId = undefined;
- }
-
- function flush() {
- return timerId === undefined ? result : trailingEdge(now());
- }
-
- function debounced() {
- var time = now(),
- isInvoking = shouldInvoke(time);
-
- lastArgs = arguments;
- lastThis = this;
- lastCallTime = time;
-
- if (isInvoking) {
- if (timerId === undefined) {
- return leadingEdge(lastCallTime);
- }
- if (maxing) {
- // Handle invocations in a tight loop.
- timerId = setTimeout(timerExpired, wait);
- return invokeFunc(lastCallTime);
- }
- }
- if (timerId === undefined) {
- timerId = setTimeout(timerExpired, wait);
- }
- return result;
- }
- debounced.cancel = cancel;
- debounced.flush = flush;
- return debounced;
- }
-
- /**
- * Defers invoking the `func` until the current call stack has cleared. Any
- * additional arguments are provided to `func` when it's invoked.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to defer.
- * @param {...*} [args] The arguments to invoke `func` with.
- * @returns {number} Returns the timer id.
- * @example
- *
- * _.defer(function(text) {
- * console.log(text);
- * }, 'deferred');
- * // => Logs 'deferred' after one millisecond.
- */
- var defer = baseRest(function(func, args) {
- return baseDelay(func, 1, args);
- });
-
- /**
- * Invokes `func` after `wait` milliseconds. Any additional arguments are
- * provided to `func` when it's invoked.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to delay.
- * @param {number} wait The number of milliseconds to delay invocation.
- * @param {...*} [args] The arguments to invoke `func` with.
- * @returns {number} Returns the timer id.
- * @example
- *
- * _.delay(function(text) {
- * console.log(text);
- * }, 1000, 'later');
- * // => Logs 'later' after one second.
- */
- var delay = baseRest(function(func, wait, args) {
- return baseDelay(func, toNumber(wait) || 0, args);
- });
-
- /**
- * Creates a function that invokes `func` with arguments reversed.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Function
- * @param {Function} func The function to flip arguments for.
- * @returns {Function} Returns the new flipped function.
- * @example
- *
- * var flipped = _.flip(function() {
- * return _.toArray(arguments);
- * });
- *
- * flipped('a', 'b', 'c', 'd');
- * // => ['d', 'c', 'b', 'a']
- */
- function flip(func) {
- return createWrap(func, WRAP_FLIP_FLAG);
- }
-
- /**
- * Creates a function that memoizes the result of `func`. If `resolver` is
- * provided, it determines the cache key for storing the result based on the
- * arguments provided to the memoized function. By default, the first argument
- * provided to the memoized function is used as the map cache key. The `func`
- * is invoked with the `this` binding of the memoized function.
- *
- * **Note:** The cache is exposed as the `cache` property on the memoized
- * function. Its creation may be customized by replacing the `_.memoize.Cache`
- * constructor with one whose instances implement the
- * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
- * method interface of `clear`, `delete`, `get`, `has`, and `set`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to have its output memoized.
- * @param {Function} [resolver] The function to resolve the cache key.
- * @returns {Function} Returns the new memoized function.
- * @example
- *
- * var object = { 'a': 1, 'b': 2 };
- * var other = { 'c': 3, 'd': 4 };
- *
- * var values = _.memoize(_.values);
- * values(object);
- * // => [1, 2]
- *
- * values(other);
- * // => [3, 4]
- *
- * object.a = 2;
- * values(object);
- * // => [1, 2]
- *
- * // Modify the result cache.
- * values.cache.set(object, ['a', 'b']);
- * values(object);
- * // => ['a', 'b']
- *
- * // Replace `_.memoize.Cache`.
- * _.memoize.Cache = WeakMap;
- */
- function memoize(func, resolver) {
- if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- var memoized = function() {
- var args = arguments,
- key = resolver ? resolver.apply(this, args) : args[0],
- cache = memoized.cache;
-
- if (cache.has(key)) {
- return cache.get(key);
- }
- var result = func.apply(this, args);
- memoized.cache = cache.set(key, result) || cache;
- return result;
- };
- memoized.cache = new (memoize.Cache || MapCache);
- return memoized;
- }
-
- // Expose `MapCache`.
- memoize.Cache = MapCache;
-
- /**
- * Creates a function that negates the result of the predicate `func`. The
- * `func` predicate is invoked with the `this` binding and arguments of the
- * created function.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Function
- * @param {Function} predicate The predicate to negate.
- * @returns {Function} Returns the new negated function.
- * @example
- *
- * function isEven(n) {
- * return n % 2 == 0;
- * }
- *
- * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
- * // => [1, 3, 5]
- */
- function negate(predicate) {
- if (typeof predicate != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- return function() {
- var args = arguments;
- switch (args.length) {
- case 0: return !predicate.call(this);
- case 1: return !predicate.call(this, args[0]);
- case 2: return !predicate.call(this, args[0], args[1]);
- case 3: return !predicate.call(this, args[0], args[1], args[2]);
- }
- return !predicate.apply(this, args);
- };
- }
-
- /**
- * Creates a function that is restricted to invoking `func` once. Repeat calls
- * to the function return the value of the first invocation. The `func` is
- * invoked with the `this` binding and arguments of the created function.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new restricted function.
- * @example
- *
- * var initialize = _.once(createApplication);
- * initialize();
- * initialize();
- * // => `createApplication` is invoked once
- */
- function once(func) {
- return before(2, func);
- }
-
- /**
- * Creates a function that invokes `func` with its arguments transformed.
- *
- * @static
- * @since 4.0.0
- * @memberOf _
- * @category Function
- * @param {Function} func The function to wrap.
- * @param {...(Function|Function[])} [transforms=[_.identity]]
- * The argument transforms.
- * @returns {Function} Returns the new function.
- * @example
- *
- * function doubled(n) {
- * return n * 2;
- * }
- *
- * function square(n) {
- * return n * n;
- * }
- *
- * var func = _.overArgs(function(x, y) {
- * return [x, y];
- * }, [square, doubled]);
- *
- * func(9, 3);
- * // => [81, 6]
- *
- * func(10, 5);
- * // => [100, 10]
- */
- var overArgs = castRest(function(func, transforms) {
- transforms = (transforms.length == 1 && isArray(transforms[0]))
- ? arrayMap(transforms[0], baseUnary(getIteratee()))
- : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));
-
- var funcsLength = transforms.length;
- return baseRest(function(args) {
- var index = -1,
- length = nativeMin(args.length, funcsLength);
-
- while (++index < length) {
- args[index] = transforms[index].call(this, args[index]);
- }
- return apply(func, this, args);
- });
- });
-
- /**
- * Creates a function that invokes `func` with `partials` prepended to the
- * arguments it receives. This method is like `_.bind` except it does **not**
- * alter the `this` binding.
- *
- * The `_.partial.placeholder` value, which defaults to `_` in monolithic
- * builds, may be used as a placeholder for partially applied arguments.
- *
- * **Note:** This method doesn't set the "length" property of partially
- * applied functions.
- *
- * @static
- * @memberOf _
- * @since 0.2.0
- * @category Function
- * @param {Function} func The function to partially apply arguments to.
- * @param {...*} [partials] The arguments to be partially applied.
- * @returns {Function} Returns the new partially applied function.
- * @example
- *
- * function greet(greeting, name) {
- * return greeting + ' ' + name;
- * }
- *
- * var sayHelloTo = _.partial(greet, 'hello');
- * sayHelloTo('fred');
- * // => 'hello fred'
- *
- * // Partially applied with placeholders.
- * var greetFred = _.partial(greet, _, 'fred');
- * greetFred('hi');
- * // => 'hi fred'
- */
- var partial = baseRest(function(func, partials) {
- var holders = replaceHolders(partials, getHolder(partial));
- return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);
- });
-
- /**
- * This method is like `_.partial` except that partially applied arguments
- * are appended to the arguments it receives.
- *
- * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic
- * builds, may be used as a placeholder for partially applied arguments.
- *
- * **Note:** This method doesn't set the "length" property of partially
- * applied functions.
- *
- * @static
- * @memberOf _
- * @since 1.0.0
- * @category Function
- * @param {Function} func The function to partially apply arguments to.
- * @param {...*} [partials] The arguments to be partially applied.
- * @returns {Function} Returns the new partially applied function.
- * @example
- *
- * function greet(greeting, name) {
- * return greeting + ' ' + name;
- * }
- *
- * var greetFred = _.partialRight(greet, 'fred');
- * greetFred('hi');
- * // => 'hi fred'
- *
- * // Partially applied with placeholders.
- * var sayHelloTo = _.partialRight(greet, 'hello', _);
- * sayHelloTo('fred');
- * // => 'hello fred'
- */
- var partialRight = baseRest(function(func, partials) {
- var holders = replaceHolders(partials, getHolder(partialRight));
- return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);
- });
-
- /**
- * Creates a function that invokes `func` with arguments arranged according
- * to the specified `indexes` where the argument value at the first index is
- * provided as the first argument, the argument value at the second index is
- * provided as the second argument, and so on.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Function
- * @param {Function} func The function to rearrange arguments for.
- * @param {...(number|number[])} indexes The arranged argument indexes.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var rearged = _.rearg(function(a, b, c) {
- * return [a, b, c];
- * }, [2, 0, 1]);
- *
- * rearged('b', 'c', 'a')
- * // => ['a', 'b', 'c']
- */
- var rearg = flatRest(function(func, indexes) {
- return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);
- });
-
- /**
- * Creates a function that invokes `func` with the `this` binding of the
- * created function and arguments from `start` and beyond provided as
- * an array.
- *
- * **Note:** This method is based on the
- * [rest parameter](https://mdn.io/rest_parameters).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Function
- * @param {Function} func The function to apply a rest parameter to.
- * @param {number} [start=func.length-1] The start position of the rest parameter.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var say = _.rest(function(what, names) {
- * return what + ' ' + _.initial(names).join(', ') +
- * (_.size(names) > 1 ? ', & ' : '') + _.last(names);
- * });
- *
- * say('hello', 'fred', 'barney', 'pebbles');
- * // => 'hello fred, barney, & pebbles'
- */
- function rest(func, start) {
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- start = start === undefined ? start : toInteger(start);
- return baseRest(func, start);
- }
-
- /**
- * Creates a function that invokes `func` with the `this` binding of the
- * create function and an array of arguments much like
- * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).
- *
- * **Note:** This method is based on the
- * [spread operator](https://mdn.io/spread_operator).
- *
- * @static
- * @memberOf _
- * @since 3.2.0
- * @category Function
- * @param {Function} func The function to spread arguments over.
- * @param {number} [start=0] The start position of the spread.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var say = _.spread(function(who, what) {
- * return who + ' says ' + what;
- * });
- *
- * say(['fred', 'hello']);
- * // => 'fred says hello'
- *
- * var numbers = Promise.all([
- * Promise.resolve(40),
- * Promise.resolve(36)
- * ]);
- *
- * numbers.then(_.spread(function(x, y) {
- * return x + y;
- * }));
- * // => a Promise of 76
- */
- function spread(func, start) {
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- start = start == null ? 0 : nativeMax(toInteger(start), 0);
- return baseRest(function(args) {
- var array = args[start],
- otherArgs = castSlice(args, 0, start);
-
- if (array) {
- arrayPush(otherArgs, array);
- }
- return apply(func, this, otherArgs);
- });
- }
-
- /**
- * Creates a throttled function that only invokes `func` at most once per
- * every `wait` milliseconds. The throttled function comes with a `cancel`
- * method to cancel delayed `func` invocations and a `flush` method to
- * immediately invoke them. Provide `options` to indicate whether `func`
- * should be invoked on the leading and/or trailing edge of the `wait`
- * timeout. The `func` is invoked with the last arguments provided to the
- * throttled function. Subsequent calls to the throttled function return the
- * result of the last `func` invocation.
- *
- * **Note:** If `leading` and `trailing` options are `true`, `func` is
- * invoked on the trailing edge of the timeout only if the throttled function
- * is invoked more than once during the `wait` timeout.
- *
- * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
- * until to the next tick, similar to `setTimeout` with a timeout of `0`.
- *
- * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
- * for details over the differences between `_.throttle` and `_.debounce`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to throttle.
- * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
- * @param {Object} [options={}] The options object.
- * @param {boolean} [options.leading=true]
- * Specify invoking on the leading edge of the timeout.
- * @param {boolean} [options.trailing=true]
- * Specify invoking on the trailing edge of the timeout.
- * @returns {Function} Returns the new throttled function.
- * @example
- *
- * // Avoid excessively updating the position while scrolling.
- * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
- *
- * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
- * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
- * jQuery(element).on('click', throttled);
- *
- * // Cancel the trailing throttled invocation.
- * jQuery(window).on('popstate', throttled.cancel);
- */
- function throttle(func, wait, options) {
- var leading = true,
- trailing = true;
-
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- if (isObject(options)) {
- leading = 'leading' in options ? !!options.leading : leading;
- trailing = 'trailing' in options ? !!options.trailing : trailing;
- }
- return debounce(func, wait, {
- 'leading': leading,
- 'maxWait': wait,
- 'trailing': trailing
- });
- }
-
- /**
- * Creates a function that accepts up to one argument, ignoring any
- * additional arguments.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Function
- * @param {Function} func The function to cap arguments for.
- * @returns {Function} Returns the new capped function.
- * @example
- *
- * _.map(['6', '8', '10'], _.unary(parseInt));
- * // => [6, 8, 10]
- */
- function unary(func) {
- return ary(func, 1);
- }
-
- /**
- * Creates a function that provides `value` to `wrapper` as its first
- * argument. Any additional arguments provided to the function are appended
- * to those provided to the `wrapper`. The wrapper is invoked with the `this`
- * binding of the created function.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {*} value The value to wrap.
- * @param {Function} [wrapper=identity] The wrapper function.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var p = _.wrap(_.escape, function(func, text) {
- * return '' + func(text) + '
';
- * });
- *
- * p('fred, barney, & pebbles');
- * // => 'fred, barney, & pebbles
'
- */
- function wrap(value, wrapper) {
- return partial(castFunction(wrapper), value);
- }
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Casts `value` as an array if it's not one.
- *
- * @static
- * @memberOf _
- * @since 4.4.0
- * @category Lang
- * @param {*} value The value to inspect.
- * @returns {Array} Returns the cast array.
- * @example
- *
- * _.castArray(1);
- * // => [1]
- *
- * _.castArray({ 'a': 1 });
- * // => [{ 'a': 1 }]
- *
- * _.castArray('abc');
- * // => ['abc']
- *
- * _.castArray(null);
- * // => [null]
- *
- * _.castArray(undefined);
- * // => [undefined]
- *
- * _.castArray();
- * // => []
- *
- * var array = [1, 2, 3];
- * console.log(_.castArray(array) === array);
- * // => true
- */
- function castArray() {
- if (!arguments.length) {
- return [];
- }
- var value = arguments[0];
- return isArray(value) ? value : [value];
- }
-
- /**
- * Creates a shallow clone of `value`.
- *
- * **Note:** This method is loosely based on the
- * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)
- * and supports cloning arrays, array buffers, booleans, date objects, maps,
- * numbers, `Object` objects, regexes, sets, strings, symbols, and typed
- * arrays. The own enumerable properties of `arguments` objects are cloned
- * as plain objects. An empty object is returned for uncloneable values such
- * as error objects, functions, DOM nodes, and WeakMaps.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to clone.
- * @returns {*} Returns the cloned value.
- * @see _.cloneDeep
- * @example
- *
- * var objects = [{ 'a': 1 }, { 'b': 2 }];
- *
- * var shallow = _.clone(objects);
- * console.log(shallow[0] === objects[0]);
- * // => true
- */
- function clone(value) {
- return baseClone(value, CLONE_SYMBOLS_FLAG);
- }
-
- /**
- * This method is like `_.clone` except that it accepts `customizer` which
- * is invoked to produce the cloned value. If `customizer` returns `undefined`,
- * cloning is handled by the method instead. The `customizer` is invoked with
- * up to four arguments; (value [, index|key, object, stack]).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to clone.
- * @param {Function} [customizer] The function to customize cloning.
- * @returns {*} Returns the cloned value.
- * @see _.cloneDeepWith
- * @example
- *
- * function customizer(value) {
- * if (_.isElement(value)) {
- * return value.cloneNode(false);
- * }
- * }
- *
- * var el = _.cloneWith(document.body, customizer);
- *
- * console.log(el === document.body);
- * // => false
- * console.log(el.nodeName);
- * // => 'BODY'
- * console.log(el.childNodes.length);
- * // => 0
- */
- function cloneWith(value, customizer) {
- customizer = typeof customizer == 'function' ? customizer : undefined;
- return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);
- }
-
- /**
- * This method is like `_.clone` except that it recursively clones `value`.
- *
- * @static
- * @memberOf _
- * @since 1.0.0
- * @category Lang
- * @param {*} value The value to recursively clone.
- * @returns {*} Returns the deep cloned value.
- * @see _.clone
- * @example
- *
- * var objects = [{ 'a': 1 }, { 'b': 2 }];
- *
- * var deep = _.cloneDeep(objects);
- * console.log(deep[0] === objects[0]);
- * // => false
- */
- function cloneDeep(value) {
- return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
- }
-
- /**
- * This method is like `_.cloneWith` except that it recursively clones `value`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to recursively clone.
- * @param {Function} [customizer] The function to customize cloning.
- * @returns {*} Returns the deep cloned value.
- * @see _.cloneWith
- * @example
- *
- * function customizer(value) {
- * if (_.isElement(value)) {
- * return value.cloneNode(true);
- * }
- * }
- *
- * var el = _.cloneDeepWith(document.body, customizer);
- *
- * console.log(el === document.body);
- * // => false
- * console.log(el.nodeName);
- * // => 'BODY'
- * console.log(el.childNodes.length);
- * // => 20
- */
- function cloneDeepWith(value, customizer) {
- customizer = typeof customizer == 'function' ? customizer : undefined;
- return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);
- }
-
- /**
- * Checks if `object` conforms to `source` by invoking the predicate
- * properties of `source` with the corresponding property values of `object`.
- *
- * **Note:** This method is equivalent to `_.conforms` when `source` is
- * partially applied.
- *
- * @static
- * @memberOf _
- * @since 4.14.0
- * @category Lang
- * @param {Object} object The object to inspect.
- * @param {Object} source The object of property predicates to conform to.
- * @returns {boolean} Returns `true` if `object` conforms, else `false`.
- * @example
- *
- * var object = { 'a': 1, 'b': 2 };
- *
- * _.conformsTo(object, { 'b': function(n) { return n > 1; } });
- * // => true
- *
- * _.conformsTo(object, { 'b': function(n) { return n > 2; } });
- * // => false
- */
- function conformsTo(object, source) {
- return source == null || baseConformsTo(object, source, keys(source));
- }
-
- /**
- * Performs a
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * comparison between two values to determine if they are equivalent.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * var object = { 'a': 1 };
- * var other = { 'a': 1 };
- *
- * _.eq(object, object);
- * // => true
- *
- * _.eq(object, other);
- * // => false
- *
- * _.eq('a', 'a');
- * // => true
- *
- * _.eq('a', Object('a'));
- * // => false
- *
- * _.eq(NaN, NaN);
- * // => true
- */
- function eq(value, other) {
- return value === other || (value !== value && other !== other);
- }
-
- /**
- * Checks if `value` is greater than `other`.
- *
- * @static
- * @memberOf _
- * @since 3.9.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if `value` is greater than `other`,
- * else `false`.
- * @see _.lt
- * @example
- *
- * _.gt(3, 1);
- * // => true
- *
- * _.gt(3, 3);
- * // => false
- *
- * _.gt(1, 3);
- * // => false
- */
- var gt = createRelationalOperation(baseGt);
-
- /**
- * Checks if `value` is greater than or equal to `other`.
- *
- * @static
- * @memberOf _
- * @since 3.9.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if `value` is greater than or equal to
- * `other`, else `false`.
- * @see _.lte
- * @example
- *
- * _.gte(3, 1);
- * // => true
- *
- * _.gte(3, 3);
- * // => true
- *
- * _.gte(1, 3);
- * // => false
- */
- var gte = createRelationalOperation(function(value, other) {
- return value >= other;
- });
-
- /**
- * Checks if `value` is likely an `arguments` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an `arguments` object,
- * else `false`.
- * @example
- *
- * _.isArguments(function() { return arguments; }());
- * // => true
- *
- * _.isArguments([1, 2, 3]);
- * // => false
- */
- var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
- return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
- !propertyIsEnumerable.call(value, 'callee');
- };
-
- /**
- * Checks if `value` is classified as an `Array` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array, else `false`.
- * @example
- *
- * _.isArray([1, 2, 3]);
- * // => true
- *
- * _.isArray(document.body.children);
- * // => false
- *
- * _.isArray('abc');
- * // => false
- *
- * _.isArray(_.noop);
- * // => false
- */
- var isArray = Array.isArray;
-
- /**
- * Checks if `value` is classified as an `ArrayBuffer` object.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.
- * @example
- *
- * _.isArrayBuffer(new ArrayBuffer(2));
- * // => true
- *
- * _.isArrayBuffer(new Array(2));
- * // => false
- */
- var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;
-
- /**
- * Checks if `value` is array-like. A value is considered array-like if it's
- * not a function and has a `value.length` that's an integer greater than or
- * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
- * @example
- *
- * _.isArrayLike([1, 2, 3]);
- * // => true
- *
- * _.isArrayLike(document.body.children);
- * // => true
- *
- * _.isArrayLike('abc');
- * // => true
- *
- * _.isArrayLike(_.noop);
- * // => false
- */
- function isArrayLike(value) {
- return value != null && isLength(value.length) && !isFunction(value);
- }
-
- /**
- * This method is like `_.isArrayLike` except that it also checks if `value`
- * is an object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array-like object,
- * else `false`.
- * @example
- *
- * _.isArrayLikeObject([1, 2, 3]);
- * // => true
- *
- * _.isArrayLikeObject(document.body.children);
- * // => true
- *
- * _.isArrayLikeObject('abc');
- * // => false
- *
- * _.isArrayLikeObject(_.noop);
- * // => false
- */
- function isArrayLikeObject(value) {
- return isObjectLike(value) && isArrayLike(value);
- }
-
- /**
- * Checks if `value` is classified as a boolean primitive or object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.
- * @example
- *
- * _.isBoolean(false);
- * // => true
- *
- * _.isBoolean(null);
- * // => false
- */
- function isBoolean(value) {
- return value === true || value === false ||
- (isObjectLike(value) && baseGetTag(value) == boolTag);
- }
-
- /**
- * Checks if `value` is a buffer.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
- * @example
- *
- * _.isBuffer(new Buffer(2));
- * // => true
- *
- * _.isBuffer(new Uint8Array(2));
- * // => false
- */
- var isBuffer = nativeIsBuffer || stubFalse;
-
- /**
- * Checks if `value` is classified as a `Date` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
- * @example
- *
- * _.isDate(new Date);
- * // => true
- *
- * _.isDate('Mon April 23 2012');
- * // => false
- */
- var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;
-
- /**
- * Checks if `value` is likely a DOM element.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.
- * @example
- *
- * _.isElement(document.body);
- * // => true
- *
- * _.isElement('');
- * // => false
- */
- function isElement(value) {
- return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);
- }
-
- /**
- * Checks if `value` is an empty object, collection, map, or set.
- *
- * Objects are considered empty if they have no own enumerable string keyed
- * properties.
- *
- * Array-like values such as `arguments` objects, arrays, buffers, strings, or
- * jQuery-like collections are considered empty if they have a `length` of `0`.
- * Similarly, maps and sets are considered empty if they have a `size` of `0`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is empty, else `false`.
- * @example
- *
- * _.isEmpty(null);
- * // => true
- *
- * _.isEmpty(true);
- * // => true
- *
- * _.isEmpty(1);
- * // => true
- *
- * _.isEmpty([1, 2, 3]);
- * // => false
- *
- * _.isEmpty({ 'a': 1 });
- * // => false
- */
- function isEmpty(value) {
- if (value == null) {
- return true;
- }
- if (isArrayLike(value) &&
- (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||
- isBuffer(value) || isTypedArray(value) || isArguments(value))) {
- return !value.length;
- }
- var tag = getTag(value);
- if (tag == mapTag || tag == setTag) {
- return !value.size;
- }
- if (isPrototype(value)) {
- return !baseKeys(value).length;
- }
- for (var key in value) {
- if (hasOwnProperty.call(value, key)) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Performs a deep comparison between two values to determine if they are
- * equivalent.
- *
- * **Note:** This method supports comparing arrays, array buffers, booleans,
- * date objects, error objects, maps, numbers, `Object` objects, regexes,
- * sets, strings, symbols, and typed arrays. `Object` objects are compared
- * by their own, not inherited, enumerable properties. Functions and DOM
- * nodes are compared by strict equality, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * var object = { 'a': 1 };
- * var other = { 'a': 1 };
- *
- * _.isEqual(object, other);
- * // => true
- *
- * object === other;
- * // => false
- */
- function isEqual(value, other) {
- return baseIsEqual(value, other);
- }
-
- /**
- * This method is like `_.isEqual` except that it accepts `customizer` which
- * is invoked to compare values. If `customizer` returns `undefined`, comparisons
- * are handled by the method instead. The `customizer` is invoked with up to
- * six arguments: (objValue, othValue [, index|key, object, other, stack]).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @param {Function} [customizer] The function to customize comparisons.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * function isGreeting(value) {
- * return /^h(?:i|ello)$/.test(value);
- * }
- *
- * function customizer(objValue, othValue) {
- * if (isGreeting(objValue) && isGreeting(othValue)) {
- * return true;
- * }
- * }
- *
- * var array = ['hello', 'goodbye'];
- * var other = ['hi', 'goodbye'];
- *
- * _.isEqualWith(array, other, customizer);
- * // => true
- */
- function isEqualWith(value, other, customizer) {
- customizer = typeof customizer == 'function' ? customizer : undefined;
- var result = customizer ? customizer(value, other) : undefined;
- return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;
- }
-
- /**
- * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,
- * `SyntaxError`, `TypeError`, or `URIError` object.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an error object, else `false`.
- * @example
- *
- * _.isError(new Error);
- * // => true
- *
- * _.isError(Error);
- * // => false
- */
- function isError(value) {
- if (!isObjectLike(value)) {
- return false;
- }
- var tag = baseGetTag(value);
- return tag == errorTag || tag == domExcTag ||
- (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));
- }
-
- /**
- * Checks if `value` is a finite primitive number.
- *
- * **Note:** This method is based on
- * [`Number.isFinite`](https://mdn.io/Number/isFinite).
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
- * @example
- *
- * _.isFinite(3);
- * // => true
- *
- * _.isFinite(Number.MIN_VALUE);
- * // => true
- *
- * _.isFinite(Infinity);
- * // => false
- *
- * _.isFinite('3');
- * // => false
- */
- function isFinite(value) {
- return typeof value == 'number' && nativeIsFinite(value);
- }
-
- /**
- * Checks if `value` is classified as a `Function` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a function, else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- *
- * _.isFunction(/abc/);
- * // => false
- */
- function isFunction(value) {
- if (!isObject(value)) {
- return false;
- }
- // The use of `Object#toString` avoids issues with the `typeof` operator
- // in Safari 9 which returns 'object' for typed arrays and other constructors.
- var tag = baseGetTag(value);
- return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
- }
-
- /**
- * Checks if `value` is an integer.
- *
- * **Note:** This method is based on
- * [`Number.isInteger`](https://mdn.io/Number/isInteger).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an integer, else `false`.
- * @example
- *
- * _.isInteger(3);
- * // => true
- *
- * _.isInteger(Number.MIN_VALUE);
- * // => false
- *
- * _.isInteger(Infinity);
- * // => false
- *
- * _.isInteger('3');
- * // => false
- */
- function isInteger(value) {
- return typeof value == 'number' && value == toInteger(value);
- }
-
- /**
- * Checks if `value` is a valid array-like length.
- *
- * **Note:** This method is loosely based on
- * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
- * @example
- *
- * _.isLength(3);
- * // => true
- *
- * _.isLength(Number.MIN_VALUE);
- * // => false
- *
- * _.isLength(Infinity);
- * // => false
- *
- * _.isLength('3');
- * // => false
- */
- function isLength(value) {
- return typeof value == 'number' &&
- value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
- }
-
- /**
- * Checks if `value` is the
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(_.noop);
- * // => true
- *
- * _.isObject(null);
- * // => false
- */
- function isObject(value) {
- var type = typeof value;
- return value != null && (type == 'object' || type == 'function');
- }
-
- /**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
- function isObjectLike(value) {
- return value != null && typeof value == 'object';
- }
-
- /**
- * Checks if `value` is classified as a `Map` object.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a map, else `false`.
- * @example
- *
- * _.isMap(new Map);
- * // => true
- *
- * _.isMap(new WeakMap);
- * // => false
- */
- var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
-
- /**
- * Performs a partial deep comparison between `object` and `source` to
- * determine if `object` contains equivalent property values.
- *
- * **Note:** This method is equivalent to `_.matches` when `source` is
- * partially applied.
- *
- * Partial comparisons will match empty array and empty object `source`
- * values against any array or object value, respectively. See `_.isEqual`
- * for a list of supported value comparisons.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Lang
- * @param {Object} object The object to inspect.
- * @param {Object} source The object of property values to match.
- * @returns {boolean} Returns `true` if `object` is a match, else `false`.
- * @example
- *
- * var object = { 'a': 1, 'b': 2 };
- *
- * _.isMatch(object, { 'b': 2 });
- * // => true
- *
- * _.isMatch(object, { 'b': 1 });
- * // => false
- */
- function isMatch(object, source) {
- return object === source || baseIsMatch(object, source, getMatchData(source));
- }
-
- /**
- * This method is like `_.isMatch` except that it accepts `customizer` which
- * is invoked to compare values. If `customizer` returns `undefined`, comparisons
- * are handled by the method instead. The `customizer` is invoked with five
- * arguments: (objValue, srcValue, index|key, object, source).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {Object} object The object to inspect.
- * @param {Object} source The object of property values to match.
- * @param {Function} [customizer] The function to customize comparisons.
- * @returns {boolean} Returns `true` if `object` is a match, else `false`.
- * @example
- *
- * function isGreeting(value) {
- * return /^h(?:i|ello)$/.test(value);
- * }
- *
- * function customizer(objValue, srcValue) {
- * if (isGreeting(objValue) && isGreeting(srcValue)) {
- * return true;
- * }
- * }
- *
- * var object = { 'greeting': 'hello' };
- * var source = { 'greeting': 'hi' };
- *
- * _.isMatchWith(object, source, customizer);
- * // => true
- */
- function isMatchWith(object, source, customizer) {
- customizer = typeof customizer == 'function' ? customizer : undefined;
- return baseIsMatch(object, source, getMatchData(source), customizer);
- }
-
- /**
- * Checks if `value` is `NaN`.
- *
- * **Note:** This method is based on
- * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as
- * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for
- * `undefined` and other non-number values.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
- * @example
- *
- * _.isNaN(NaN);
- * // => true
- *
- * _.isNaN(new Number(NaN));
- * // => true
- *
- * isNaN(undefined);
- * // => true
- *
- * _.isNaN(undefined);
- * // => false
- */
- function isNaN(value) {
- // An `NaN` primitive is the only value that is not equal to itself.
- // Perform the `toStringTag` check first to avoid errors with some
- // ActiveX objects in IE.
- return isNumber(value) && value != +value;
- }
-
- /**
- * Checks if `value` is a pristine native function.
- *
- * **Note:** This method can't reliably detect native functions in the presence
- * of the core-js package because core-js circumvents this kind of detection.
- * Despite multiple requests, the core-js maintainer has made it clear: any
- * attempt to fix the detection will be obstructed. As a result, we're left
- * with little choice but to throw an error. Unfortunately, this also affects
- * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),
- * which rely on core-js.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a native function,
- * else `false`.
- * @example
- *
- * _.isNative(Array.prototype.push);
- * // => true
- *
- * _.isNative(_);
- * // => false
- */
- function isNative(value) {
- if (isMaskable(value)) {
- throw new Error(CORE_ERROR_TEXT);
- }
- return baseIsNative(value);
- }
-
- /**
- * Checks if `value` is `null`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is `null`, else `false`.
- * @example
- *
- * _.isNull(null);
- * // => true
- *
- * _.isNull(void 0);
- * // => false
- */
- function isNull(value) {
- return value === null;
- }
-
- /**
- * Checks if `value` is `null` or `undefined`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is nullish, else `false`.
- * @example
- *
- * _.isNil(null);
- * // => true
- *
- * _.isNil(void 0);
- * // => true
- *
- * _.isNil(NaN);
- * // => false
- */
- function isNil(value) {
- return value == null;
- }
-
- /**
- * Checks if `value` is classified as a `Number` primitive or object.
- *
- * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are
- * classified as numbers, use the `_.isFinite` method.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a number, else `false`.
- * @example
- *
- * _.isNumber(3);
- * // => true
- *
- * _.isNumber(Number.MIN_VALUE);
- * // => true
- *
- * _.isNumber(Infinity);
- * // => true
- *
- * _.isNumber('3');
- * // => false
- */
- function isNumber(value) {
- return typeof value == 'number' ||
- (isObjectLike(value) && baseGetTag(value) == numberTag);
- }
-
- /**
- * Checks if `value` is a plain object, that is, an object created by the
- * `Object` constructor or one with a `[[Prototype]]` of `null`.
- *
- * @static
- * @memberOf _
- * @since 0.8.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * }
- *
- * _.isPlainObject(new Foo);
- * // => false
- *
- * _.isPlainObject([1, 2, 3]);
- * // => false
- *
- * _.isPlainObject({ 'x': 0, 'y': 0 });
- * // => true
- *
- * _.isPlainObject(Object.create(null));
- * // => true
- */
- function isPlainObject(value) {
- if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
- return false;
- }
- var proto = getPrototype(value);
- if (proto === null) {
- return true;
- }
- var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
- return typeof Ctor == 'function' && Ctor instanceof Ctor &&
- funcToString.call(Ctor) == objectCtorString;
- }
-
- /**
- * Checks if `value` is classified as a `RegExp` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
- * @example
- *
- * _.isRegExp(/abc/);
- * // => true
- *
- * _.isRegExp('/abc/');
- * // => false
- */
- var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;
-
- /**
- * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754
- * double precision number which isn't the result of a rounded unsafe integer.
- *
- * **Note:** This method is based on
- * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.
- * @example
- *
- * _.isSafeInteger(3);
- * // => true
- *
- * _.isSafeInteger(Number.MIN_VALUE);
- * // => false
- *
- * _.isSafeInteger(Infinity);
- * // => false
- *
- * _.isSafeInteger('3');
- * // => false
- */
- function isSafeInteger(value) {
- return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;
- }
-
- /**
- * Checks if `value` is classified as a `Set` object.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a set, else `false`.
- * @example
- *
- * _.isSet(new Set);
- * // => true
- *
- * _.isSet(new WeakSet);
- * // => false
- */
- var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
-
- /**
- * Checks if `value` is classified as a `String` primitive or object.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a string, else `false`.
- * @example
- *
- * _.isString('abc');
- * // => true
- *
- * _.isString(1);
- * // => false
- */
- function isString(value) {
- return typeof value == 'string' ||
- (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);
- }
-
- /**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
- function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && baseGetTag(value) == symbolTag);
- }
-
- /**
- * Checks if `value` is classified as a typed array.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
- * @example
- *
- * _.isTypedArray(new Uint8Array);
- * // => true
- *
- * _.isTypedArray([]);
- * // => false
- */
- var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
-
- /**
- * Checks if `value` is `undefined`.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
- * @example
- *
- * _.isUndefined(void 0);
- * // => true
- *
- * _.isUndefined(null);
- * // => false
- */
- function isUndefined(value) {
- return value === undefined;
- }
-
- /**
- * Checks if `value` is classified as a `WeakMap` object.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.
- * @example
- *
- * _.isWeakMap(new WeakMap);
- * // => true
- *
- * _.isWeakMap(new Map);
- * // => false
- */
- function isWeakMap(value) {
- return isObjectLike(value) && getTag(value) == weakMapTag;
- }
-
- /**
- * Checks if `value` is classified as a `WeakSet` object.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.
- * @example
- *
- * _.isWeakSet(new WeakSet);
- * // => true
- *
- * _.isWeakSet(new Set);
- * // => false
- */
- function isWeakSet(value) {
- return isObjectLike(value) && baseGetTag(value) == weakSetTag;
- }
-
- /**
- * Checks if `value` is less than `other`.
- *
- * @static
- * @memberOf _
- * @since 3.9.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if `value` is less than `other`,
- * else `false`.
- * @see _.gt
- * @example
- *
- * _.lt(1, 3);
- * // => true
- *
- * _.lt(3, 3);
- * // => false
- *
- * _.lt(3, 1);
- * // => false
- */
- var lt = createRelationalOperation(baseLt);
-
- /**
- * Checks if `value` is less than or equal to `other`.
- *
- * @static
- * @memberOf _
- * @since 3.9.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if `value` is less than or equal to
- * `other`, else `false`.
- * @see _.gte
- * @example
- *
- * _.lte(1, 3);
- * // => true
- *
- * _.lte(3, 3);
- * // => true
- *
- * _.lte(3, 1);
- * // => false
- */
- var lte = createRelationalOperation(function(value, other) {
- return value <= other;
- });
-
- /**
- * Converts `value` to an array.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {Array} Returns the converted array.
- * @example
- *
- * _.toArray({ 'a': 1, 'b': 2 });
- * // => [1, 2]
- *
- * _.toArray('abc');
- * // => ['a', 'b', 'c']
- *
- * _.toArray(1);
- * // => []
- *
- * _.toArray(null);
- * // => []
- */
- function toArray(value) {
- if (!value) {
- return [];
- }
- if (isArrayLike(value)) {
- return isString(value) ? stringToArray(value) : copyArray(value);
- }
- if (symIterator && value[symIterator]) {
- return iteratorToArray(value[symIterator]());
- }
- var tag = getTag(value),
- func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);
-
- return func(value);
- }
-
- /**
- * Converts `value` to a finite number.
- *
- * @static
- * @memberOf _
- * @since 4.12.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted number.
- * @example
- *
- * _.toFinite(3.2);
- * // => 3.2
- *
- * _.toFinite(Number.MIN_VALUE);
- * // => 5e-324
- *
- * _.toFinite(Infinity);
- * // => 1.7976931348623157e+308
- *
- * _.toFinite('3.2');
- * // => 3.2
- */
- function toFinite(value) {
- if (!value) {
- return value === 0 ? value : 0;
- }
- value = toNumber(value);
- if (value === INFINITY || value === -INFINITY) {
- var sign = (value < 0 ? -1 : 1);
- return sign * MAX_INTEGER;
- }
- return value === value ? value : 0;
- }
-
- /**
- * Converts `value` to an integer.
- *
- * **Note:** This method is loosely based on
- * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted integer.
- * @example
- *
- * _.toInteger(3.2);
- * // => 3
- *
- * _.toInteger(Number.MIN_VALUE);
- * // => 0
- *
- * _.toInteger(Infinity);
- * // => 1.7976931348623157e+308
- *
- * _.toInteger('3.2');
- * // => 3
- */
- function toInteger(value) {
- var result = toFinite(value),
- remainder = result % 1;
-
- return result === result ? (remainder ? result - remainder : result) : 0;
- }
-
- /**
- * Converts `value` to an integer suitable for use as the length of an
- * array-like object.
- *
- * **Note:** This method is based on
- * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted integer.
- * @example
- *
- * _.toLength(3.2);
- * // => 3
- *
- * _.toLength(Number.MIN_VALUE);
- * // => 0
- *
- * _.toLength(Infinity);
- * // => 4294967295
- *
- * _.toLength('3.2');
- * // => 3
- */
- function toLength(value) {
- return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;
- }
-
- /**
- * Converts `value` to a number.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to process.
- * @returns {number} Returns the number.
- * @example
- *
- * _.toNumber(3.2);
- * // => 3.2
- *
- * _.toNumber(Number.MIN_VALUE);
- * // => 5e-324
- *
- * _.toNumber(Infinity);
- * // => Infinity
- *
- * _.toNumber('3.2');
- * // => 3.2
- */
- function toNumber(value) {
- if (typeof value == 'number') {
- return value;
- }
- if (isSymbol(value)) {
- return NAN;
- }
- if (isObject(value)) {
- var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
- value = isObject(other) ? (other + '') : other;
- }
- if (typeof value != 'string') {
- return value === 0 ? value : +value;
- }
- value = value.replace(reTrim, '');
- var isBinary = reIsBinary.test(value);
- return (isBinary || reIsOctal.test(value))
- ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
- : (reIsBadHex.test(value) ? NAN : +value);
- }
-
- /**
- * Converts `value` to a plain object flattening inherited enumerable string
- * keyed properties of `value` to own properties of the plain object.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {Object} Returns the converted plain object.
- * @example
- *
- * function Foo() {
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.assign({ 'a': 1 }, new Foo);
- * // => { 'a': 1, 'b': 2 }
- *
- * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
- * // => { 'a': 1, 'b': 2, 'c': 3 }
- */
- function toPlainObject(value) {
- return copyObject(value, keysIn(value));
- }
-
- /**
- * Converts `value` to a safe integer. A safe integer can be compared and
- * represented correctly.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted integer.
- * @example
- *
- * _.toSafeInteger(3.2);
- * // => 3
- *
- * _.toSafeInteger(Number.MIN_VALUE);
- * // => 0
- *
- * _.toSafeInteger(Infinity);
- * // => 9007199254740991
- *
- * _.toSafeInteger('3.2');
- * // => 3
- */
- function toSafeInteger(value) {
- return value
- ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)
- : (value === 0 ? value : 0);
- }
-
- /**
- * Converts `value` to a string. An empty string is returned for `null`
- * and `undefined` values. The sign of `-0` is preserved.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {string} Returns the converted string.
- * @example
- *
- * _.toString(null);
- * // => ''
- *
- * _.toString(-0);
- * // => '-0'
- *
- * _.toString([1, 2, 3]);
- * // => '1,2,3'
- */
- function toString(value) {
- return value == null ? '' : baseToString(value);
- }
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Assigns own enumerable string keyed properties of source objects to the
- * destination object. Source objects are applied from left to right.
- * Subsequent sources overwrite property assignments of previous sources.
- *
- * **Note:** This method mutates `object` and is loosely based on
- * [`Object.assign`](https://mdn.io/Object/assign).
- *
- * @static
- * @memberOf _
- * @since 0.10.0
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} [sources] The source objects.
- * @returns {Object} Returns `object`.
- * @see _.assignIn
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * }
- *
- * function Bar() {
- * this.c = 3;
- * }
- *
- * Foo.prototype.b = 2;
- * Bar.prototype.d = 4;
- *
- * _.assign({ 'a': 0 }, new Foo, new Bar);
- * // => { 'a': 1, 'c': 3 }
- */
- var assign = createAssigner(function(object, source) {
- if (isPrototype(source) || isArrayLike(source)) {
- copyObject(source, keys(source), object);
- return;
- }
- for (var key in source) {
- if (hasOwnProperty.call(source, key)) {
- assignValue(object, key, source[key]);
- }
- }
- });
-
- /**
- * This method is like `_.assign` except that it iterates over own and
- * inherited source properties.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @alias extend
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} [sources] The source objects.
- * @returns {Object} Returns `object`.
- * @see _.assign
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * }
- *
- * function Bar() {
- * this.c = 3;
- * }
- *
- * Foo.prototype.b = 2;
- * Bar.prototype.d = 4;
- *
- * _.assignIn({ 'a': 0 }, new Foo, new Bar);
- * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }
- */
- var assignIn = createAssigner(function(object, source) {
- copyObject(source, keysIn(source), object);
- });
-
- /**
- * This method is like `_.assignIn` except that it accepts `customizer`
- * which is invoked to produce the assigned values. If `customizer` returns
- * `undefined`, assignment is handled by the method instead. The `customizer`
- * is invoked with five arguments: (objValue, srcValue, key, object, source).
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @alias extendWith
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} sources The source objects.
- * @param {Function} [customizer] The function to customize assigned values.
- * @returns {Object} Returns `object`.
- * @see _.assignWith
- * @example
- *
- * function customizer(objValue, srcValue) {
- * return _.isUndefined(objValue) ? srcValue : objValue;
- * }
- *
- * var defaults = _.partialRight(_.assignInWith, customizer);
- *
- * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
- * // => { 'a': 1, 'b': 2 }
- */
- var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {
- copyObject(source, keysIn(source), object, customizer);
- });
-
- /**
- * This method is like `_.assign` except that it accepts `customizer`
- * which is invoked to produce the assigned values. If `customizer` returns
- * `undefined`, assignment is handled by the method instead. The `customizer`
- * is invoked with five arguments: (objValue, srcValue, key, object, source).
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} sources The source objects.
- * @param {Function} [customizer] The function to customize assigned values.
- * @returns {Object} Returns `object`.
- * @see _.assignInWith
- * @example
- *
- * function customizer(objValue, srcValue) {
- * return _.isUndefined(objValue) ? srcValue : objValue;
- * }
- *
- * var defaults = _.partialRight(_.assignWith, customizer);
- *
- * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
- * // => { 'a': 1, 'b': 2 }
- */
- var assignWith = createAssigner(function(object, source, srcIndex, customizer) {
- copyObject(source, keys(source), object, customizer);
- });
-
- /**
- * Creates an array of values corresponding to `paths` of `object`.
- *
- * @static
- * @memberOf _
- * @since 1.0.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {...(string|string[])} [paths] The property paths to pick.
- * @returns {Array} Returns the picked values.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };
- *
- * _.at(object, ['a[0].b.c', 'a[1]']);
- * // => [3, 4]
- */
- var at = flatRest(baseAt);
-
- /**
- * Creates an object that inherits from the `prototype` object. If a
- * `properties` object is given, its own enumerable string keyed properties
- * are assigned to the created object.
- *
- * @static
- * @memberOf _
- * @since 2.3.0
- * @category Object
- * @param {Object} prototype The object to inherit from.
- * @param {Object} [properties] The properties to assign to the object.
- * @returns {Object} Returns the new object.
- * @example
- *
- * function Shape() {
- * this.x = 0;
- * this.y = 0;
- * }
- *
- * function Circle() {
- * Shape.call(this);
- * }
- *
- * Circle.prototype = _.create(Shape.prototype, {
- * 'constructor': Circle
- * });
- *
- * var circle = new Circle;
- * circle instanceof Circle;
- * // => true
- *
- * circle instanceof Shape;
- * // => true
- */
- function create(prototype, properties) {
- var result = baseCreate(prototype);
- return properties == null ? result : baseAssign(result, properties);
- }
-
- /**
- * Assigns own and inherited enumerable string keyed properties of source
- * objects to the destination object for all destination properties that
- * resolve to `undefined`. Source objects are applied from left to right.
- * Once a property is set, additional values of the same property are ignored.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} [sources] The source objects.
- * @returns {Object} Returns `object`.
- * @see _.defaultsDeep
- * @example
- *
- * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
- * // => { 'a': 1, 'b': 2 }
- */
- var defaults = baseRest(function(args) {
- args.push(undefined, customDefaultsAssignIn);
- return apply(assignInWith, undefined, args);
- });
-
- /**
- * This method is like `_.defaults` except that it recursively assigns
- * default properties.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 3.10.0
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} [sources] The source objects.
- * @returns {Object} Returns `object`.
- * @see _.defaults
- * @example
- *
- * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });
- * // => { 'a': { 'b': 2, 'c': 3 } }
- */
- var defaultsDeep = baseRest(function(args) {
- args.push(undefined, customDefaultsMerge);
- return apply(mergeWith, undefined, args);
- });
-
- /**
- * This method is like `_.find` except that it returns the key of the first
- * element `predicate` returns truthy for instead of the element itself.
- *
- * @static
- * @memberOf _
- * @since 1.1.0
- * @category Object
- * @param {Object} object The object to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {string|undefined} Returns the key of the matched element,
- * else `undefined`.
- * @example
- *
- * var users = {
- * 'barney': { 'age': 36, 'active': true },
- * 'fred': { 'age': 40, 'active': false },
- * 'pebbles': { 'age': 1, 'active': true }
- * };
- *
- * _.findKey(users, function(o) { return o.age < 40; });
- * // => 'barney' (iteration order is not guaranteed)
- *
- * // The `_.matches` iteratee shorthand.
- * _.findKey(users, { 'age': 1, 'active': true });
- * // => 'pebbles'
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.findKey(users, ['active', false]);
- * // => 'fred'
- *
- * // The `_.property` iteratee shorthand.
- * _.findKey(users, 'active');
- * // => 'barney'
- */
- function findKey(object, predicate) {
- return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);
- }
-
- /**
- * This method is like `_.findKey` except that it iterates over elements of
- * a collection in the opposite order.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Object
- * @param {Object} object The object to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {string|undefined} Returns the key of the matched element,
- * else `undefined`.
- * @example
- *
- * var users = {
- * 'barney': { 'age': 36, 'active': true },
- * 'fred': { 'age': 40, 'active': false },
- * 'pebbles': { 'age': 1, 'active': true }
- * };
- *
- * _.findLastKey(users, function(o) { return o.age < 40; });
- * // => returns 'pebbles' assuming `_.findKey` returns 'barney'
- *
- * // The `_.matches` iteratee shorthand.
- * _.findLastKey(users, { 'age': 36, 'active': true });
- * // => 'barney'
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.findLastKey(users, ['active', false]);
- * // => 'fred'
- *
- * // The `_.property` iteratee shorthand.
- * _.findLastKey(users, 'active');
- * // => 'pebbles'
- */
- function findLastKey(object, predicate) {
- return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);
- }
-
- /**
- * Iterates over own and inherited enumerable string keyed properties of an
- * object and invokes `iteratee` for each property. The iteratee is invoked
- * with three arguments: (value, key, object). Iteratee functions may exit
- * iteration early by explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @since 0.3.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Object} Returns `object`.
- * @see _.forInRight
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.forIn(new Foo, function(value, key) {
- * console.log(key);
- * });
- * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).
- */
- function forIn(object, iteratee) {
- return object == null
- ? object
- : baseFor(object, getIteratee(iteratee, 3), keysIn);
- }
-
- /**
- * This method is like `_.forIn` except that it iterates over properties of
- * `object` in the opposite order.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Object} Returns `object`.
- * @see _.forIn
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.forInRight(new Foo, function(value, key) {
- * console.log(key);
- * });
- * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.
- */
- function forInRight(object, iteratee) {
- return object == null
- ? object
- : baseForRight(object, getIteratee(iteratee, 3), keysIn);
- }
-
- /**
- * Iterates over own enumerable string keyed properties of an object and
- * invokes `iteratee` for each property. The iteratee is invoked with three
- * arguments: (value, key, object). Iteratee functions may exit iteration
- * early by explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @since 0.3.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Object} Returns `object`.
- * @see _.forOwnRight
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.forOwn(new Foo, function(value, key) {
- * console.log(key);
- * });
- * // => Logs 'a' then 'b' (iteration order is not guaranteed).
- */
- function forOwn(object, iteratee) {
- return object && baseForOwn(object, getIteratee(iteratee, 3));
- }
-
- /**
- * This method is like `_.forOwn` except that it iterates over properties of
- * `object` in the opposite order.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Object} Returns `object`.
- * @see _.forOwn
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.forOwnRight(new Foo, function(value, key) {
- * console.log(key);
- * });
- * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.
- */
- function forOwnRight(object, iteratee) {
- return object && baseForOwnRight(object, getIteratee(iteratee, 3));
- }
-
- /**
- * Creates an array of function property names from own enumerable properties
- * of `object`.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns the function names.
- * @see _.functionsIn
- * @example
- *
- * function Foo() {
- * this.a = _.constant('a');
- * this.b = _.constant('b');
- * }
- *
- * Foo.prototype.c = _.constant('c');
- *
- * _.functions(new Foo);
- * // => ['a', 'b']
- */
- function functions(object) {
- return object == null ? [] : baseFunctions(object, keys(object));
- }
-
- /**
- * Creates an array of function property names from own and inherited
- * enumerable properties of `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns the function names.
- * @see _.functions
- * @example
- *
- * function Foo() {
- * this.a = _.constant('a');
- * this.b = _.constant('b');
- * }
- *
- * Foo.prototype.c = _.constant('c');
- *
- * _.functionsIn(new Foo);
- * // => ['a', 'b', 'c']
- */
- function functionsIn(object) {
- return object == null ? [] : baseFunctions(object, keysIn(object));
- }
-
- /**
- * Gets the value at `path` of `object`. If the resolved value is
- * `undefined`, the `defaultValue` is returned in its place.
- *
- * @static
- * @memberOf _
- * @since 3.7.0
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to get.
- * @param {*} [defaultValue] The value returned for `undefined` resolved values.
- * @returns {*} Returns the resolved value.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }] };
- *
- * _.get(object, 'a[0].b.c');
- * // => 3
- *
- * _.get(object, ['a', '0', 'b', 'c']);
- * // => 3
- *
- * _.get(object, 'a.b.c', 'default');
- * // => 'default'
- */
- function get(object, path, defaultValue) {
- var result = object == null ? undefined : baseGet(object, path);
- return result === undefined ? defaultValue : result;
- }
-
- /**
- * Checks if `path` is a direct property of `object`.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path to check.
- * @returns {boolean} Returns `true` if `path` exists, else `false`.
- * @example
- *
- * var object = { 'a': { 'b': 2 } };
- * var other = _.create({ 'a': _.create({ 'b': 2 }) });
- *
- * _.has(object, 'a');
- * // => true
- *
- * _.has(object, 'a.b');
- * // => true
- *
- * _.has(object, ['a', 'b']);
- * // => true
- *
- * _.has(other, 'a');
- * // => false
- */
- function has(object, path) {
- return object != null && hasPath(object, path, baseHas);
- }
-
- /**
- * Checks if `path` is a direct or inherited property of `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path to check.
- * @returns {boolean} Returns `true` if `path` exists, else `false`.
- * @example
- *
- * var object = _.create({ 'a': _.create({ 'b': 2 }) });
- *
- * _.hasIn(object, 'a');
- * // => true
- *
- * _.hasIn(object, 'a.b');
- * // => true
- *
- * _.hasIn(object, ['a', 'b']);
- * // => true
- *
- * _.hasIn(object, 'b');
- * // => false
- */
- function hasIn(object, path) {
- return object != null && hasPath(object, path, baseHasIn);
- }
-
- /**
- * Creates an object composed of the inverted keys and values of `object`.
- * If `object` contains duplicate values, subsequent values overwrite
- * property assignments of previous values.
- *
- * @static
- * @memberOf _
- * @since 0.7.0
- * @category Object
- * @param {Object} object The object to invert.
- * @returns {Object} Returns the new inverted object.
- * @example
- *
- * var object = { 'a': 1, 'b': 2, 'c': 1 };
- *
- * _.invert(object);
- * // => { '1': 'c', '2': 'b' }
- */
- var invert = createInverter(function(result, value, key) {
- result[value] = key;
- }, constant(identity));
-
- /**
- * This method is like `_.invert` except that the inverted object is generated
- * from the results of running each element of `object` thru `iteratee`. The
- * corresponding inverted value of each inverted key is an array of keys
- * responsible for generating the inverted value. The iteratee is invoked
- * with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 4.1.0
- * @category Object
- * @param {Object} object The object to invert.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Object} Returns the new inverted object.
- * @example
- *
- * var object = { 'a': 1, 'b': 2, 'c': 1 };
- *
- * _.invertBy(object);
- * // => { '1': ['a', 'c'], '2': ['b'] }
- *
- * _.invertBy(object, function(value) {
- * return 'group' + value;
- * });
- * // => { 'group1': ['a', 'c'], 'group2': ['b'] }
- */
- var invertBy = createInverter(function(result, value, key) {
- if (hasOwnProperty.call(result, value)) {
- result[value].push(key);
- } else {
- result[value] = [key];
- }
- }, getIteratee);
-
- /**
- * Invokes the method at `path` of `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the method to invoke.
- * @param {...*} [args] The arguments to invoke the method with.
- * @returns {*} Returns the result of the invoked method.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };
- *
- * _.invoke(object, 'a[0].b.c.slice', 1, 3);
- * // => [2, 3]
- */
- var invoke = baseRest(baseInvoke);
-
- /**
- * Creates an array of the own enumerable property names of `object`.
- *
- * **Note:** Non-object values are coerced to objects. See the
- * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
- * for more details.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.keys(new Foo);
- * // => ['a', 'b'] (iteration order is not guaranteed)
- *
- * _.keys('hi');
- * // => ['0', '1']
- */
- function keys(object) {
- return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
- }
-
- /**
- * Creates an array of the own and inherited enumerable property names of `object`.
- *
- * **Note:** Non-object values are coerced to objects.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.keysIn(new Foo);
- * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
- */
- function keysIn(object) {
- return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
- }
-
- /**
- * The opposite of `_.mapValues`; this method creates an object with the
- * same values as `object` and keys generated by running each own enumerable
- * string keyed property of `object` thru `iteratee`. The iteratee is invoked
- * with three arguments: (value, key, object).
- *
- * @static
- * @memberOf _
- * @since 3.8.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Object} Returns the new mapped object.
- * @see _.mapValues
- * @example
- *
- * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {
- * return key + value;
- * });
- * // => { 'a1': 1, 'b2': 2 }
- */
- function mapKeys(object, iteratee) {
- var result = {};
- iteratee = getIteratee(iteratee, 3);
-
- baseForOwn(object, function(value, key, object) {
- baseAssignValue(result, iteratee(value, key, object), value);
- });
- return result;
- }
-
- /**
- * Creates an object with the same keys as `object` and values generated
- * by running each own enumerable string keyed property of `object` thru
- * `iteratee`. The iteratee is invoked with three arguments:
- * (value, key, object).
- *
- * @static
- * @memberOf _
- * @since 2.4.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Object} Returns the new mapped object.
- * @see _.mapKeys
- * @example
- *
- * var users = {
- * 'fred': { 'user': 'fred', 'age': 40 },
- * 'pebbles': { 'user': 'pebbles', 'age': 1 }
- * };
- *
- * _.mapValues(users, function(o) { return o.age; });
- * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
- *
- * // The `_.property` iteratee shorthand.
- * _.mapValues(users, 'age');
- * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
- */
- function mapValues(object, iteratee) {
- var result = {};
- iteratee = getIteratee(iteratee, 3);
-
- baseForOwn(object, function(value, key, object) {
- baseAssignValue(result, key, iteratee(value, key, object));
- });
- return result;
- }
-
- /**
- * This method is like `_.assign` except that it recursively merges own and
- * inherited enumerable string keyed properties of source objects into the
- * destination object. Source properties that resolve to `undefined` are
- * skipped if a destination value exists. Array and plain object properties
- * are merged recursively. Other objects and value types are overridden by
- * assignment. Source objects are applied from left to right. Subsequent
- * sources overwrite property assignments of previous sources.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 0.5.0
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} [sources] The source objects.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var object = {
- * 'a': [{ 'b': 2 }, { 'd': 4 }]
- * };
- *
- * var other = {
- * 'a': [{ 'c': 3 }, { 'e': 5 }]
- * };
- *
- * _.merge(object, other);
- * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
- */
- var merge = createAssigner(function(object, source, srcIndex) {
- baseMerge(object, source, srcIndex);
- });
-
- /**
- * This method is like `_.merge` except that it accepts `customizer` which
- * is invoked to produce the merged values of the destination and source
- * properties. If `customizer` returns `undefined`, merging is handled by the
- * method instead. The `customizer` is invoked with six arguments:
- * (objValue, srcValue, key, object, source, stack).
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} sources The source objects.
- * @param {Function} customizer The function to customize assigned values.
- * @returns {Object} Returns `object`.
- * @example
- *
- * function customizer(objValue, srcValue) {
- * if (_.isArray(objValue)) {
- * return objValue.concat(srcValue);
- * }
- * }
- *
- * var object = { 'a': [1], 'b': [2] };
- * var other = { 'a': [3], 'b': [4] };
- *
- * _.mergeWith(object, other, customizer);
- * // => { 'a': [1, 3], 'b': [2, 4] }
- */
- var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {
- baseMerge(object, source, srcIndex, customizer);
- });
-
- /**
- * The opposite of `_.pick`; this method creates an object composed of the
- * own and inherited enumerable property paths of `object` that are not omitted.
- *
- * **Note:** This method is considerably slower than `_.pick`.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The source object.
- * @param {...(string|string[])} [paths] The property paths to omit.
- * @returns {Object} Returns the new object.
- * @example
- *
- * var object = { 'a': 1, 'b': '2', 'c': 3 };
- *
- * _.omit(object, ['a', 'c']);
- * // => { 'b': '2' }
- */
- var omit = flatRest(function(object, paths) {
- var result = {};
- if (object == null) {
- return result;
- }
- var isDeep = false;
- paths = arrayMap(paths, function(path) {
- path = castPath(path, object);
- isDeep || (isDeep = path.length > 1);
- return path;
- });
- copyObject(object, getAllKeysIn(object), result);
- if (isDeep) {
- result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);
- }
- var length = paths.length;
- while (length--) {
- baseUnset(result, paths[length]);
- }
- return result;
- });
-
- /**
- * The opposite of `_.pickBy`; this method creates an object composed of
- * the own and inherited enumerable string keyed properties of `object` that
- * `predicate` doesn't return truthy for. The predicate is invoked with two
- * arguments: (value, key).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The source object.
- * @param {Function} [predicate=_.identity] The function invoked per property.
- * @returns {Object} Returns the new object.
- * @example
- *
- * var object = { 'a': 1, 'b': '2', 'c': 3 };
- *
- * _.omitBy(object, _.isNumber);
- * // => { 'b': '2' }
- */
- function omitBy(object, predicate) {
- return pickBy(object, negate(getIteratee(predicate)));
- }
-
- /**
- * Creates an object composed of the picked `object` properties.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The source object.
- * @param {...(string|string[])} [paths] The property paths to pick.
- * @returns {Object} Returns the new object.
- * @example
- *
- * var object = { 'a': 1, 'b': '2', 'c': 3 };
- *
- * _.pick(object, ['a', 'c']);
- * // => { 'a': 1, 'c': 3 }
- */
- var pick = flatRest(function(object, paths) {
- return object == null ? {} : basePick(object, paths);
- });
-
- /**
- * Creates an object composed of the `object` properties `predicate` returns
- * truthy for. The predicate is invoked with two arguments: (value, key).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The source object.
- * @param {Function} [predicate=_.identity] The function invoked per property.
- * @returns {Object} Returns the new object.
- * @example
- *
- * var object = { 'a': 1, 'b': '2', 'c': 3 };
- *
- * _.pickBy(object, _.isNumber);
- * // => { 'a': 1, 'c': 3 }
- */
- function pickBy(object, predicate) {
- if (object == null) {
- return {};
- }
- var props = arrayMap(getAllKeysIn(object), function(prop) {
- return [prop];
- });
- predicate = getIteratee(predicate);
- return basePickBy(object, props, function(value, path) {
- return predicate(value, path[0]);
- });
- }
-
- /**
- * This method is like `_.get` except that if the resolved value is a
- * function it's invoked with the `this` binding of its parent object and
- * its result is returned.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to resolve.
- * @param {*} [defaultValue] The value returned for `undefined` resolved values.
- * @returns {*} Returns the resolved value.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };
- *
- * _.result(object, 'a[0].b.c1');
- * // => 3
- *
- * _.result(object, 'a[0].b.c2');
- * // => 4
- *
- * _.result(object, 'a[0].b.c3', 'default');
- * // => 'default'
- *
- * _.result(object, 'a[0].b.c3', _.constant('default'));
- * // => 'default'
- */
- function result(object, path, defaultValue) {
- path = castPath(path, object);
-
- var index = -1,
- length = path.length;
-
- // Ensure the loop is entered when path is empty.
- if (!length) {
- length = 1;
- object = undefined;
- }
- while (++index < length) {
- var value = object == null ? undefined : object[toKey(path[index])];
- if (value === undefined) {
- index = length;
- value = defaultValue;
- }
- object = isFunction(value) ? value.call(object) : value;
- }
- return object;
- }
-
- /**
- * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,
- * it's created. Arrays are created for missing index properties while objects
- * are created for all other missing properties. Use `_.setWith` to customize
- * `path` creation.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 3.7.0
- * @category Object
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }] };
- *
- * _.set(object, 'a[0].b.c', 4);
- * console.log(object.a[0].b.c);
- * // => 4
- *
- * _.set(object, ['x', '0', 'y', 'z'], 5);
- * console.log(object.x[0].y.z);
- * // => 5
- */
- function set(object, path, value) {
- return object == null ? object : baseSet(object, path, value);
- }
-
- /**
- * This method is like `_.set` except that it accepts `customizer` which is
- * invoked to produce the objects of `path`. If `customizer` returns `undefined`
- * path creation is handled by the method instead. The `customizer` is invoked
- * with three arguments: (nsValue, key, nsObject).
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to set.
- * @param {*} value The value to set.
- * @param {Function} [customizer] The function to customize assigned values.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var object = {};
- *
- * _.setWith(object, '[0][1]', 'a', Object);
- * // => { '0': { '1': 'a' } }
- */
- function setWith(object, path, value, customizer) {
- customizer = typeof customizer == 'function' ? customizer : undefined;
- return object == null ? object : baseSet(object, path, value, customizer);
- }
-
- /**
- * Creates an array of own enumerable string keyed-value pairs for `object`
- * which can be consumed by `_.fromPairs`. If `object` is a map or set, its
- * entries are returned.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @alias entries
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the key-value pairs.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.toPairs(new Foo);
- * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)
- */
- var toPairs = createToPairs(keys);
-
- /**
- * Creates an array of own and inherited enumerable string keyed-value pairs
- * for `object` which can be consumed by `_.fromPairs`. If `object` is a map
- * or set, its entries are returned.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @alias entriesIn
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the key-value pairs.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.toPairsIn(new Foo);
- * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)
- */
- var toPairsIn = createToPairs(keysIn);
-
- /**
- * An alternative to `_.reduce`; this method transforms `object` to a new
- * `accumulator` object which is the result of running each of its own
- * enumerable string keyed properties thru `iteratee`, with each invocation
- * potentially mutating the `accumulator` object. If `accumulator` is not
- * provided, a new object with the same `[[Prototype]]` will be used. The
- * iteratee is invoked with four arguments: (accumulator, value, key, object).
- * Iteratee functions may exit iteration early by explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @since 1.3.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @param {*} [accumulator] The custom accumulator value.
- * @returns {*} Returns the accumulated value.
- * @example
- *
- * _.transform([2, 3, 4], function(result, n) {
- * result.push(n *= n);
- * return n % 2 == 0;
- * }, []);
- * // => [4, 9]
- *
- * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
- * (result[value] || (result[value] = [])).push(key);
- * }, {});
- * // => { '1': ['a', 'c'], '2': ['b'] }
- */
- function transform(object, iteratee, accumulator) {
- var isArr = isArray(object),
- isArrLike = isArr || isBuffer(object) || isTypedArray(object);
-
- iteratee = getIteratee(iteratee, 4);
- if (accumulator == null) {
- var Ctor = object && object.constructor;
- if (isArrLike) {
- accumulator = isArr ? new Ctor : [];
- }
- else if (isObject(object)) {
- accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};
- }
- else {
- accumulator = {};
- }
- }
- (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {
- return iteratee(accumulator, value, index, object);
- });
- return accumulator;
- }
-
- /**
- * Removes the property at `path` of `object`.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to unset.
- * @returns {boolean} Returns `true` if the property is deleted, else `false`.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 7 } }] };
- * _.unset(object, 'a[0].b.c');
- * // => true
- *
- * console.log(object);
- * // => { 'a': [{ 'b': {} }] };
- *
- * _.unset(object, ['a', '0', 'b', 'c']);
- * // => true
- *
- * console.log(object);
- * // => { 'a': [{ 'b': {} }] };
- */
- function unset(object, path) {
- return object == null ? true : baseUnset(object, path);
- }
-
- /**
- * This method is like `_.set` except that accepts `updater` to produce the
- * value to set. Use `_.updateWith` to customize `path` creation. The `updater`
- * is invoked with one argument: (value).
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.6.0
- * @category Object
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to set.
- * @param {Function} updater The function to produce the updated value.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }] };
- *
- * _.update(object, 'a[0].b.c', function(n) { return n * n; });
- * console.log(object.a[0].b.c);
- * // => 9
- *
- * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });
- * console.log(object.x[0].y.z);
- * // => 0
- */
- function update(object, path, updater) {
- return object == null ? object : baseUpdate(object, path, castFunction(updater));
- }
-
- /**
- * This method is like `_.update` except that it accepts `customizer` which is
- * invoked to produce the objects of `path`. If `customizer` returns `undefined`
- * path creation is handled by the method instead. The `customizer` is invoked
- * with three arguments: (nsValue, key, nsObject).
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.6.0
- * @category Object
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to set.
- * @param {Function} updater The function to produce the updated value.
- * @param {Function} [customizer] The function to customize assigned values.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var object = {};
- *
- * _.updateWith(object, '[0][1]', _.constant('a'), Object);
- * // => { '0': { '1': 'a' } }
- */
- function updateWith(object, path, updater, customizer) {
- customizer = typeof customizer == 'function' ? customizer : undefined;
- return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);
- }
-
- /**
- * Creates an array of the own enumerable string keyed property values of `object`.
- *
- * **Note:** Non-object values are coerced to objects.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property values.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.values(new Foo);
- * // => [1, 2] (iteration order is not guaranteed)
- *
- * _.values('hi');
- * // => ['h', 'i']
- */
- function values(object) {
- return object == null ? [] : baseValues(object, keys(object));
- }
-
- /**
- * Creates an array of the own and inherited enumerable string keyed property
- * values of `object`.
- *
- * **Note:** Non-object values are coerced to objects.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property values.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.valuesIn(new Foo);
- * // => [1, 2, 3] (iteration order is not guaranteed)
- */
- function valuesIn(object) {
- return object == null ? [] : baseValues(object, keysIn(object));
- }
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Clamps `number` within the inclusive `lower` and `upper` bounds.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Number
- * @param {number} number The number to clamp.
- * @param {number} [lower] The lower bound.
- * @param {number} upper The upper bound.
- * @returns {number} Returns the clamped number.
- * @example
- *
- * _.clamp(-10, -5, 5);
- * // => -5
- *
- * _.clamp(10, -5, 5);
- * // => 5
- */
- function clamp(number, lower, upper) {
- if (upper === undefined) {
- upper = lower;
- lower = undefined;
- }
- if (upper !== undefined) {
- upper = toNumber(upper);
- upper = upper === upper ? upper : 0;
- }
- if (lower !== undefined) {
- lower = toNumber(lower);
- lower = lower === lower ? lower : 0;
- }
- return baseClamp(toNumber(number), lower, upper);
- }
-
- /**
- * Checks if `n` is between `start` and up to, but not including, `end`. If
- * `end` is not specified, it's set to `start` with `start` then set to `0`.
- * If `start` is greater than `end` the params are swapped to support
- * negative ranges.
- *
- * @static
- * @memberOf _
- * @since 3.3.0
- * @category Number
- * @param {number} number The number to check.
- * @param {number} [start=0] The start of the range.
- * @param {number} end The end of the range.
- * @returns {boolean} Returns `true` if `number` is in the range, else `false`.
- * @see _.range, _.rangeRight
- * @example
- *
- * _.inRange(3, 2, 4);
- * // => true
- *
- * _.inRange(4, 8);
- * // => true
- *
- * _.inRange(4, 2);
- * // => false
- *
- * _.inRange(2, 2);
- * // => false
- *
- * _.inRange(1.2, 2);
- * // => true
- *
- * _.inRange(5.2, 4);
- * // => false
- *
- * _.inRange(-3, -2, -6);
- * // => true
- */
- function inRange(number, start, end) {
- start = toFinite(start);
- if (end === undefined) {
- end = start;
- start = 0;
- } else {
- end = toFinite(end);
- }
- number = toNumber(number);
- return baseInRange(number, start, end);
- }
-
- /**
- * Produces a random number between the inclusive `lower` and `upper` bounds.
- * If only one argument is provided a number between `0` and the given number
- * is returned. If `floating` is `true`, or either `lower` or `upper` are
- * floats, a floating-point number is returned instead of an integer.
- *
- * **Note:** JavaScript follows the IEEE-754 standard for resolving
- * floating-point values which can produce unexpected results.
- *
- * @static
- * @memberOf _
- * @since 0.7.0
- * @category Number
- * @param {number} [lower=0] The lower bound.
- * @param {number} [upper=1] The upper bound.
- * @param {boolean} [floating] Specify returning a floating-point number.
- * @returns {number} Returns the random number.
- * @example
- *
- * _.random(0, 5);
- * // => an integer between 0 and 5
- *
- * _.random(5);
- * // => also an integer between 0 and 5
- *
- * _.random(5, true);
- * // => a floating-point number between 0 and 5
- *
- * _.random(1.2, 5.2);
- * // => a floating-point number between 1.2 and 5.2
- */
- function random(lower, upper, floating) {
- if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {
- upper = floating = undefined;
- }
- if (floating === undefined) {
- if (typeof upper == 'boolean') {
- floating = upper;
- upper = undefined;
- }
- else if (typeof lower == 'boolean') {
- floating = lower;
- lower = undefined;
- }
- }
- if (lower === undefined && upper === undefined) {
- lower = 0;
- upper = 1;
- }
- else {
- lower = toFinite(lower);
- if (upper === undefined) {
- upper = lower;
- lower = 0;
- } else {
- upper = toFinite(upper);
- }
- }
- if (lower > upper) {
- var temp = lower;
- lower = upper;
- upper = temp;
- }
- if (floating || lower % 1 || upper % 1) {
- var rand = nativeRandom();
- return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);
- }
- return baseRandom(lower, upper);
- }
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to convert.
- * @returns {string} Returns the camel cased string.
- * @example
- *
- * _.camelCase('Foo Bar');
- * // => 'fooBar'
- *
- * _.camelCase('--foo-bar--');
- * // => 'fooBar'
- *
- * _.camelCase('__FOO_BAR__');
- * // => 'fooBar'
- */
- var camelCase = createCompounder(function(result, word, index) {
- word = word.toLowerCase();
- return result + (index ? capitalize(word) : word);
- });
-
- /**
- * Converts the first character of `string` to upper case and the remaining
- * to lower case.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to capitalize.
- * @returns {string} Returns the capitalized string.
- * @example
- *
- * _.capitalize('FRED');
- * // => 'Fred'
- */
- function capitalize(string) {
- return upperFirst(toString(string).toLowerCase());
- }
-
- /**
- * Deburrs `string` by converting
- * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)
- * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)
- * letters to basic Latin letters and removing
- * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to deburr.
- * @returns {string} Returns the deburred string.
- * @example
- *
- * _.deburr('déjà vu');
- * // => 'deja vu'
- */
- function deburr(string) {
- string = toString(string);
- return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');
- }
-
- /**
- * Checks if `string` ends with the given target string.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to inspect.
- * @param {string} [target] The string to search for.
- * @param {number} [position=string.length] The position to search up to.
- * @returns {boolean} Returns `true` if `string` ends with `target`,
- * else `false`.
- * @example
- *
- * _.endsWith('abc', 'c');
- * // => true
- *
- * _.endsWith('abc', 'b');
- * // => false
- *
- * _.endsWith('abc', 'b', 2);
- * // => true
- */
- function endsWith(string, target, position) {
- string = toString(string);
- target = baseToString(target);
-
- var length = string.length;
- position = position === undefined
- ? length
- : baseClamp(toInteger(position), 0, length);
-
- var end = position;
- position -= target.length;
- return position >= 0 && string.slice(position, end) == target;
- }
-
- /**
- * Converts the characters "&", "<", ">", '"', and "'" in `string` to their
- * corresponding HTML entities.
- *
- * **Note:** No other characters are escaped. To escape additional
- * characters use a third-party library like [_he_](https://mths.be/he).
- *
- * Though the ">" character is escaped for symmetry, characters like
- * ">" and "/" don't need escaping in HTML and have no special meaning
- * unless they're part of a tag or unquoted attribute value. See
- * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
- * (under "semi-related fun fact") for more details.
- *
- * When working with HTML you should always
- * [quote attribute values](http://wonko.com/post/html-escaping) to reduce
- * XSS vectors.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category String
- * @param {string} [string=''] The string to escape.
- * @returns {string} Returns the escaped string.
- * @example
- *
- * _.escape('fred, barney, & pebbles');
- * // => 'fred, barney, & pebbles'
- */
- function escape(string) {
- string = toString(string);
- return (string && reHasUnescapedHtml.test(string))
- ? string.replace(reUnescapedHtml, escapeHtmlChar)
- : string;
- }
-
- /**
- * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+",
- * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to escape.
- * @returns {string} Returns the escaped string.
- * @example
- *
- * _.escapeRegExp('[lodash](https://lodash.com/)');
- * // => '\[lodash\]\(https://lodash\.com/\)'
- */
- function escapeRegExp(string) {
- string = toString(string);
- return (string && reHasRegExpChar.test(string))
- ? string.replace(reRegExpChar, '\\$&')
- : string;
- }
-
- /**
- * Converts `string` to
- * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to convert.
- * @returns {string} Returns the kebab cased string.
- * @example
- *
- * _.kebabCase('Foo Bar');
- * // => 'foo-bar'
- *
- * _.kebabCase('fooBar');
- * // => 'foo-bar'
- *
- * _.kebabCase('__FOO_BAR__');
- * // => 'foo-bar'
- */
- var kebabCase = createCompounder(function(result, word, index) {
- return result + (index ? '-' : '') + word.toLowerCase();
- });
-
- /**
- * Converts `string`, as space separated words, to lower case.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to convert.
- * @returns {string} Returns the lower cased string.
- * @example
- *
- * _.lowerCase('--Foo-Bar--');
- * // => 'foo bar'
- *
- * _.lowerCase('fooBar');
- * // => 'foo bar'
- *
- * _.lowerCase('__FOO_BAR__');
- * // => 'foo bar'
- */
- var lowerCase = createCompounder(function(result, word, index) {
- return result + (index ? ' ' : '') + word.toLowerCase();
- });
-
- /**
- * Converts the first character of `string` to lower case.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to convert.
- * @returns {string} Returns the converted string.
- * @example
- *
- * _.lowerFirst('Fred');
- * // => 'fred'
- *
- * _.lowerFirst('FRED');
- * // => 'fRED'
- */
- var lowerFirst = createCaseFirst('toLowerCase');
-
- /**
- * Pads `string` on the left and right sides if it's shorter than `length`.
- * Padding characters are truncated if they can't be evenly divided by `length`.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to pad.
- * @param {number} [length=0] The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padded string.
- * @example
- *
- * _.pad('abc', 8);
- * // => ' abc '
- *
- * _.pad('abc', 8, '_-');
- * // => '_-abc_-_'
- *
- * _.pad('abc', 3);
- * // => 'abc'
- */
- function pad(string, length, chars) {
- string = toString(string);
- length = toInteger(length);
-
- var strLength = length ? stringSize(string) : 0;
- if (!length || strLength >= length) {
- return string;
- }
- var mid = (length - strLength) / 2;
- return (
- createPadding(nativeFloor(mid), chars) +
- string +
- createPadding(nativeCeil(mid), chars)
- );
- }
-
- /**
- * Pads `string` on the right side if it's shorter than `length`. Padding
- * characters are truncated if they exceed `length`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to pad.
- * @param {number} [length=0] The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padded string.
- * @example
- *
- * _.padEnd('abc', 6);
- * // => 'abc '
- *
- * _.padEnd('abc', 6, '_-');
- * // => 'abc_-_'
- *
- * _.padEnd('abc', 3);
- * // => 'abc'
- */
- function padEnd(string, length, chars) {
- string = toString(string);
- length = toInteger(length);
-
- var strLength = length ? stringSize(string) : 0;
- return (length && strLength < length)
- ? (string + createPadding(length - strLength, chars))
- : string;
- }
-
- /**
- * Pads `string` on the left side if it's shorter than `length`. Padding
- * characters are truncated if they exceed `length`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to pad.
- * @param {number} [length=0] The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padded string.
- * @example
- *
- * _.padStart('abc', 6);
- * // => ' abc'
- *
- * _.padStart('abc', 6, '_-');
- * // => '_-_abc'
- *
- * _.padStart('abc', 3);
- * // => 'abc'
- */
- function padStart(string, length, chars) {
- string = toString(string);
- length = toInteger(length);
-
- var strLength = length ? stringSize(string) : 0;
- return (length && strLength < length)
- ? (createPadding(length - strLength, chars) + string)
- : string;
- }
-
- /**
- * Converts `string` to an integer of the specified radix. If `radix` is
- * `undefined` or `0`, a `radix` of `10` is used unless `value` is a
- * hexadecimal, in which case a `radix` of `16` is used.
- *
- * **Note:** This method aligns with the
- * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.
- *
- * @static
- * @memberOf _
- * @since 1.1.0
- * @category String
- * @param {string} string The string to convert.
- * @param {number} [radix=10] The radix to interpret `value` by.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {number} Returns the converted integer.
- * @example
- *
- * _.parseInt('08');
- * // => 8
- *
- * _.map(['6', '08', '10'], _.parseInt);
- * // => [6, 8, 10]
- */
- function parseInt(string, radix, guard) {
- if (guard || radix == null) {
- radix = 0;
- } else if (radix) {
- radix = +radix;
- }
- return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);
- }
-
- /**
- * Repeats the given string `n` times.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to repeat.
- * @param {number} [n=1] The number of times to repeat the string.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {string} Returns the repeated string.
- * @example
- *
- * _.repeat('*', 3);
- * // => '***'
- *
- * _.repeat('abc', 2);
- * // => 'abcabc'
- *
- * _.repeat('abc', 0);
- * // => ''
- */
- function repeat(string, n, guard) {
- if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {
- n = 1;
- } else {
- n = toInteger(n);
- }
- return baseRepeat(toString(string), n);
- }
-
- /**
- * Replaces matches for `pattern` in `string` with `replacement`.
- *
- * **Note:** This method is based on
- * [`String#replace`](https://mdn.io/String/replace).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to modify.
- * @param {RegExp|string} pattern The pattern to replace.
- * @param {Function|string} replacement The match replacement.
- * @returns {string} Returns the modified string.
- * @example
- *
- * _.replace('Hi Fred', 'Fred', 'Barney');
- * // => 'Hi Barney'
- */
- function replace() {
- var args = arguments,
- string = toString(args[0]);
-
- return args.length < 3 ? string : string.replace(args[1], args[2]);
- }
-
- /**
- * Converts `string` to
- * [snake case](https://en.wikipedia.org/wiki/Snake_case).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to convert.
- * @returns {string} Returns the snake cased string.
- * @example
- *
- * _.snakeCase('Foo Bar');
- * // => 'foo_bar'
- *
- * _.snakeCase('fooBar');
- * // => 'foo_bar'
- *
- * _.snakeCase('--FOO-BAR--');
- * // => 'foo_bar'
- */
- var snakeCase = createCompounder(function(result, word, index) {
- return result + (index ? '_' : '') + word.toLowerCase();
- });
-
- /**
- * Splits `string` by `separator`.
- *
- * **Note:** This method is based on
- * [`String#split`](https://mdn.io/String/split).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to split.
- * @param {RegExp|string} separator The separator pattern to split by.
- * @param {number} [limit] The length to truncate results to.
- * @returns {Array} Returns the string segments.
- * @example
- *
- * _.split('a-b-c', '-', 2);
- * // => ['a', 'b']
- */
- function split(string, separator, limit) {
- if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {
- separator = limit = undefined;
- }
- limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;
- if (!limit) {
- return [];
- }
- string = toString(string);
- if (string && (
- typeof separator == 'string' ||
- (separator != null && !isRegExp(separator))
- )) {
- separator = baseToString(separator);
- if (!separator && hasUnicode(string)) {
- return castSlice(stringToArray(string), 0, limit);
- }
- }
- return string.split(separator, limit);
- }
-
- /**
- * Converts `string` to
- * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).
- *
- * @static
- * @memberOf _
- * @since 3.1.0
- * @category String
- * @param {string} [string=''] The string to convert.
- * @returns {string} Returns the start cased string.
- * @example
- *
- * _.startCase('--foo-bar--');
- * // => 'Foo Bar'
- *
- * _.startCase('fooBar');
- * // => 'Foo Bar'
- *
- * _.startCase('__FOO_BAR__');
- * // => 'FOO BAR'
- */
- var startCase = createCompounder(function(result, word, index) {
- return result + (index ? ' ' : '') + upperFirst(word);
- });
-
- /**
- * Checks if `string` starts with the given target string.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to inspect.
- * @param {string} [target] The string to search for.
- * @param {number} [position=0] The position to search from.
- * @returns {boolean} Returns `true` if `string` starts with `target`,
- * else `false`.
- * @example
- *
- * _.startsWith('abc', 'a');
- * // => true
- *
- * _.startsWith('abc', 'b');
- * // => false
- *
- * _.startsWith('abc', 'b', 1);
- * // => true
- */
- function startsWith(string, target, position) {
- string = toString(string);
- position = position == null
- ? 0
- : baseClamp(toInteger(position), 0, string.length);
-
- target = baseToString(target);
- return string.slice(position, position + target.length) == target;
- }
-
- /**
- * Creates a compiled template function that can interpolate data properties
- * in "interpolate" delimiters, HTML-escape interpolated data properties in
- * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data
- * properties may be accessed as free variables in the template. If a setting
- * object is given, it takes precedence over `_.templateSettings` values.
- *
- * **Note:** In the development build `_.template` utilizes
- * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
- * for easier debugging.
- *
- * For more information on precompiling templates see
- * [lodash's custom builds documentation](https://lodash.com/custom-builds).
- *
- * For more information on Chrome extension sandboxes see
- * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category String
- * @param {string} [string=''] The template string.
- * @param {Object} [options={}] The options object.
- * @param {RegExp} [options.escape=_.templateSettings.escape]
- * The HTML "escape" delimiter.
- * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]
- * The "evaluate" delimiter.
- * @param {Object} [options.imports=_.templateSettings.imports]
- * An object to import into the template as free variables.
- * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]
- * The "interpolate" delimiter.
- * @param {string} [options.sourceURL='lodash.templateSources[n]']
- * The sourceURL of the compiled template.
- * @param {string} [options.variable='obj']
- * The data object variable name.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Function} Returns the compiled template function.
- * @example
- *
- * // Use the "interpolate" delimiter to create a compiled template.
- * var compiled = _.template('hello <%= user %>!');
- * compiled({ 'user': 'fred' });
- * // => 'hello fred!'
- *
- * // Use the HTML "escape" delimiter to escape data property values.
- * var compiled = _.template('<%- value %>');
- * compiled({ 'value': '