Full Code of umnik1/yaamp for AI

main a8d71ea458f7 cached
348 files
4.2 MB
1.1M tokens
2744 symbols
1 requests
Download .txt
Showing preview only (4,449K chars total). Download the full file or copy to clipboard to get everything.
Repository: umnik1/yaamp
Branch: main
Commit: a8d71ea458f7
Files: 348
Total size: 4.2 MB

Directory structure:
gitextract_3komkc99/

├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── bundled/
│   └── skins/
│       ├── .gitignore
│       ├── Green-Dimension-V2.wsz
│       ├── MacOSXAqua1-5.wsz
│       ├── Skinner_Atlas.wsz
│       ├── TopazAmp1-2.wsz
│       ├── Vizor1-01.wsz
│       ├── XMMS-Turquoise.wsz
│       ├── ZaxonRemake1-0.wsz
│       ├── base-2.91/
│       │   ├── CLOSE.CUR
│       │   ├── EQSLID.CUR
│       │   ├── EQTITLE.CUR
│       │   ├── NORMAL.CUR
│       │   ├── PLEDIT.TXT
│       │   ├── PNORMAL.CUR
│       │   ├── POSBAR.CUR
│       │   ├── PSIZE.CUR
│       │   ├── PVSCROLL.CUR
│       │   ├── REGION.TXT
│       │   ├── Skining Updates.txt
│       │   ├── TITLEBAR.CUR
│       │   ├── VISCOLOR.TXT
│       │   └── VOLBAL.CUR
│       └── base-2.91.wsz
├── dist/
│   └── .gitignore
├── main.js
├── package.json
├── res/
│   ├── icon.hqx
│   ├── icon.icns
│   ├── icons/
│   │   └── icon.icns
│   └── license.txt
├── src/
│   ├── __tests__/
│   │   └── basic.spec.ts
│   ├── global.d.ts
│   ├── index.css
│   ├── index.html
│   ├── node/
│   │   ├── api-server.js
│   │   ├── preload.js
│   │   ├── protocol.js
│   │   ├── thumbar.js
│   │   ├── thumbnail.js
│   │   ├── transparency.js
│   │   ├── updates.js
│   │   └── utilities.js
│   ├── renderer.ts
│   └── webamp/
│       ├── webamp.bundle.d.ts
│       └── webamp.bundle.js
├── tsconfig.json
├── tslint.json
└── webamp/
    ├── .editorconfig
    ├── .gitattributes
    ├── .gitignore
    ├── LICENSE.txt
    ├── README.md
    ├── YAAMP_FONT/
    │   └── font.psd
    ├── netlify.toml
    ├── package.json
    └── packages/
        ├── ani-cursor/
        │   ├── .gitignore
        │   ├── README.md
        │   ├── babel.config.js
        │   ├── package.json
        │   ├── src/
        │   │   ├── __tests__/
        │   │   │   ├── __snapshots__/
        │   │   │   │   └── parser.test.ts.snap
        │   │   │   ├── fixtures/
        │   │   │   │   ├── Green Dimension v2/
        │   │   │   │   │   └── eqslid.cur
        │   │   │   │   ├── Super_Mario_Amp_2/
        │   │   │   │   │   ├── close.cur
        │   │   │   │   │   └── eqslid.cur
        │   │   │   │   └── piano.ani
        │   │   │   └── parser.test.ts
        │   │   ├── index.ts
        │   │   └── parser.ts
        │   └── tsconfig.json
        └── webamp/
            ├── .babelrc
            ├── .eslintignore
            ├── .eslintrc
            ├── .gitignore
            ├── .prettierignore
            ├── CHANGELOG.md
            ├── assets/
            │   └── skins/
            │       ├── base-2.91/
            │       │   ├── CLOSE.CUR
            │       │   ├── EQSLID.CUR
            │       │   ├── EQTITLE.CUR
            │       │   ├── NORMAL.CUR
            │       │   ├── PLEDIT.TXT
            │       │   ├── PNORMAL.CUR
            │       │   ├── POSBAR.CUR
            │       │   ├── PSIZE.CUR
            │       │   ├── PTBAR.CUR
            │       │   ├── PVSCROLL.CUR
            │       │   ├── REGION.TXT
            │       │   ├── Skining Updates.txt
            │       │   ├── TITLEBAR.CUR
            │       │   ├── VISCOLOR.TXT
            │       │   └── VOLBAL.CUR
            │       └── base-2.91.wsz
            ├── config/
            │   ├── jest.integration.js
            │   ├── jest.unit.js
            │   └── webpack.library.js
            ├── css/
            │   ├── base-skin.css
            │   ├── context-menu.css
            │   ├── equalizer-window.css
            │   ├── gen-window.css
            │   ├── main-window.css
            │   ├── milkdrop-window.css
            │   ├── mini-time.css
            │   ├── playlist-window.css
            │   └── webamp.css
            ├── demo/
            │   ├── config/
            │   │   ├── webpack.common.js
            │   │   ├── webpack.dev.js
            │   │   └── webpack.prod.js
            │   ├── css/
            │   │   └── page.css
            │   ├── index.html
            │   ├── js/
            │   │   ├── DemoDesktop.tsx
            │   │   ├── DesktopIcon.tsx
            │   │   ├── DesktopLinkIcon.tsx
            │   │   ├── IconImage.tsx
            │   │   ├── MilkIcon.tsx
            │   │   ├── Mp3Icon.tsx
            │   │   ├── SkinIcon.tsx
            │   │   ├── SuspenseImage.tsx
            │   │   ├── WebampIcon.tsx
            │   │   ├── avaliableSkins.ts
            │   │   ├── butterchurnOptions.ts
            │   │   ├── config.ts
            │   │   ├── delete-service-worker.js
            │   │   ├── dropboxFilePicker.ts
            │   │   ├── eventLogger.ts
            │   │   ├── index.js
            │   │   ├── logger.ts
            │   │   ├── mediaSession.ts
            │   │   └── screenshotInitialState.ts
            │   ├── readme.md
            │   └── skins/
            │       ├── .gitignore
            │       ├── AmigaPPC-dark.wsz
            │       ├── Green-Dimension-V2.wsz
            │       ├── Internet-Archive.wsz
            │       ├── MacOSXAqua1-5.wsz
            │       ├── My_Funny_Valentine.wsz
            │       ├── Skinner_Atlas.wsz
            │       ├── Sonic_Attitude.wsz
            │       ├── TopazAmp1-2.wsz
            │       ├── Vizor1-01.wsz
            │       ├── XMMS-Turquoise.wsz
            │       └── ZaxonRemake1-0.wsz
            ├── docs/
            │   ├── architecture.md
            │   ├── music-credits.md
            │   ├── press.md
            │   └── usage.md
            ├── index.d.ts
            ├── jest-puppeteer.config.js
            ├── js/
            │   ├── Disposable.ts
            │   ├── __mocks__/
            │   │   ├── fileMock.js
            │   │   ├── mediaMock.js
            │   │   ├── storeMock.js
            │   │   └── styleMock.js
            │   ├── __snapshots__/
            │   │   ├── regionParser.test.js.snap
            │   │   └── serialization.test.ts.snap
            │   ├── __tests__/
            │   │   ├── .eslintrc
            │   │   ├── baseline.integration-test.js
            │   │   └── fixtures/
            │   │       ├── CENTRA_VISCOLOR.TXT
            │   │       ├── PLEDIT.TXT
            │   │       ├── PLEDIT_TOPAZ.TXT
            │   │       ├── PLEDIT_WITH_EQUALS.TXT
            │   │       ├── PLEDIT_WITH_QUOTES.TXT
            │   │       ├── VISCOLOR.TXT
            │   │       ├── region.txt
            │   │       ├── region1.txt
            │   │       ├── region_empty_sections.txt
            │   │       ├── region_eva.txt
            │   │       ├── region_ituned.txt
            │   │       ├── region_leading_comma.txt
            │   │       ├── region_satellite.txt
            │   │       ├── serializedState/
            │   │       │   └── v1/
            │   │       │       ├── balance.json
            │   │       │       ├── double-mode.json
            │   │       │       ├── equalizer-auto.json
            │   │       │       ├── equalizer-band.json
            │   │       │       ├── equalizer-on.json
            │   │       │       ├── equalizer-preamp.json
            │   │       │       ├── focused-window.json
            │   │       │       ├── llama-mode.json
            │   │       │       ├── main-window-position.json
            │   │       │       ├── repeat.json
            │   │       │       ├── shuffle.json
            │   │       │       ├── volume.json
            │   │       │       ├── window-hidden.json
            │   │       │       ├── window-open.json
            │   │       │       ├── window-positions-are-relative.json
            │   │       │       ├── window-shade.json
            │   │       │       └── window-size.json
            │   │       ├── viscolor_green_dimension.txt
            │   │       └── viscolor_valgaav.txt
            │   ├── actionCreators/
            │   │   ├── equalizer.ts
            │   │   ├── files.ts
            │   │   ├── index.test.js
            │   │   ├── index.ts
            │   │   ├── media.ts
            │   │   ├── milkdrop.ts
            │   │   ├── playlist.ts
            │   │   └── windows.ts
            │   ├── actionTypes.ts
            │   ├── baseSkin.json
            │   ├── components/
            │   │   ├── App.tsx
            │   │   ├── Balance.tsx
            │   │   ├── Character.test.js
            │   │   ├── Character.tsx
            │   │   ├── CharacterString.tsx
            │   │   ├── ClickedDiv.tsx
            │   │   ├── ClipPaths.tsx
            │   │   ├── ContextMenu.tsx
            │   │   ├── ContextMenuTarget.tsx
            │   │   ├── ContextMenuWrapper.tsx
            │   │   ├── Css.tsx
            │   │   ├── DropTarget.tsx
            │   │   ├── EqualizerWindow/
            │   │   │   ├── Band.test.js
            │   │   │   ├── Band.tsx
            │   │   │   ├── EqAuto.tsx
            │   │   │   ├── EqGraph.tsx
            │   │   │   ├── EqOn.tsx
            │   │   │   ├── EqTitleButtons.tsx
            │   │   │   ├── EqualizerShade.tsx
            │   │   │   ├── PresetsContextMenu.tsx
            │   │   │   ├── index.tsx
            │   │   │   └── spline.js
            │   │   ├── FocusTarget.tsx
            │   │   ├── Fullscreen.tsx
            │   │   ├── GenWindow/
            │   │   │   └── index.tsx
            │   │   ├── MainWindow/
            │   │   │   ├── ActionButtons.tsx
            │   │   │   ├── Close.tsx
            │   │   │   ├── ClutterBar.tsx
            │   │   │   ├── Eject.tsx
            │   │   │   ├── EqToggleButton.tsx
            │   │   │   ├── Kbps.tsx
            │   │   │   ├── Khz.tsx
            │   │   │   ├── MainBalance.test.js
            │   │   │   ├── MainBalance.tsx
            │   │   │   ├── MainContextMenu.tsx
            │   │   │   ├── MainVolume.tsx
            │   │   │   ├── Marquee.test.js
            │   │   │   ├── Marquee.tsx
            │   │   │   ├── Minimize.tsx
            │   │   │   ├── MonoStereo.tsx
            │   │   │   ├── PlaylistToggleButton.tsx
            │   │   │   ├── Position.tsx
            │   │   │   ├── Repeat.tsx
            │   │   │   ├── Shade.tsx
            │   │   │   ├── Shuffle.tsx
            │   │   │   ├── Time.tsx
            │   │   │   └── index.tsx
            │   │   ├── MilkdropWindow/
            │   │   │   ├── Background.tsx
            │   │   │   ├── Desktop.tsx
            │   │   │   ├── MilkdropContextMenu.tsx
            │   │   │   ├── PresetOverlay.tsx
            │   │   │   ├── Visualizer.tsx
            │   │   │   ├── __tests__/
            │   │   │   │   └── PresetOverlay.test.js
            │   │   │   └── index.tsx
            │   │   ├── MiniTime.tsx
            │   │   ├── OptionsContextMenu.tsx
            │   │   ├── PlaybackContextMenu.tsx
            │   │   ├── PlaylistWindow/
            │   │   │   ├── AddMenu.tsx
            │   │   │   ├── ListMenu.tsx
            │   │   │   ├── MiscMenu.tsx
            │   │   │   ├── MiscOptionsContextMenu.tsx
            │   │   │   ├── PlaylistActionArea.tsx
            │   │   │   ├── PlaylistMenu.tsx
            │   │   │   ├── PlaylistMenuEntry.tsx
            │   │   │   ├── PlaylistResizeTarget.tsx
            │   │   │   ├── PlaylistScrollBar.tsx
            │   │   │   ├── PlaylistShade.test.js
            │   │   │   ├── PlaylistShade.tsx
            │   │   │   ├── RemoveMenu.tsx
            │   │   │   ├── RunningTimeDisplay.tsx
            │   │   │   ├── SelectionMenu.tsx
            │   │   │   ├── SortContextMenu.tsx
            │   │   │   ├── TrackCell.tsx
            │   │   │   ├── TrackList.tsx
            │   │   │   ├── TrackTitle.tsx
            │   │   │   ├── __snapshots__/
            │   │   │   │   └── PlaylistShade.test.js.snap
            │   │   │   └── index.tsx
            │   │   ├── ResizeTarget.tsx
            │   │   ├── Skin.tsx
            │   │   ├── SkinsContextMenu.tsx
            │   │   ├── VerticalSlider.tsx
            │   │   ├── Visualizer.tsx
            │   │   ├── Volume.tsx
            │   │   ├── WindowManager.tsx
            │   │   ├── useBarVisualizer.ts
            │   │   └── useOscilloscopeVisualizer.ts
            │   ├── constants.ts
            │   ├── emitter.test.js
            │   ├── emitter.ts
            │   ├── fileUtils.ts
            │   ├── hooks.ts
            │   ├── hotkeys.ts
            │   ├── loadQueue.js
            │   ├── marqueeUtils.test.ts
            │   ├── marqueeUtils.tsx
            │   ├── media/
            │   │   ├── StereoBalanceNode.js
            │   │   ├── elementSource.ts
            │   │   └── index.ts
            │   ├── mediaMiddleware.ts
            │   ├── playlistHtml.tsx
            │   ├── reducers/
            │   │   ├── display.ts
            │   │   ├── equalizer.ts
            │   │   ├── index.ts
            │   │   ├── media.ts
            │   │   ├── milkdrop.test.js
            │   │   ├── milkdrop.ts
            │   │   ├── network.ts
            │   │   ├── playlist.test.js
            │   │   ├── playlist.ts
            │   │   ├── settings.ts
            │   │   ├── tracks.test.ts
            │   │   ├── tracks.ts
            │   │   ├── userInput.test.js
            │   │   ├── userInput.ts
            │   │   └── windows.ts
            │   ├── regionParser.test.js
            │   ├── regionParser.ts
            │   ├── resizeUtils.test.ts
            │   ├── resizeUtils.ts
            │   ├── selectors.test.ts
            │   ├── selectors.ts
            │   ├── serialization.test.ts
            │   ├── serializedStates/
            │   │   └── v1Types.ts
            │   ├── skinParser.js
            │   ├── skinParserUtils.ts
            │   ├── skinSelectors.ts
            │   ├── skinSprites.test.js
            │   ├── skinSprites.ts
            │   ├── snapUtils.test.ts
            │   ├── snapUtils.ts
            │   ├── spinParserUtils.test.ts
            │   ├── store.ts
            │   ├── trackUtils.ts
            │   ├── types.ts
            │   ├── utils.test.ts
            │   ├── utils.ts
            │   ├── webamp.js
            │   ├── webampLazy.tsx
            │   └── winamp-eqf.d.ts
            ├── package.json
            ├── presets/
            │   ├── builtin.json
            │   └── winamp.q1
            ├── scripts/
            │   ├── compileSkin.js
            │   ├── parsePresetFiles.js
            │   ├── postcss-optimize-data-uri-pngs.js
            │   └── postcss-optimize-data-uri-pngs.test.js
            ├── static.d.ts
            └── tsconfig.json

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
node_modules
.cache
.parcel-cache
skin.json
token.json
artifacts


================================================
FILE: .travis.yml
================================================
matrix:
  include:
  - os: osx
    osx_image: xcode9.2
    language: node_js
    node_js: '10'
    env:
    - ELECTRON_CACHE=$HOME/.cache/electron
    - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
  - os: linux
    dist: xenial
    language: node_js
    node_js: '10'
    env:
    - ELECTRON_CACHE=$HOME/.cache/electron
    - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
cache:
  directories:
  - ~/.npm
  - ~/.cache
  - node_modules
  - "$HOME/.cache/electron"
  - "$HOME/.cache/electron-builder"
  override:
    - yarn install --frozen-lockfile
before_install:
- |
  if [ "$TRAVIS_OS_NAME" == "osx" ]; then
    mkdir -p /tmp/git-lfs && curl -L https://github.com/github/git-lfs/releases/download/v2.3.1/git-lfs-$([ "$TRAVIS_OS_NAME" == "linux" ] && echo "linux" || echo "darwin")-amd64-2.3.1.tar.gz | tar -xz -C /tmp/git-lfs --strip-components 1
    export PATH="/tmp/git-lfs:$PATH"
  fi
before_script:
- git lfs pull
# For Electron e2e UI testing
# See https://github.com/electron/spectron#on-travis-ci
- |
  if [ "$TRAVIS_OS_NAME" == "linux" ]; then
    export DISPLAY=:99.0
    sh -e /etc/init.d/xvfb start
    sleep 3 # give xvfb some time to start
  fi
script:
- yarn build
- |
  if [ "$TRAVIS_OS_NAME" == "linux" ]; then
    docker run --rm \
      $(env | \
        grep -Eo '^[^\s=]*(DEBUG|NODE_|ELECTRON_|YARN_|NPM_|CI|CIRCLE|TRAVIS|APPVEYOR_|CSC_|_TOKEN|_KEY|AWS_|STRIP|BUILD_)[^\s=]*' | \
        sed '/^$/d;s/^/-e /' | \
        paste -sd ' ' \
      ) \
      -v ${PWD}:/project \
      -v ~/.cache/electron:/root/.cache/electron \
      -v ~/.cache/electron-builder:/root/.cache/electron-builder \
      electronuserland/builder:wine \
      /bin/bash -c "yarn --link-duplicates --pure-lockfile && yarn dist --linux --win"
  else
    yarn test && yarn dist
  fi
before_cache:
- rm -rf $HOME/.cache/electron-builder/wine

================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2025 Maksim Chingin

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

================================================
FILE: README.md
================================================
![](https://github.com/umnik1/yaamp/assets/2902730/70de0d28-d871-4a45-8416-0f0a09cbb198)

# Yaamp

Исходники проекта по интеграции Яндекс.Музыки и *Winamp (Webamp)*

## Описание

**Yaamp** — это десктопный музыкальный плеер, который объединяет классический интерфейс Winamp с возможностями Яндекс.Музыки. Приложение построено на базе Electron и использует Webamp для воссоздания аутентичного опыта использования легендарного Winamp с современной интеграцией потокового сервиса.

Yaamp позволяет наслаждаться музыкой из каталога Яндекс.Музыки через знакомый интерфейс Winamp, сохраняя все его характерные особенности: скины, эквалайзер, визуализацию и ностальгический вид.

## Особенности

### Основной функционал
- **Интеграция с Яндекс.Музыкой** — полный доступ к каталогу музыки через официальный API
- **Классический интерфейс Winamp** — точная копия оригинального плеера через Webamp
- **Поддержка скинов** — использование оригинальных скинов Winamp (.wsz файлы)
- **Эквалайзер** — 10-полосный графический эквалайзер с сохранением настроек
- **Визуализация Milkdrop** — поддержка визуализации музыки
- **Плейлист** — полнофункциональный плейлист с возможностью управления треками

### Управление воспроизведением
- **Моя волна** — запуск персонализированной радиостанции
- **Любимые треки** — быстрый доступ к избранным композициям
- **Поиск** — поиск артистов и альбомов с возможностью воспроизведения
- **Управление треками** — переключение, пауза, воспроизведение через интерфейс или горячие клавиши

### HTTP API
- **Веб-интерфейс** — управление плеером через браузер
- **REST API** — программное управление плеером через HTTP запросы
- **Удаленное управление** — контроль воспроизведения с любого устройства в локальной сети
- **Поиск и воспроизведение** — поиск артистов/альбомов и запуск через API

### Интеграции
- **Discord Rich Presence** — отображение текущего трека в статусе Discord
- **Горячие клавиши** — поддержка стандартных горячих клавиш Winamp
- **Touch Bar (macOS)** — управление воспроизведением через Touch Bar на MacBook

### Технические особенности
- **Кроссплатформенность** — поддержка Windows, macOS и Linux
- **Автоматические обновления** — встроенная система обновлений через electron-updater
- **Сохранение настроек** — автоматическое сохранение позиций окон, скинов и эквалайзера
- **Прозрачность окон** — поддержка прозрачности для аутентичного вида Winamp
- **IPC коммуникация** — взаимодействие между Electron и Webamp через IPC

---

### **Установка**

1. `yarn install` и `yarn install` в папке **webamp**
2. Поправить в **package.json** - "copy" и "deploy-webamp" на тот, на какой системе вы сейчас работаете, на данный момент настроенно на Windows

**Добавление функционала и работа с Webamp**

1. Используйте `yarn deploy-webamp` для сборки Webamp


---

**Based on:** [Webamp](https://github.com/captbaritone/webamp "Webamp"), [yandex-music-api](https://github.com/MarshalX/yandex-music-api "yandex-music-api"), [yandex-music-open-api](https://github.com/acherkashin/yandex-music-open-api "yandex-music-open-api")
*While the Winamp name, interface and logo are surely property of Nullsoft.*


---

# Yaamp API

HTTP API для управления плеером Yaamp.

## Включение API

API можно включить двумя способами:

1. **Через файл настроек** (`settings.json` в папке userData):
```json
{
  "api": {
    "enabled": true,
    "port": 8080
  }
}
```

2. **Через IPC** (из renderer процесса):
```javascript
ipcRenderer.invoke('setApiSettings', { enabled: true, port: 8080 });
```

После изменения настроек API сервер автоматически перезапустится.

## Веб-интерфейс

На корневой странице API (`http://127.0.0.1:{port}/`) доступен веб-интерфейс для управления плеером.

**Особенности:**
- Кнопки управления: Предыдущий трек, Воспроизведение/Пауза, Следующий трек
- Слайдер управления громкостью (0-100%)
- Кнопки для запуска "Моя волна" и "Любимые треки"
- Поиск треков с возможностью воспроизведения найденных артистов и альбомов
- Отображение статуса API и последнего действия
- Поддержка клавиатурных сокращений:
  - `Пробел` - Воспроизведение/Пауза
  - `←` - Предыдущий трек
  - `→` - Следующий трек

Просто откройте в браузере: `http://127.0.0.1:8080/`

## Endpoints

Все endpoints доступны по адресу `http://127.0.0.1:{port}` (по умолчанию `http://127.0.0.1:8080`).

### GET /next
Переключить на следующий трек.

**Пример:**
```bash
curl http://127.0.0.1:8080/next
```

**Ответ:**
```json
{
  "success": true,
  "message": "Next track"
}
```

### GET /prev
Переключить на предыдущий трек.

**Пример:**
```bash
curl http://127.0.0.1:8080/prev
```

**Ответ:**
```json
{
  "success": true,
  "message": "Previous track"
}
```

### GET /playpause
Переключить воспроизведение/паузу.

**Пример:**
```bash
curl http://127.0.0.1:8080/playpause
```

**Ответ:**
```json
{
  "success": true,
  "message": "Play/Pause toggled"
}
```

### GET /play
Воспроизвести трек.

**Пример:**
```bash
curl http://127.0.0.1:8080/play
```

**Ответ:**
```json
{
  "success": true,
  "message": "Play"
}
```

### GET /pause
Поставить на паузу.

**Пример:**
```bash
curl http://127.0.0.1:8080/pause
```

**Ответ:**
```json
{
  "success": true,
  "message": "Pause"
}
```

### GET /volume?value=50
Установить громкость плеера (0-100).

**Пример:**
```bash
curl http://127.0.0.1:8080/volume?value=75
```

**Ответ:**
```json
{
  "success": true,
  "message": "Volume set to 75%",
  "volume": 75
}
```

### GET /mywave
Запустить "Моя волна".

**Пример:**
```bash
curl http://127.0.0.1:8080/mywave
```

**Ответ:**
```json
{
  "success": true,
  "message": "Моя волна запущена"
}
```

### GET /myloved
Загрузить "Любимые треки".

**Пример:**
```bash
curl http://127.0.0.1:8080/myloved
```

**Ответ:**
```json
{
  "success": true,
  "message": "Любимые треки загружены"
}
```

### GET /search?query=...
Поиск артистов и альбомов.

**Параметры:**
- `query` или `q` (обязательный) - поисковый запрос

**Пример:**
```bash
curl "http://127.0.0.1:8080/search?query=король"
```

**Ответ:**
```json
{
  "success": true,
  "results": [
    {
      "type": "artist",
      "id": "12345",
      "name": "Король и Шут"
    }
  ]
}
```

**Примечание:** Результаты поиска могут содержать артистов (`type: "artist"`) или альбомы (`type: "album"`). Используйте ID из результатов с эндпоинтами `/setArtist` или `/setAlbum` для воспроизведения.

### GET /setArtist?id=...
Загрузить популярные треки артиста по ID и начать воспроизведение.

**Параметры:**
- `id` или `artistId` (обязательный) - ID артиста из результатов поиска

**Пример:**
```bash
curl "http://127.0.0.1:8080/setArtist?id=12345"
```

**Ответ:**
```json
{
  "success": true,
  "message": "Артист загружен"
}
```

**Примечание:** ID артиста можно получить из результатов поиска (`/search`).

### GET /setAlbum?id=...
Загрузить треки альбома по ID и начать воспроизведение.

**Параметры:**
- `id` или `albumId` (обязательный) - ID альбома из результатов поиска

**Пример:**
```bash
curl "http://127.0.0.1:8080/setAlbum?id=67890"
```

**Ответ:**
```json
{
  "success": true,
  "message": "Альбом загружен"
}
```

**Примечание:** ID альбома можно получить из результатов поиска (`/search`).

### GET /status
Проверить статус API сервера.

**Пример:**
```bash
curl http://127.0.0.1:8080/status
```

**Ответ:**
```json
{
  "success": true,
  "message": "API server is running",
  "endpoints": ["/next", "/prev", "/play", "/pause", "/playpause", "/volume?value=50", "/mywave", "/myloved", "/search?query=...", "/setArtist?id=...", "/setAlbum?id=...", "/status"]
}
```

## Безопасность

API сервер доступен только на `127.0.0.1` (localhost), что означает, что он доступен только с локальной машины. Это обеспечивает базовую безопасность.

================================================
FILE: bundled/skins/.gitignore
================================================
base-2.91.zip
Skinner_Atlas/


================================================
FILE: bundled/skins/base-2.91/PLEDIT.TXT
================================================
[Text]
Normal=#00FF00
Current=#FFFFFF
NormalBG=#000000
SelectedBG=#0000C6
Font=Arial


================================================
FILE: bundled/skins/base-2.91/REGION.TXT
================================================
; I stole this from the Complex skin, cause hey I thought it was cool :)
; (and cause I'm too lazy to document it myself. :)
; The original author is Adam Kennedy <adamk@iname.com>
;
; Hope you don't mind Adam :)
;
;
; -Justin
;
;
; P.S. you can use the section names [WindowShade] and [Equalizer]
; for obvious purposes =)
;
;
;                    REGION.TXT STRUCTURE FOR DEFINING SKIN MASKS
;
;The region information comes without any supporting documentation
;so I thought I might as well make some.
;
;The region.txt in WinAmp 1.92 allows us to some interesting things with transparencies
;But how does it work?
;
;Well, basically, it lets you define a set of polygons. Anything inside a polygon is drawn. Anything not in a polygon is not drawn. Simple heh?
;For how to define it have a look below at the first block. Un-comment it now. Don't worry about commenting the actual one lower down, if WinAmp finds multiple definitions, it only does the first and ignores the rest
;
;How to make a mask
;1. Type [Normal]. Real simple that one. (My guess is it is just for forward compatibility)
;2. Just type the NumPoints= and leave the number blank, we'll fill it in later
;3. OK, now for the fun part.
;   The co-ordinates you should type in are the OUTSIDE pixel co-ordinates in x,y format.
;   Start at the top lefthand corner and work your way CLOCKWISE around you polygon.
;   Now WinAmp ONLY accepts the PointList as one line of comma seperated variables.
;   You can use spaces, but DONT GO ONTO A NEW LINE. Clear? Good. :)
;   One last thing, don't type the first position again at the end, WinAmp joins them.
;   Putting a space between each pair is simply common sense, right?
;4. Once your done, count the number of co-ords, and fill in that number for NumPoints.
;
;Oh, as a side note, the x variables go from 0 to 275, and the y from 0 to 116.
;So if you look at the first example you can see I've gone across the second top line, gone down a bit, ducked in one pixel, gone down to the bottom, and across and back up the other side, putting another ledge on the other side.

;This does the outside border, and chops some bits out on the top and edges
;[Normal]
;NumPoints=8    ;Do this LAST!
;PointList=0,1,  275,1,  275,14,  274,14,  274,115,  1,115,  1,14,  0,14  

;Cool heh? Very subtle effect. Now lets try a more complex one, with multiple polygons
;For your first hard(ish) mask, I suggest defining each element as a seperate mask.
;It makes them a bit easier to think about.

;First, lets define an area that JUST does the titlebar.
;[Normal]
;NumPoints=4
;PointList=0,1,  275,1,  275,14,  0,14

;Simple as can be :)
;Go ahead, uncomment it and have a look. Just remember to recomment everything above it
;Doing your areas one at a time does speed the process up a bit

;Now lets define JUST the area sort of inside the outer ring
;[Normal]
;NumPoints = 4
;PointList = 3,15,  272,15,  272,113,  3,113

;Right, so say we want a mask that has, the titlebar AND the main area.
;We just add them together
; [Normal] 
; NumPoints = 4, 4  ;Make sure to get the order right(although it doesnt matter here =P )
; PointList = 0,1, 275,1, 275,14, 0,14,     3,15, 272,15, 272,113, 3,113

;Dont forget to add that extra comma after the first set.
; Having that bigger gap that lets you "keep it in your head" easier, it's a good idea

;OK, now lets try something tricky. We are going to make a mask for just one green line around the outside of the skin
;This introduces the other "big thing" with masks. Have a look at the first three co-ordinates below. You can see the first two moves we make are to go one to the side and then go down to the bottom. Looking at the last co-ordinate you can see we will come back up at the end, making a line two wide, right? 
;WRONG!! Here comes the big important phrase.
;IF YOU ARNT FOLLOWING THE OUTSIDE EDGE, YOUR CO-ORDINATES MARK TRANSPARENT SPACE LIMITS
;That's right. Because I don't make a square, because I have to turn "inside" the box, I am only marking space, and what I end up with is a mask with one green line.
;WARNING: Leave your skins dialog open when you do this one. :)
;[Normal]
;NumPoints = 8
;PointList = 1,14,  2,14,  2,114,  273,114,  273,14,  274,14,  274,115,  1,115

;OK, as the final touch lets add lets the border we just made to the other two.
;You should be able to work this out on your own
;[Normal]
;NumPoints = 4, 4, 8
;PointList = 0,1, 275,1, 275,14, 0,14,     3,15, 272,15, 272,113, 3,113,     1,14, 2,14, 2,114, 273,114, 273,14, 274,14, 274,115, 1,115

;hmm... that still looks a bit tacky down the bottom right
;So I'm going to modify it a bit
;See if you can work out what I've had to alter just by looking at the display of it
;[Normal]
;NumPoints = 4, 4, 8
;PointList = 0,1, 275,1, 275,14, 0,14,     3,15, 272,15, 272,80, 3,80,     1,14, 2,14, 2,81, 273,81, 273,14, 274,14, 274,115, 1,115


; Justin's whacked trans skin :) in one, big lame messy line
; [Normal]
; NumPoints=20,4,4,4,8,4,4,6,6,4,4,4,4
; PointList=0,0,19,0,19,11,114,11,114,0,156,0,156,11,243,11,243,0,275,0,275,13,266,13,266,22,264,22,264,13,111,13,111,22,109,22,109,13,0,13,     109,22,266,22,266,36,109,36, 16,88,130,88,130,105,16,105,    136,89,157,89,157,104,136,104,    22,13,22,62,102,62,102,13,100,13,100,24,24,24,24,13,    0,0,275,0,275,3,0,3,   16,72,264,72,264,81,16,81,  0,13,0,78,16,78,16,75,4,75,4,13,   275,13,275,78,264,78,264,75,272,75,272,13,     14,78,16,78,16,105,14,105,     130,81,132,81,132,105,130,105,     146,81,146,89,148,89,148,81,     130,96,136,96,136,98,130,98

;THE END
;
;Post-Script
;The other good thing about doing your mask in bits and pieces like this is that can make multiple versions so you can change as your whims change


================================================
FILE: bundled/skins/base-2.91/Skining Updates.txt
================================================
Coppied from winamp/wa_dlg.h from the Winamp 2.9 ML SDK.

       1) gen.bmp has a generic window frame for plugins to use.
          its format is similar to the minibrowser's.
          In addition gen.bmp includes a font for the titlebar, in both
          highlight and no-highlight modes. The font is variable width,
          and it uses the first color before the letter A as the delimiter.
          The no-highlight form of letter must be the same width as the
          highlight form.
       2) genex.bmp has button and scrollbar images, as well as some individual
          pixels that describe the colors for the dialog. The button and
          scrollbar images should be self explanatory (note that the buttons
          have 4 pixel sized edges that are not stretched, and the center is
          stretched), and the scrollbars do something similar.
          The colors start at (48,0) and run every other pixel. The meaning
          of each pixel is:
            x=48: item background (background to edits, listviews etc)
            x=50: item foreground (text color of edit/listview, etc)
            x=52: window background (used to set the bg color for the dialog)
            x=54: button text color
            x=56: window text color
            x=58: color of dividers and sunken borders
            x=60: selection color for listviews/playlists/etc
            x=62: listview header background color
            x=64: listview header text color
            x=66: listview header frame top color
            x=68: listview header frame middle color
            x=70: listview header frame bottom color
            x=72: listview header empty color
            x=74: scrollbar foreground color
            x=76: scrollbar background color
            x=78: inverse scrollbar foreground color
            x=80: inverse scrollbar background color
            x=82: scrollbar dead area color

================================================
FILE: bundled/skins/base-2.91/VISCOLOR.TXT
================================================
0,0,0, // color 0 = black
24,33,41, // color 1 = grey for dots
239,49,16, // color 2 = top of spec
206,41,16, // 3
214,90,0, // 4
214,102,0, // 5
214,115,0, // 6
198,123,8, // 7
222,165,24, // 8
214,181,33, // 9
189,222,41, // 10
148,222,33, // 11
41,206,16, // 12
50,190,16, // 13
57,181,16, // 14
49,156,8,  // 15
41,148,0,  // 16
24,132,8,   // 17 = bottom of spec
255,255,255, // 18 = osc 1
214,214,222, // 19 = osc 2 (slightly dimmer)
181,189,189, // 20 = osc 3
160,170,175,  // 21 = osc 4
148,156,165,  // 22 = osc 4
150, 150, 150, // 23 = analyzer peak dots


================================================
FILE: dist/.gitignore
================================================
*
!.gitignore

================================================
FILE: main.js
================================================
// TODO: Нужно сделать рефакторинг всего кода, но мне лень с:

const path = require('path');
const url = require('url');
const { ipcMain, webContents, session, remote, screen, TouchBar, nativeImage } = require('electron');
const { TouchBarLabel, TouchBarButton, TouchBarSpacer } = TouchBar;
const crypto = require("crypto");
const DiscordRPC =  require('discord-rpc');

const checkForUpdatesAndNotify = require('./src/node/updates.js')
const interceptStreamProtocol = require('./src/node/protocol.js')
const { createApiServer, stopApiServer } = require('./src/node/api-server.js')

const electron = require('electron')
const fs = require('fs')
const {readFile} = require('fs/promises');

const app = electron.app
const BrowserWindow = electron.BrowserWindow

const { YandexMusicClient } = require('yandex-music-client/YandexMusicClient')
const { getTrackUrl } = require('yandex-music-client/trackUrl')

// раскомментировать для отображения дебаг панели
//require('electron-debug')({ showDevTools:true, devToolsMode: 'undocked' })

const tokenPath = app.getPath("userData") + '/token.json';
const skinPath = app.getPath("userData") + '/skin.json';
const eqPath = app.getPath("userData") + '/eq.json';
const settingsPath = app.getPath("userData") + '/settings.json';
const URL_WITH_ACCESS_TOKEN_REGEX = 'https:\\/\\/music\\.yandex\\.(?:ru|com|by|kz|ua)\\/#access_token=([^&]*)';

let nowPlaying = 0;
let nowPlaylist = [];

let yaAuthToken = '';
let skinData = '';
let eqData = '';
let settingsData = {
  windows: {
    mainWindow: {
      x: 0,
      y: 12,
      visible: true,
    },
    playlistWindow: {
      x: 0,
      y: 244,
      size: [0, 0],
      visible: true,
    },
    equalizerWindow: {
      x: 0,
      y: 128,
      visible: true,
    },
    milkdropWindow: {
      x: 275,
      y: 12,
      size: [7,8],
      visible: true,
    }
  },
  zoom: 1,
  api: {
    enabled: false,
    port: 8080
  }
};

let resetSettings = settingsData;
let currentBounds;

// Discord
const sessionId = crypto.randomBytes(20).toString('hex');
const clientId = '1161295534770892860';

DiscordRPC.register(clientId);

const rpc = new DiscordRPC.Client({ transport: 'ipc' });

rpc.login({ clientId }).catch(console.error);

// Mac Touchbar
let prev = new TouchBarButton({
  backgroundColor: '#000000',
  icon: nativeImage.createFromDataURL('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASCAYAAACw50UTAAAAAXNSR0IArs4c6QAAASZJREFUOE9jXLv12H8GKoPr9+8zzJ8wmYERZLiTlyXVjN+37TjD0nVrGS4dOIow/Nz56xRb8OH5BwaQq48dO8Zw69S5ATK8t2cq3CfFJdkYvoLJI8uBXH7u/DmG89euM9w6eRa3y0Gaff38GCLC3RjQgwyXHIrh+IIFlwEwcZBX0C2myHBkgwkZfvv0eeKDBd1gQobjTS3owWJkqMmwYuUulIjFFywkuRxkKroFVDUc3QKqG45sAdmGg4IABrAVDTB5ZDnkpIgS5qAChxoAlkPhhoMMBRU43z+8p4b54Ox/5/QFBsaWKUv/g2z78f0HVQyGGXL7zAUGRnl5w/+MDIwIgxkhbCZGBob/DFAZRkYGRqg4SA4k+h8k9h9UzzAyMCDLwdQCpQBA03BAzydq3wAAAABJRU5ErkJggg=='),
  iconPosition: 'overlay',
  click: () => {
    mainWindow.webContents.send('prevTrack');
  }
})

let play = new TouchBarButton({
  backgroundColor: '#000000',
  icon: nativeImage.createFromDataURL('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASCAYAAACw50UTAAAAAXNSR0IArs4c6QAAAQ9JREFUOE/FlbESwUAQhnfzLswo6YxOoTBDyzsoeQQlHaWSjoKhVJ4uoRGqoFFKR3dmw0oGiRM345rM3F2+/78/uxccToUEzcN2HBh0e4AEzxez2vDz2QL6oyFshOXDTcv+WcA9ukCuhRBwWG3+BG+3ut5J6o2a8onIuWmZYK1t2C0jnBO8VC7DZDxWFgnCI2NhONtWEfna+XMmUSKxnauIaINXKwVPL1jCQfh+tQ0vxefM2fk7KK/Fdh4FfQ9XcK4C/RqeSadeMv3UTaGZ04WjY3CHPj4oQenCObsnHXyv/Q9ULc1OX5La5XzRAmaI5zyZyEkABDTQhyMC8i8Eb/PIT+B9/n7j/q6ktfs0SgOutQw52vzOQLoAAAAASUVORK5CYII='),
  iconPosition: 'overlay',
  click: () => {
    mainWindow.webContents.send('playPause');
  }
})

let next = new TouchBarButton({
  backgroundColor: '#000000',
  icon: nativeImage.createFromDataURL('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASCAYAAACw50UTAAAAAXNSR0IArs4c6QAAAPtJREFUOE9jXLv12H8GKoPr9+8zaCoqMjCCDHfysqSa8fu2HWdYum4tQ3RQMMLwc+evU2zBh+cfGECuPnbsGENydPQAGd7bMxXsk+KSbAwfweTQ5UEuP3f+HMP5a9fxuxxkgK+fH8PmTZswLIDJRYS7MSAHJ8mGg1yHbgFVDUe3gOqGI1tAE8NhYUx1w5Ejj6qGo6cKqhmObjAo7Ck23MhQE5x5sBULMDl0eZzpHFTgUANg5FCQoaAC5/uH99QwH5z93917z8DYMmXpf5BtP77/oIrBMEP2rVvKwGhmFgquLBgZmRj+///PwMjIiNUSRgbs4gw41F+4sJ0BABVaXHLFWpERAAAAAElFTkSuQmCC'),
  iconPosition: 'overlay',
  click: () => {
    mainWindow.webContents.send('nextTrack');
  }
})

let trackinfo = new TouchBarButton({
  backgroundColor: '#000000',
  textColor: '#01E804',
  label: '',
  click: () => {
    mainWindow.webContents.send('nextTrack');
  }
})

const touchBar = new TouchBar({
  items: [
    prev,
    play,
    next,
    new TouchBarSpacer({ size: 'small' }),
    trackinfo
  ]
})

// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let mainWindow;

function createWindow() {
  electron.protocol.interceptStreamProtocol(
    'file',
    interceptStreamProtocol(),
    (error) => {
      if (error) {
        console.error('Failed to register protocol')
      }
    },
  )

  app.commandLine.appendSwitch("disable-features", "OutOfBlinkCors");
  // For Linux: Remove "resizable"

  // Create the browser window.
  getSettingsFromFile().then( () => {

    mainWindow = new BrowserWindow({
      width: 800,
      height: 600,
      transparent: true,
      useContentSize: false,
      frame: false,
      hasShadow: false,
      show: false,
      resizable: false,
      fullscreenable: false,
      icon: path.join(__dirname, 'res/icon.png'),
      webPreferences: {
        nodeIntegration: true,
        contextIsolation: false,
        enableRemoteModule: true,
        webSecurity: false,
        preload: path.join(__dirname, 'src/node/preload.js'),
      }
    })

    // and load the index.html of the app.
    mainWindow.loadURL(url.format({
      pathname: './dist/index.html',
      protocol: 'file:',
      slashes: true
    }))
    mainWindow.setTouchBar(touchBar)

    // and show window once it's ready (to prevent flashing)
    mainWindow.once('ready-to-show', () => {
      mainWindow.webContents.setZoomFactor(settingsData.zoom ? settingsData.zoom : 1)
      mainWindow.show()
      checkForUpdatesAndNotify()
      
      if (settingsData.api && settingsData.api.enabled) {
        const port = settingsData.api.port || 8080;
        createApiServer(port, mainWindow);
      }
    })

    mainWindow.on('closed', function () {
      stopApiServer();
      mainWindow = null
    })

  });

}


function createLogin() {
  electron.protocol.interceptStreamProtocol(
    'file',
    interceptStreamProtocol(),
    (error) => {
      if (error) {
        console.error('Failed to register protocol')
      }
    },
  )

  app.commandLine.appendSwitch("disable-features", "OutOfBlinkCors");

  // Create the browser window.
  mainWindow = new BrowserWindow({
    width: 350,
    height: 450,
    frame: false,
    hasShadow: false,
    resizable: false,
    icon: path.join(__dirname, 'res/icon.png'),
    webPreferences: {
      preload: path.join(__dirname, 'src/node/preload.js'),
    }
  })

  // and load the index.html of the app.
  mainWindow.loadURL('http://yaamp.ru/login.html')

  mainWindow.on('closed', function () {
    // Dereference the window object
    mainWindow = null
  })

}


const getTokenFromFile = async()=>{
  try {
    const result = await readFile(tokenPath,'binary')
    yaAuthToken = result;
  } catch (error) {
    fs.writeFile(tokenPath, '', (error) => {});  }
}

const getSkinFromFile = async()=>{
  try {
    const result = await readFile(skinPath,'binary')
    skinData = result;
  } catch (error) {
    fs.writeFile(skinPath, '', (error) => {});  }
}

const getEQFromFile = async()=>{
  try {
    const result = await readFile(eqPath,'binary')
    eqData = result;
  } catch (error) {
    fs.writeFile(eqPath, '', (error) => {});  }
}


const getSettingsFromFile = async()=>{
  try {
    const result = await readFile(settingsPath, 'binary')
    const parsed = JSON.parse(result);
    settingsData = {
      ...settingsData,
      ...parsed,
      api: {
        enabled: parsed.api?.enabled !== undefined ? parsed.api.enabled : false,
        port: parsed.api?.port || 8080
      }
    };
  } catch (error) {
    fs.writeFile(settingsPath, JSON.stringify(settingsData), (error) => {});  }
}

// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
// Linux has transparency disabled and window creation delayed
// due to issues with transparency of Chromium on Linux.
// See https://bugs.chromium.org/p/chromium/issues/detail?id=854601#c7
if (process.platform === 'linux') {
  app.disableHardwareAcceleration()
  app.on('ready', () => {
    getTokenFromFile().then( () => {
  
      if (yaAuthToken) {
        setTimeout(createWindow, 100)
      } else {
        setTimeout(createLogin, 100)
      }
    })
  })
} else {
  app.on('ready', () => {
    getTokenFromFile().then( () => {
  
      if (yaAuthToken) {
        createWindow()
      } else {
        createLogin()
      }
    })
  })
}

if (yaAuthToken) {
  app.on('web-contents-created', (event, contents) => {
    // Prevent all navigation for security reasons
    // See https://github.com/electron/electron/blob/master/docs/tutorial/security.md#13-disable-or-limit-navigation
    contents.on('will-navigate', (event, navigationUrl) => {
      event.preventDefault()
    })
    // Prevent new window creation for security reasons
    // and open the URLs in the default browser instead
    // See https://github.com/electron/electron/blob/master/docs/tutorial/security.md#14-disable-or-limit-creation-of-new-windows
    contents.on('new-window', (event, navigationUrl) => {
      const parsedUrl = url.parse(navigationUrl)

      if (parsedUrl.protocol === 'file:' || parsedUrl.protocol === 'chrome-devtools:') {
        return
      }

      event.preventDefault()
      electron.shell.openExternal(navigationUrl)
    })
  })
} else {
  app.on('web-contents-created', (event, contents) => {

    contents.on('will-navigate', (event, navigationUrl) => {

      const match = navigationUrl.match(URL_WITH_ACCESS_TOKEN_REGEX);
      if (match) {
        fs.writeFile(tokenPath, match[1], (error) => {
          if (!error) {
            app.relaunch();
            app.quit();
          }
        });
      }
    })
  })}

// Quit when all windows are closed.
app.on('window-all-closed', function () {
  // Stop API server when all windows are closed
  stopApiServer();
  // On OS X it is common for applications and their menu bar
  // to stay active until the user quits explicitly with Cmd + Q
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

app.on('activate', function () {
  // On OS X it's common to re-create a window in the app when the
  // dock icon is clicked and there are no other windows open.
  if (mainWindow === null) {
    createWindow()
  } else if (settingsData.api && settingsData.api.enabled && mainWindow && !mainWindow.isDestroyed()) {
    // Restart API server if it was enabled
    const port = settingsData.api.port || 8080;
    createApiServer(port, mainWindow);
  }
})

let accountData = {};

getTokenFromFile().then( () => {
  const client = new YandexMusicClient({
    BASE: "https://api.music.yandex.net:443",
    HEADERS: {
        'Authorization': `OAuth ${yaAuthToken}`,
        // specify 'en' to receive data in English
        'Accept-Language': 'ru'
      },
  });

  client.account.getAccountStatus().then(async ({result}) => {
    accountData.uid = result.account.uid;
    accountData.login = result.account.login;
    accountData.fullName = result.account.fullName;
    accountData.secondName = result.account.secondName;
    accountData.firstName = result.account.firstName;
    accountData.displayName = result.account.displayName;
  });


  // Получаем любимые треки
  ipcMain.handle('getLikedTracks', async (event) => {
    nowPlaylist = [];
    let likeTrackIDs = [];

    const data = await client.tracks.getLikedTracksIds(client, accountData.uid).then((data) => {
        data.result.library.tracks.forEach((element) => {
          likeTrackIDs.push(element.id);
        });
        return data;
    })

    const tracks = await client.tracks.getTracks({"track-ids": likeTrackIDs}).then((data) => {
      return data;
    })

    return tracks;
  })

  // Получаем URL трека по ID
  ipcMain.handle('getTrackByID', async (event, trackid) => {

    if (!trackid.includes('blob')) {
      nowPlaying = trackid;

      const data = await getTrackUrl(client, trackid).then((data) => {
          return data;
      })
  
      await client.tracks.playAudio({"track-id": trackid, "from": 'web-main-rup-radio-main', "timestamp": new Date().toISOString(), 'uid': accountData.uid, 'play-id': sessionId}).then((data) => {
        return data;
      })
  
        // Discord Integration
  
        // Check on uploaded track
        if (!/^.*-.*-.*-.*-.*$/.test(trackid)) {
          await client.tracks.getTracks({"track-ids": [trackid]}).then((data) => {
            const element = data.result[0];
            const startTimestamp = new Date();
  
            let artist = [];
  
            element.artists.forEach((a) => {
              artist.push(a.name);
            });
  
            const presObj = {
              details: `${element.title}`,
              state: `${artist.join(', ')}`,
              largeImageKey: 'https://' + element.coverUri.replace("%%", "200x200"),
              largeImageText: `${artist.join(', ')} - ${element.title}`,
              smallImageKey: 'https://yaamp.ru/icon.png',
              smallImageText: 'Yaamp.ru',
              buttons: [
                {
                  label: 'Listen to this track',
                  url: `https://music.yandex.ru/track/${element.id}`,
                },
              ],
            };
          
            rpc.setActivity(presObj);
  
            return data;
          })
        }
        
      return data;
    } else {

      return trackid;
    }

  })

  // Получаем список плейлистов пользователя
  ipcMain.handle('getUserPlaylists', async (event) => {
    let userPlaylists = [];

    await client.playlists.getPlayLists(client, accountData.uid).then((data) => {
      data.result.forEach((element) => {
        userPlaylists.push({ title: element.title, uid: element.uid, kind: element.kind });
      });

      return userPlaylists;
    });

    return userPlaylists;
  })

  // Задаём плейлист
  ipcMain.handle('setPlaylist', async (event, data) => {
    let tracks = [];
    let tracksList = [];


    await client.playlists.getPlaylistById(data.uid, data.kind).then(async (data) => {
      nowPlaylist = { uid: data.result.uid, kind: data.result.kind, title: data.result.title };
      
      let tracks = [];

      data.result.tracks.forEach((element) => {
        tracks.push(element.id);
      });

      await client.tracks.getTracks({"track-ids": tracks}).then((data) => {
        mainWindow.webContents.send('setTracks', data.result);
      })

    });

    return true;
  })

  // Получаем список исполнителей пользователя
  ipcMain.handle('getUserArtists', async (event) => {
    let userArtists = [];

    await client.artists.getArtists(client, accountData.uid).then((data) => {
      data.result.forEach((element) => {
        userArtists.push({ title: element.name, id: element.id });
      });

      return userArtists;
    });

    return userArtists;
  })

  // Задаём испольнителя
  ipcMain.handle('setArtist', async (event, data) => {
    let tracks = [];

    await client.artists.getPopularTracks(data.id).then(async (data) => {
      tracks = data.result.tracks;
      tracks = await client.tracks.getTracks({"track-ids": tracks}).then((data) => {
        mainWindow.webContents.send('setTracks', data.result);
        
        return data;
      })

      return tracks;
    });

    return true;
  })

  // Получаем список альбомов пользователя
  ipcMain.handle('getUserAlbums', async (event) => {
    let userAlbumsIds = [];
    let userAlbums = [];

    await client.albums.getAlbums(client, accountData.uid).then((data) => {
      data.result.forEach((element) => {
        userAlbumsIds.push(element.id);
      });
    });

    await client.albums.getAlbumsByIds({"album-ids": userAlbumsIds}).then((data) => {
      data.result.forEach((element) => {
        if (element.type !== 'podcast') {
          userAlbums.push({ title: element.artists[0].name + ' - ' +element.title, id: element.id });
        }
      });
    });

    return userAlbums;
  })

  // Задаём альбом
  ipcMain.handle('setAlbum', async (event, data) => {
    nowPlaylist = [];
    let tracks = [];

    await client.albums.getAlbumsWithTracks(data.id).then(async (data) => {
      data.result.volumes[0].forEach((element) => {
        tracks.push(element.id);
      });
      tracks = await client.tracks.getTracks({"track-ids": tracks}).then((data) => {
        mainWindow.webContents.send('setTracks', data.result);
        
        return data;
      })

      return tracks;
    });

    return true;
  })

  // Получаем список станций
  ipcMain.handle('getRotor', async (event) => {
    let stations = [];
    let userAlbums = [];

    await client.rotor.getStationsList('ru').then((data) => {
      data.result.forEach((element) => {
        stations.push({ title: element.station.name, id: element.station.id.type + ':' + element.station.id.tag });
      });
    });

    return stations;
  })

  // Задаём станцию
  ipcMain.handle('setRotor', async (event, data) => {
    nowPlaylist = [];
    let rotorTracks = [];
    let lastTrackID = null;

    mainWindow.webContents.send('setLoader');

    await client.rotor.sendStationFeedback(data.id, {type: 'radioStarted', "from": 'web-main-rup-radio-main', "timestamp": new Date().toISOString()}, null).then((data) => {
      // console.log(data);
    })

    for (let i = 0; i < 15; i++) {
      if (i !== 0) {
        lastTrackID = rotorTracks[rotorTracks.length - 1].id;
      }

      await client.rotor.getStationTracks(data.id, true, lastTrackID).then((data) => {
        data.result.sequence.forEach((element) => {
          rotorTracks.push(element.track);
        });
      });
    }

    mainWindow.webContents.send('setTracks', rotorTracks);
    mainWindow.webContents.send('hideLoader');

    return true;
  })

  // Моя волна
  ipcMain.handle('setMywave', async (event) => {
    nowPlaylist = [];
    let myWave = [];

    let lastTrackID = null;

    await client.rotor.sendStationFeedback('user:onyourwave', {type: 'radioStarted', "from": 'web-main-rup-radio-main', "timestamp": new Date().toISOString()}, null).then((data) => {
      // console.log(data);
    })

    mainWindow.webContents.send('setLoader');

    for (let i = 0; i < 25; i++) {
      if (i !== 0) {
        lastTrackID = myWave[myWave.length - 1].id;
      }

      await client.rotor.getStationTracks('user:onyourwave', true, lastTrackID).then((data) => {
        data.result.sequence.forEach((element) => {
          myWave.push(element.track);
        });
      });
    }

    mainWindow.webContents.send('setTracks', myWave);
    mainWindow.webContents.send('hideLoader');

    return true;
  })


  // Любимые треки
  ipcMain.handle('setMyloved', async (event) => {
    nowPlaylist = [];
    let likeTrackIDs = [];

    const data = await client.tracks.getLikedTracksIds(client, accountData.uid).then((data) => {
        data.result.library.tracks.forEach((element) => {
          likeTrackIDs.push(element.id);
        });
        return data;
    })

    const tracks = await client.tracks.getTracks({"track-ids": likeTrackIDs}).then((data) => {
      mainWindow.webContents.send('setTracks', data.result);
    })
  })


  // Поиск
  ipcMain.handle('search', async (event, data) => {
    let best = [];

    await client.search.getSearchSuggest(data.searchText).then(async (data) => {
      if (data.result.best) {
        if (data.result.best.type === 'artist') {
          best = [{type: data.result.best.type, id: data.result.best.result.id, name: data.result.best.result.name }];
        }
        if (data.result.best.type === 'album') {
          best = [{type: data.result.best.type, id: data.result.best.result.id, name: data.result.best.result.title }];
        }
      }

      return best;
    });

    return best;
  })

  // Лендинг блоки
  ipcMain.handle('lendings', async (event, data) => {
    let lendings = [];

    const ALL_LANDING_BLOCKS = [
      "personalplaylists",
    ];

    const allBlocks = ALL_LANDING_BLOCKS.join(",");

    lendings = await client.landing.getLandingBlocks(allBlocks).then((data) => {
      lendings = data.result.blocks;

      return data.result.blocks[0].entities;
    })

    return lendings;
  })

  // Открытие ссылок
  ipcMain.handle('openLink', async (event, data) => {
    require('electron').shell.openExternal(data.link)

    return true;
  })

  // Играет сейчас
  ipcMain.handle('openPlayNow', async (event, data) => {
    require('electron').shell.openExternal(`https://music.yandex.ru/track/${nowPlaying}`)

    return true;
  })

  // Сохранения скина
  ipcMain.handle('setSkin', async (event, data) => {
    fs.writeFile(skinPath, data.link, (error) => {});

    return true;
  })

  // Удаление скина при ошибке
  ipcMain.handle('deleteSkin', async (event, data) => {
    fs.writeFile(skinPath, '', (error) => {});

    return true;
  })

  // Получение скина
  ipcMain.handle('getSkin', async (event, data) => {
    skinData = await getSkinFromFile().then( () => {
      return skinData;
    });

    return skinData;
  })

  // Поставить лайк
  ipcMain.handle('setLike', async (event, data) => {
    await client.tracks.likeTracks(client, {"track-ids": nowPlaying}).then((data) => {
      mainWindow.webContents.send('showMessage', 'Трек добавлен в "Мне нравится"');
    })
  })

  // Поставить дизлайк
  ipcMain.handle('setDislike', async (event, data) => {
    await client.tracks.dislikeTracks(accountData.uid, {"track-ids": nowPlaying}).then((data) => {
      mainWindow.webContents.send('showMessage', 'Дизлайк поставлен');
    })
  })

  // Выход из профиля
  ipcMain.handle('logout', async (event) => {
    fs.writeFile(tokenPath, '', (error) => {});
    await session.defaultSession.clearStorageData();
    app.relaunch();
    app.quit();
  })

  // Текущий плейлист
  ipcMain.handle('nowPlaylist', async (event, data) => {
    return nowPlaylist;
  })

  // Рекомендации по плейлисту
  ipcMain.handle('setPlaylistRecomendation', async (event, data) => {
    let tracks = [];

    mainWindow.webContents.send('setLoader');
    for (let i = 0; i < 25; i++) {
      await client.playlists.getRecommendations(data.uid, data.kind).then(async (data) => {
        data.result.tracks.forEach((element) => {
          tracks.push(element.id);
        });
      });
    }

    await client.tracks.getTracks({"track-ids": tracks}).then((data) => {
      mainWindow.webContents.send('setTracks', data.result);
      mainWindow.webContents.send('hideLoader');
    })

  })


  let locked = false;

  // Разблокировка окна для перетаскивания окон
  ipcMain.handle('movingWindowStarted', async (event, data) => {
    if (!locked) {
      const { width, height } = mainWindow.getBounds();
      const newWidth = width + 500;
      const newHeight = height + 500;

      mainWindow.webContents.send('unlockWindow');

      mainWindow.setBounds({
        width: newWidth,
        height: newHeight
      })

      locked = true;
    }
  })
  
  // Блокировка окна для перетаскивания окон
  ipcMain.handle('movingWindowEnded', async (event, data) => {
  
    if (data) {
      const windows = data.windows;
  
      windows.forEach(window => {
        if (window.key == 'main') {
          settingsData.windows.mainWindow.x = window.x;
          settingsData.windows.mainWindow.y = window.y;
        } else if (window.key == 'playlist') {
          settingsData.windows.playlistWindow.x = window.x;
          settingsData.windows.playlistWindow.y = window.y;
        } else if (window.key == 'equalizer') {
          settingsData.windows.equalizerWindow.x = window.x;
          settingsData.windows.equalizerWindow.y = window.y;
        } else if (window.key == 'milkdrop') {
          settingsData.windows.milkdropWindow.x = window.x;
          settingsData.windows.milkdropWindow.y = window.y;
        }
  
      });
    
      fs.writeFile(settingsPath, JSON.stringify(settingsData), (error) => {
        if (error) {
          console.error('Error writing to settings file:', error);
        } else {
          mainWindow.webContents.send('lockWindow');
        }
      });
    }
  
    locked = false;
  })

  // Блокировка окна для перетаскивания окон без сохраения
  ipcMain.handle('movingWindowEndedWithoutSave', async (event) => {
    mainWindow.webContents.send('lockWindowWithoutSave');
    setTimeout(() => {

    mainWindow.center();
  }, 100)

  })

  // Увеличение окна
  ipcMain.handle('setRatio', async (event, data) => {
    settingsData.zoom = data.value;

    fs.writeFile(settingsPath, JSON.stringify(settingsData), (error) => {});

    setTimeout(() => {
      app.relaunch();
      app.quit();
    }, 3000)

  })

  // Получение настроек
  ipcMain.handle('getSettings', async (event) => {

    if (!settingsData.windows.milkdropWindow) {
      settingsData.windows.milkdropWindow = {
        x: 275,
        y: 12,
        size: [7,8],
        visible: true,
      };
    }

    if (!settingsData.api) {
      settingsData.api = {
        enabled: false,
        port: 8080
      };
    }
    
    return JSON.stringify(settingsData);
  })

  // Настройки API
  ipcMain.handle('setApiSettings', async (event, data) => {
    if (!settingsData.api) {
      settingsData.api = {
        enabled: false,
        port: 8080
      };
    }

    const wasEnabled = settingsData.api.enabled;
    const oldPort = settingsData.api.port;

    if (data.enabled !== undefined) {
      settingsData.api.enabled = data.enabled;
    }
    if (data.port !== undefined) {
      settingsData.api.port = parseInt(data.port) || 8080;
    }

    fs.writeFile(settingsPath, JSON.stringify(settingsData), (error) => {
      if (error) {
        console.error('Error writing to settings file:', error);
      }
    });

    if (mainWindow && !mainWindow.isDestroyed()) {
      stopApiServer();
      if (settingsData.api.enabled) {
        const port = settingsData.api.port || 8080;
        createApiServer(port, mainWindow);
      } else if (wasEnabled) {
        mainWindow.webContents.send('showMessage', 'API сервер остановлен');
      }
    }

    return true;
  })

  // Задать размер
  ipcMain.handle('setSize', async (event, data) => {

    if (data.id == 'playlist-resize-target') {
      settingsData.windows.playlistWindow.size = data.size;
    } else if (data.id == 'gen-resize-target') {
      settingsData.windows.milkdropWindow.size = data.size;
    }

    fs.writeFile(settingsPath, JSON.stringify(settingsData), (error) => {
      console.log(error);
    });
  })

  // Сохранение EQ
  ipcMain.handle('setEQ', async (event, data) => {
    fs.writeFile(eqPath, data.link, (error) => {});
    console.log(data.link);
    mainWindow.webContents.send('showMessage', 'EQ сохранён');
    return true;
  })

  // Получение EQ
  ipcMain.handle('getEq', async (event, data) => {
    eqData = await getEQFromFile().then( () => {
      return eqData;
    });

    return eqData;
  })

  // Сбросить настройки
  ipcMain.handle('resetSettings', async (event, data) => {
    fs.writeFile(settingsPath, JSON.stringify(resetSettings), (error) => {
      console.log(error);
    });
    setTimeout(() => {
      app.relaunch();
      app.quit();
    }, 3000)
  })

  // Milkdrop fullscreen
  ipcMain.handle('toggle-milkdrop-fullscreen', async (event, status) => {
    if (status) {
      currentBounds = mainWindow.getBounds();

      mainWindow.maximize();
      mainWindow.webContents.send('setFullscreen', status);

    } else {
      mainWindow.webContents.send('setFullscreen', status);
      mainWindow.restore();
      mainWindow.setBounds(currentBounds);
    }
  })

  ipcMain.handle('isPlay', async (event, data) => {
    if (data) {
      play.icon = nativeImage.createFromDataURL('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASCAYAAACw50UTAAAAAXNSR0IArs4c6QAAAQ9JREFUOE/FlbESwUAQhnfzLswo6YxOoTBDyzsoeQQlHaWSjoKhVJ4uoRGqoFFKR3dmw0oGiRM345rM3F2+/78/uxccToUEzcN2HBh0e4AEzxez2vDz2QL6oyFshOXDTcv+WcA9ukCuhRBwWG3+BG+3ut5J6o2a8onIuWmZYK1t2C0jnBO8VC7DZDxWFgnCI2NhONtWEfna+XMmUSKxnauIaINXKwVPL1jCQfh+tQ0vxefM2fk7KK/Fdh4FfQ9XcK4C/RqeSadeMv3UTaGZ04WjY3CHPj4oQenCObsnHXyv/Q9ULc1OX5La5XzRAmaI5zyZyEkABDTQhyMC8i8Eb/PIT+B9/n7j/q6ktfs0SgOutQw52vzOQLoAAAAASUVORK5CYII=');
    } else {
      play.icon = nativeImage.createFromDataURL('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASCAYAAACw50UTAAAAAXNSR0IArs4c6QAAAPZJREFUOE9jXLv12H8GKoPr9+8zrJmzjIERZLiTlyXVjN+37TjD0nVrGe6duYkw/Nz56xRb8OH5BwaQq48dO8bw/PqjATC8t2cqii+KS7LhfHxyIJefO3+O4fy16wzPrj7E7nKQAb5+fmADI8LdGJCDDJ8csuE4g2VkGz4a5vBkSr/UcgNHDjUy1ETJRMjpHJ8cTpeDChxqAFgOfX79MSSHggwFFTjfP7ynhvng7A/OoS1Tlv4H2fbj+w+qGAwz5AXI5To6rv8ZGBgZGBkZEYYzMjIwwqoQEJuRkeH///9gGgRh4D8jAwMjiGBgYGBkQoiD1IC0AwDEdnVTCfcsTgAAAABJRU5ErkJggg==');
    }
  })

  ipcMain.handle('nowPlaying', async (event, data) => {
    trackinfo.label = data;
  })

  // Управление громкостью
  ipcMain.handle('setVolume', async (event, volume) => {
    if (mainWindow && !mainWindow.isDestroyed()) {
      mainWindow.webContents.send('setVolume', volume);
    }
    return true;
  })

  // Получение текущей громкости (можно расширить позже)
  ipcMain.handle('getVolume', async (event) => {
    // По умолчанию возвращаем 50, можно сохранять в настройках
    return 50;
  })


})

================================================
FILE: package.json
================================================
{
  "name": "yaamp",
  "version": "0.0.6",
  "description": "Winamp + Yandex Music",
  "main": "main.js",
  "targets": {
    "main": false
  },
  "scripts": {
    "copy": "xcopy bundled dist /e /Y && xcopy res dist /e /Y",
    "clean": "rmdir /s /q node_modules && del /f yarn.lock && yarn cache clean && yarn install",
    "build": "yarn run copy && yarn build:src",
    "build:src": "npx parcel build --public-url ./ ./src/index.html",
    "watch": "npx parcel watch --public-url ./ --hmr-hostname 127.0.0.1 --hmr-port 54439 ./src/index.html",
    "test": "jest",
    "electron": "./node_modules/.bin/electron .",
    "start": "yarn run build && electron .",
    "pack:win": "electron-builder build -w --x64",
    "pack:linux": "electron-builder build -l --x64",
    "pack:mac": "electron-builder build -m --x64",
    "pack": "yarn run pack:win && yarn run pack:linux && yarn run pack:mac",
    "dist": "yarn run build && build --x64",
    "deploy-webamp": "cd webamp && yarn deploy && copy packages\\webamp\\built\\webamp.bundle.js ..\\src\\webamp\\"
  },
  "homepage": "https://yaamp.ru",
  "repository": "https://github.com/umnik1/yaamp",
  "author": "Maksim Chingin <colorless-unknown@yandex.ru>",
  "license": "MIT",
  "dependencies": {
    "axios": "^1.5.1",
    "bufferutil": "^4.0.8",
    "discord-rpc": "^4.0.1",
    "electron-is-dev": "^1.0.1",
    "electron-log": "^3.0.1",
    "electron-updater": "^4.0.6",
    "encoding": "^0.1.13",
    "form-data": "^4.0.0",
    "html-to-text": "^4.0.0",
    "left-clicky": "0.1.1",
    "mime-types": "^2.1.22",
    "parcel": "^2.9.3",
    "utf-8-validate": "^6.0.3",
    "yandex-music-client": "github:umnik1/yandex-music-client"
  },
  "devDependencies": {
    "@types/jest": "^24.0.11",
    "@types/node": "^10.14.1",
    "@types/webdriverio": "^4.13.3",
    "electron": "^13.0.0",
    "electron-builder": "^24.0",
    "electron-debug": "^3.2.0",
    "eslint": "^5.15.2",
    "jest": "^24.5.0",
    "parcel-bundler": "^1.12.2",
    "spectron": "^13.0.0",
    "ts-jest": "^24.0.0",
    "tslint": "^5.14.0",
    "typescript": "^3.2.4"
  },
  "browserslist": [
    "Chrome 69"
  ],
  "build": {
    "appId": "me.umnikone.yaamp",
    "productName": "Yaamp",
    "copyright": "Copyright © 2023 Maksim Chingin",
    "files": [
      "!.*${/*}",
      "!src/*.*",
      "!artifacts${/*}",
      "!docs${/*}",
      "!bundled${/*}"
    ],
    "directories": {
      "buildResources": "res",
      "output": "artifacts"
    },
    "mac": {
      "category": "public.app-category.music",
      "target": "pkg"
    },
    "win": {
      "target": "nsis-web"
    },
    "linux": {
      "target": [
        "AppImage",
        "deb"
      ],
      "category": "AudioVideo"
    },
    "publish": {
      "provider": "github",
      "owner": "umnik1",
      "token": "<token>"
    }
  },
  "jest": {
    "transform": {
      "^.+\\.tsx?$": "ts-jest"
    },
    "testRegex": "(/__tests__/.*(\\.|/)spec)\\.tsx?$",
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js",
      "jsx",
      "json",
      "node"
    ]
  },
  "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}


================================================
FILE: res/icon.hqx
================================================
(This file must be converted with BinHex 4.0)
:%$N`-$3h1$"M0Q3cBc3a0@B%9%9B9(4dH(3%!!!!!Y!!!dYGL+9)EhFJG'mJGA0
P)(4SDA-JD@0[EMS+#P0dCA!J-6SJ3fp`H5"dD'8JD@0[EL"dEb"dD'8JBfaTF'*
[BA*N#Q%T)%0XD@0V)'pZ)(4SDA-JCQPXC5"QFQpY)(4SC5"'D@jNCA)+BLNJ3fK
[Eh0P)#G(CA3J5@jQEbFJCR*[E5"dD'8J*dCTE'8R)'ePER8Z#Q-T)%PZ)(4SC5"
TEQC[)(GTEQ4[Gb"dD'&d)("[F(-JGA!X)'0XD@0V)'pZ)(4SC5"TBfpZ#Q3T)%0
SEfpcC5!R3fp`H5FJCR*[E5"dD'8J*d9NDA3R)'ePER8Z#Q8T)%0XEh0P)(4SC5"
TEQC[)(GTEQ4[G`S+8h4PF#!b1L"3BA0dC5"dD'8JD@0[EL"dEb"dD'8JC'9cDA*
PC#"TG'9Y#Q%T)%G[)(4[)(4SC5"TG'9Y)'PZ)(4SC5"'D@jNCA)JG'KKG#"jEh8
JGf&ZG#"K)'0eFh4[E5"TBfpZ#Q)T)%0XD@0V)(4SC5"TG'9Y)#KQD@aP,#"QEfa
NCA)X)'4TFfXX)'9dBbNJ#Q)T)%0SEfpcC5!R4f9d)%PZCQmR)'CbEfdJG'KP)#G
'D@aP*b"YC@je,JTM+5"*EL"dD'8JD@jQEb"hD@jNEhFJG'KKG#"`Eh"c)(9`,#"
ME'PMDb"[EL"dD'8JD@0[EJTN+5"$D'p[Ff8J*e"KFh4P*b"QFQpY)(4SC5!R4@4
TG#FJE@9ZG5i+C5NJ3fa[Ff8JG'KP)'PZCQmJGfPZC'ph#JT6G'9`)$-k)!T&EQT
[H5"jEh9b)'jPGfaj)'0eFh4[E@PkC@3JD@0[EL%+#NC[FL"YEh*P)(4SEh*[G@G
S)'4TFQ9MG'P[ER-X)(0PC5""F("XC5Gc)(GPBR0TG'8JBA3k#QKdG(!k,bphGhF
ZBA"`E'8ZBfpY,h0eF("[FR3[E@&M-6!a,f0eFh4[E@PkC5mf,`V6V!!!!3!!!dX
V!!0++`!!!$)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!dSRD@0ZF`!$5LGTFc-b!!!#p3d!!!%!!!J)!`-+'ASL"i!!(!%
!!!X+!`m0!`$r0cIrr`%!!!d0"")B'3S!DYHAJ3"r$`m&&L!E!b5Jr2"Grrm!%3m
&'bJ6$A(Zrrpb!!!(%"%&)LJ03-Rrq[q4!!N,#48'*"mKP2[rqIrG&4)1!JB)+LP
Bh[rlqrrlrlN,&`d###`Sd2rirIrkqIqi"4N3!L!-'hpcVIrfrrQQB88A!3!U@aT
)G[,prmXc!Me5(h-b!3!)!%lZrr"Y!J!"J!!3!J$rreMXrCmF!!-#!!8!!!D!!!@
Cf@J!!31&!!ErkcJfr`!$L!!%"bKk&3'"!!!"J3!0!!!%!!!R-a-60#PU'JD!!"`
&!!!`-Jj46JXCrb`Vk[m&!!!d04&9Fh0-!&HSJ)%!IcJk%ParGea0L-R+6rrr!$X
l%f+2Ge*X`Gr4A!!!!MBl%QfDD&UKh0E9K$-C6bT#&(D9A)(2hFhAXc9`5`dU')+
5BkrBdYr9cY#@8A41$aH+J+hTbpVA`F$JNdTk83jY)f#%E*VAX-c9LAbC@!dT5ji
XBA1m`0bU+33q9LH,33!!#!!l`Gr,@J%!!B!!%!d!rrp'cpQ$&`!#!J!&!!F%J!!
+Jl99!!%#!!!"!!#!!J[r`5iXr`!$!!!"!!#!!S!!$3BJDa%!!3%!!!-#!J!!$3!
!"3!!+cF8&$JI,3F#J!!F"3!!0$82@&8-+6N3$NkY"3!!0cN5A(Yj9`8I15f"!"S
l240LKRp[4$9(44k'R!!q2a4RPSCE0%"A54q!!&mi2K0`TAP#1%a@8MP#&eFX4"4
lT9Sf4P*-8$icI&%1,KQ(Qcdp89Y`8%T*0Pap9"!AMiB`88TM9Mdq65Y8JeF3Fb4
P9$p(8Lp#6$jhS9i1,8ZC*h092MP23!d+398SM81!!!3428a-)B-!#!i!NR)E6%m
a#)%!!`8!"`5!!"``3Km!!!%!!!%!!!-#!R"(%4#6!!)!!!%!!!-#!S!!$3)+,J8
!!3%!!!-#!J!!FcKYD`!!!3J!!!!!!!3!P*3!"!)!"`!!!!!!!!-!I[rrI`!!BUB
!!!!!!!3!JIrlr2q,U2rB!3!!!!3!JIrkr[lmr[crV!!"!!-!JIrkr[rrr[VrjK-
!!33!JIrkr[rqrrrqr[pq!!-!I[rkr[rqrrrrrrlprhi!P2rlr[rqrrrrrrlrr[[
rP*6rqrlrr[rrrrrqrrllrj3!I[rpr[rrrrrqrrlkrhi!!`#!rrlqrrrqrrlkri)
!"!%!#p[rqIlrrrlkri%!!`!"!+Arr2lmr[lkri%!!`!!!!$@rkZ-rrclri)!!`!
!!!!!T'B!!(rrrhm!!`!!!!!!!!F!!J3!PC8!"!!!!!!!D@`c-J!!#Gq(!)!"J`#
!!B%!!`cr!2q)!!)"!3+!!!%&"B!!"!%"!!!'M!!#!3%#J!!$"4-5"))!!!b-!)!
#J!!3"KB8%K)%!!!(*[m!0B!&&"H&!)!#J!!4"aJA&4-6%J3"!!!,GrhB#LY&K!#
!!S!!%JFE'4F@&4-6&J8!4XrrrqBGjrq$!!)#!J1!!"-)(K`D'4F9'4B!'CcqrI2
r[38PIB)!!J)#!i!!%3NJ(K`E'4SH#J&Rl2rkpIrK)i3!J!1!!"%+)b%I(K`K'!!
`a2rpqrRqqN5%!)!$J!!4#L8N)5!L)`F-L[Vrqrhlq[pKJ!!'#!%"!!-$")!!%`X
S*L-M+4J!6Ylrr2cqr2RrM3!*J!#!!3%$")!!&3`V+58U*`3IVIrpqrlrrI[rY3%
8%J5!!!)"!35!!"F-,5SU-"8'F2(rqrcrr[lmrmN,%aB5%J5!!!!"J!!C$6!Y-LF
$1F[rr2cqrrlrr[crRaX*&"36%J5#!!N1-c!a%a18rIrlJ2d#r[lrJ2i)rIpM!4S
6%a)%J!!V%$Bb0491j2rjq2Vkr2cqrrlrr[hfrj)!("86%K)&!!!30c-h$EcrpI[
lrIq"rJhrrI[pq2qV!"`@&436"B!!'`mf1`fQrr[rr[rqr[rrrIVlrI[prhd%(KF
@&J@#!"N12K+'lEbiPG6rrIlkqIhmr2r"*`!,%KJC"S!!!!@!!"F4+3JC3!dqp[r
mq2[pr2rdF%HLPQJm)3D!!!)""!@!!"F5Tq+A6IMrq[Vpr2hrVam!0'+"V-`a!!#
!!3)$"!Z!!!8j'#EXrrL!r!Ari%m!!31"!!S#!J!!#!%"!!-&"S!!%5,TrrRpqrr
lM!`!!`)!!3-%!i!!!J-"!B3!#b2CrrVmr2r'-!!#!iB!!JS0$i3!#a2(rrRmrqj
S!3!$!BB!J!'#!!aZ'!1drrIrrTiB!!-#K`#!!B-!#[E#(HErrp"'!!%$L!#!!B3
!#6iS#YIrH!X!!!1)!)!"K3!)&a-&JM8!eMd'L!#!!B`!!JS"!BF!J!'-!!3&!!!
#!S8!J!')!!0H!!!-J3!#!3%#J`#!!BF!K`!#"`F*J`!##!B'J3!$#Im!riJ!!JF
(#B!!!4mIJ!!%#!J!!!@-!!))#!U!!!-FDQFEJ!!##J!,M!!##!J+J!!3(QjTCQB
E!!!%*Im!,'3&%K1&!!))#!Z!!!FJFfjTCfGQ'S!!"JKNaEJ**6U%!!)*#3Z!!")
KGh0ZE@TQCQiF!$Q`d,r''YArJ`!##3N,J!!6)RaiFR&[DR"[150php+LiU%#&fH
#!!)*#3b!!"%NJAehGR*bHeJF8-2PckVA`4b%!!)+#Jb!!"%PKS&mHRCrG$!XR1,
9dVM1f$L%!!)+#Jf!!"%QLiD!IB#'84jVe0l-eXE)j8f!!!B0#3B!#JS0J!!6*j!
!Li5$MR3T2l6MdXl@dmIQEadPJ!!%#!B'#`f!!"8TP)q(N!#15#@(hYR0dG,@c1@
8&'YQ'i!!!JJ'$S!!&bUCNSqFEL4AbH,3d0,4dXrCT"9UE'CR'i!!!!L!!"NVRTH
HN!!m-D(Ldmh2cp,4dFrDJb)cC'KRCKZ#!!iYSjfICL4bfH$6epRKjp+!d3R6fG4
*4(0QCfBEJ!!p-kUITP-jZ0h)`m'rbZhHcp(9dm@pi(JjGfPRCQFH!!!cV+'X3Tl
Mamc,cXlQfmc8em5ea-hKMc0kDfPTDKq!!"XZU,02K1MEhq,9iY[2fFQYXmh4hGp
D-haXEQiGJJ!C,,KJBlk9PhUri0(6VD,$dp6KR5-PD'jbFak!!!!2J!!A0S3N1em
C2GE@`jqadY2HcPa(ZY#VMRSIJ!!##3X2J!!9-G[hS8VKeE'SbY6AhBmD!$4HHDM
41i!!"!N(#`X5J!!1-43LdmQV[Y66i,T!!!!#J3!+!3)!!!i("`!,$a#!!"FJcX+
ecp2EeA)+!!)"!!%$"!-"!!!*"`H%!!XJYmE&dYAJSLF!!3+$!!8"!!!0$a#%!!X
3Sp2-dq,(9!%!!J'$!!)"!!#!"))!$&S2!CEJbpcEJ"3!!J+%!!8"!!!&"!5$!!V
DY4[$eZ5X13!"!S8!"3%!!!8%")3!#68H"lhCBJN!!!5&!!8"!!!&"!5&!!S5%!4
V,!#`0`-!!S-!"3)!!!8%")`!"3N!"`!!!S%!!J)!!)!&M!!-"!!!"`B!!!)!!!)
!!)!&L!!$9`!!#i%!#`8&"J!!!J)!!!B&"BF!K`!##!J+J`!##3F(J3!$!l8!NiJ
!!JJ)#S!!!5)LJ!!%#3N!!!+-!!))#!U!!!-IFh%GJ!!#$!!%M!!##3N,J!!&)AG
aEh!HJ!!(%Im!%#)#"`H&!!)*#3Z!!!FLHhGbF("[(B!!"J)Q38!%$a@%!!)*#3b
!!")MJ(YfGA0ZEhBI!"9$4cT+#8eMJ`!##3S-J!!6*)5!HRThFhGh54NX8NmT8cX
!##@#!!)+#Jb!!"%QLB4rIRTjJQ8N'N959$*-4`U%!!)+#Jf!!"%RMSQ$JRk'IMm
80&4,9d*(845%!!)+#Jf!!"%SNSk)KBH0B"`L690(@&0$9KQ!!!B,#3F!#`X1J!!
6+CH5LiU8Ic3@2P40599M49BN+bD!!!3*"`F,$S!!&5ZFPSk@P9FA,&*35de,Ade
8-4YdEaf!!!)*"`k!!!NXS*Q@SAXT'dK9J%d+6%j06cS8GA4ZF"k!!!!*J!!0,D@
HSjP*&$955NG'4df!6!K3-"8iE(&[Eak#!!iZUU5PFamN89K@AQ0cI%k!6!P16dN
98RTZF(!HJ!!p0E#QV&S23eG36Ne+8SjR5%a36N%p8LP)IR&`Eh%K!!!eXkHa5M4
95%K(4d4hB%0388!b3%Y8-$q"Fh*aFb'!!"X`VVKD+eK58e0,G'0'988U-8P18P-
C2)4dGhFIJJ!C,VeY'N!X05TKC%P2+L!r8%j6-3B`F(CkHb'!!!!2J!!A1)SL1@)
K+'*03"i[6Np36#"*`p5aPB-LJ!!##3`2J!!9-YrhU$4N5M!Q4P&18$3*!$4FH+I
42)!!"!S($!`6J!!,,aF3@d!V1P"1883AK!!+!3)!!!i)#!!-%!f!!"F5@$Nd5P"
265S$!!%!!!%$"!-#!!!*#!L%!!J856Y$6dj41`k'!!8"!!!0$a'%!!S)28C,6P*
*(`!!!B3!"3%!!!8%"))!#5%'!$G35e"3,`H(!!8"!!!&"!5$!!T33JT(6P-r&3!
!!B8!"3%!!!8%")3!#4-,!N92)`-!!!1&!!8#!!!&"!5&!!S'"3%R%!"!'`!!!S-
!!J)!!)!&M!!&!`!)!!!#J3!&!J!!"J8&M!!2!3!!#!F!!!)!!!)!!!B&"BJ!!b!
!!!5"!!X'"JF!!!)#!!!'"3@(!'`iE@X!!!3)!!!!!!!!!!!!!!!!!!3!PTB!"!!
!!!!!!!%$!!!!!!!!!!!!!!!!!!!!!!!$!)$rri!!!`!!!!!$!!-1!!!!!!!!!!!
!!!!!!!!!!`#$rr[lri-!!`!#!`!4XiB!!`!!!!!!!!!!!!!!!!-!J[rkr[lkri-
!"!!!BZErQ3!$!!!!!!!!!!!!!!!$!),rq[lrrrlkri3!,X$rq[qZ!!)!!!!!!!!
!!!!!!`##rrVqrrlqrrlprEM[rr[lrm3!!3!!!!!!!!!!!!-!J[rkr[rqrrrqrrl
mrrhmrr[rZ3!"!!!!!!!!!!!$!),rq[lrr[rrrrrqrrllr[rprqBK!!%!!!!!!!!
!!`##rrVqrrlrrrrrrrrrrrlqr[rc3!!#!!!!!!!!!!-!J[rkr[rqrrrrrrrrrrr
rrrllrki!"3!!!!!!!!!$!),rq[lrr[rrrrrrrrrrrrrrrrlpri8!!`!!!!!!!`#
#rrVqrrlrrrrrrrrrrrrrrrrrr[lmri-!!`!!!!-!J[rkr[rqrrrrrrrrrrrrrrr
rrrrqrrlkri-!!`!%!)2rq[lrr[rrrrrrrrrrrrrrrrrrrrrqrrlkri-!!`#!rrV
qrrlrrrrrrrrrrrrrrrrrrrrrrrrqrrlkri!!P[rlr[rqrrrrrrrrrrrrrrrrrrr
rrrrrrrrqrrllrjD9rr[qrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrlrr[[rPJ"rrrV
qrrlrrrrrrrrrrrrrrrrrrrrrrrrqrrlkri!!"!##rrVqrrlrrrrrrrrrrrrrrrr
rrrrrr[rqq[q$!!3!!`##rrVqrrlrrrrrrrrrrrrrrrrrrrlrr[VrJJ!$!!!!!`#
#rrcqr[rrrrrrrrrrrrrrrrrqrrlkri3!!`!!!!!!!`#'rrhqrrrrrrrrrrrrrrr
rr[rqq[q%!!-!!!!!!!!!"3#@rr[qrrrrrrrrrrrrrrlrr[VrK!!$!!!!!!!!!!%
!)YIrrIlqrrrrrrrrrrrqrrlkri3!!`!!!!!!!!!"!"I@rrcrr[cqrrlrrrrrr[r
qq[q%!!-!!!!!!!!!!!%!Yrrkrrcprrcqrrlrrrlrr[VrK!!$!!!!!!!!!!!!!3$
"rr[lrr'lrIhqrrlqrrlkri3!!`!!!!!!!!!!!!!$!+RrqIr&-J#&rrVqrrrqq[q
%!!-!!!!!!!!!!!!!!!-!N[rTD!%!"!#%rrVqr[VrK!!$!!!!!!!!!!!!!!!!!`"
pZ48!!`)!!`#%rr[lri8!!`!!!!!!!!!!!!!!!!!!!!d%!!-!!!!!!`#"rrq"!!-
!!!!!!!!!!!!!!!!!!!!!!!)"!!!!!!!!!`#AQ!!$!!!!!!!!!!!!!!!!!'PS-c)
!!"1"M`#!!S-!!J)"!D!!J!+&!!)#!3'H!!J#!J-!!!%!#`Z"!!)#!3'F!!S#!J-
!!!%!$"-5#S%!!J)"!B!!!`)!!!+6!!J#!J-!!!%!$4@!%J!+J3!"!J'"!!-5!"J
6N3!1!J)$!!!"!!iA&"36%K)+JJ!(!RL)!J"4q%L3!!!3!J)%!!!"!!mC&K88&"-
5%JU#!!B+!#'irrpDM`!G!`-%!!!"!"!E&aF@&438%a)5#J!$@J!&HIRrp2p`MJ!
H!`-%!!!"!"%G'4NB&aB9&"36%4-1!3!pe[rjpI[rLid!(`-$"!!!!3!5(aXD'KN
B&aB9&"-A%3!8RIrqq[Apq[pYM!!K!`-&!!!"!"-J("`E'KSC'"F@'"J&!'$Vrr[
mpr[lrkF!")S!)!-$"3!!!3!8)KiH(4`E'KSB'"d2!#V!rrhlr[Mlr2r0#B!!!!+
(!#!$!`8!!!%!&53J)"mH(4`E'KiD!!L&qIrlrIrjqrhrkKq,!#!%"!8!!!%!&bB
L)5!J(aiF(L%-!%MFrrcmr[rlq[lpr6f!!!%A!BB!*`3%"J!!!J!B+#-M)L%J(am
N'3!CU2rqqrlrrrckrr[rCJ!)!J%#!3'%!#)%"!B!!!)!'5SP*53M)L%N)`F!D[$
rqrcrr[rpqrrkri`!$)%!!J)"!B)!*!3%"J!!!J!D+bFQ*L8M*#N9!$(*rrclr[r
qrrhlrr[rX`!2&!U"!!)#!3'!!#B%"!F!!!)!'bdS+#FQ*5SM!3Z2r2rlrIrqr[r
qrIlmrp82#4B4%JU"!#`#!3%!"38(!!!#!"`[+LST*bSX$`"4i[rmr2rqr[rqrrl
qrIra,!)C%a-5%JU"!"J#!3%&"`!!!J!G-5`X+LS`)!!IX[rpqrlrJ2i"rrq"rJV
r43!9'"88%a)5#S%!&J)""`!!!J!H-bdY,$!Y#!&dp2rlr2rqK2m1r[lrqD&'"!8
6&4-6%K)+J3!'!J!!!J!I0B![#c3D!$R4rrcmrrrqri(q!IrqJ2q!rJVrf#)''43
8%a)5#S)!+`%!)$Fa-$!U"!qDrrlkr2hmqrVlqrcqrrlqrrlqrrljprp-!"X9&"3
6%K)+J!!$!J!M1)!b#$-!6HRrqIMkqS$j"[[prIlrr[q!rL(rrI[mqrpK!"d@&43
8%a)5#`!!!J!N16-c-MB!U2rhr[rqJ2m%r[rqr[q"rK,rrIVlr[rkrhF!(KF@&43
8%K-,J!!+!J!L16-c13#-rrZ!rJEpr2lrrIhrJ2i6rrlkqIhrrrhhrj)!(KJA&K8
8&3b#!#N#!#)j-MX"G[rhr2lrr[lrr[lrr[lrr[[hqrrrr[[mrp3c!"`C'"F@&`f
"!"))!!!#!#)j1`CJrr[qrrR[dHlrJ2jrrrchqIlrrrhlrrCf!`FH(4XC&aN1!!%
!!!)&#!!!!J!K2a-RHP8k)5-!4[Mrr[rqq2EmrrrqqrhrVa-!#`m,$aBB'`m!!3!
!!`)&"3J!!!)!*5N!!!3VA33dm[rprr[fqIlrr[cmrqCA!T(ph,5&8LJI%!!"!!!
$!J)!"38)!!!S!`!SLF6drfFLl[rpr[MirIrrrI[rr*%2!"YEETM'l[lrE!!(!!!
$!J+!!"`&"3J!!!J!Tp@&-KAIrrcmpr[rrrllr2r+0!!#!i)!#3)P8`X#!!!2!J+
#!#!&"4)!!!3!!3!4e2rlq[Rqrrrmqrr`E3)!!`%!!!-$"!+!!!8"!!!$!J+%!"F
'"J`!!!J!$XVrq2RmrrrqqrlrUKX!!`+'!!-""`!!J"H'!"3)"3!!!3@krrElr[r
qr2crh8S!!31,!)!$LJ!3"3#XrrEprrrpqrrjK`S!!`',!!)#!3'(!")(!3!*!*[
rq2lrr[[prm%X!!)$M!!#!J%"LJ!2#!#*rrVrrrclrqYM!!!$!B`!!J)"!B`!$'I
rq[lqqrlrRa8!!`+0!!)#!3'0!!U,rrVmr2rB2J!"!ii!!J)"!Bi!#A$rprrjH`8
!2311!!)#!3'2!!CDrrqk)J!+J!!!!B`!!J)"!C!!!!G)qe-!!P!a!S!!!!'+!)!
#N3!$&"N!%)%!"!)#!!!"L!#!!T-!!`)!!!+!!)!#!J!!!B-!!J%!!)!#R!!&!J)
$!!!"J3!#!3!!J!+H!!S#!J-!!!%!!!%!!)!#S!#!!S-!J!+2!)m!#`S+$J!!"!3
!!!d*#D!!$3S+$`!!!`)#!`!!$JN*RJ!2#JS3!!!&!%*#!!3!!!i*#C`!%3X,$`!
!"3""E'Sq!!3!!!d*#B!!!`%!!!'6!"),#a!!!!8!3h"NBfXq!!3!!!i,J3!$$J!
6$j%!'`X,%3!!"3"&G'KSCQ0V2J!%!!!%!@0[!3"#`cq3!!!5$!`4!!!&!%ChDfY
TD'CMDci!")!!"JJ!'Tc*hNb2!"d-$")!!!B!5(TZEQeVD@KQBfXp!!CC!!4JfXZ
Xk&b1!"i-$"-!!!B!5RjaFA"ZE@YTD'CKEd-!!$+ak-ZEcq*hM3!I$3d5!!!'!%b
"G(4cFA"ZE@YSD("B%Jq"hYV5P-24j9Z-!#%0$4-!!!B!6S9hGhCdFh&`EQYbELi
!5mAKcYQKYY6JM3!$LJ!J$3d8!!!'!&#)HRYjGhCdFfpbH9!%(ClLeX[FX,,@fki
'J!!!!BF!)!d0%`!!"J"5LheqI(YjH(9cI@dI!@[9hFl1flq`eYE(')X!)!i1&3!
!"J"8Mi#"IhjmHRGpId-!0VILdFr3f-fbeY(A-S!!!4!'KJ!R$Ji9!!!(!&D5Ji5
#JApmIBGQ%!k+hpM1dG$8f,I8cpp9!!S!!!m*#B3!+3i2&3!!"`"BPSD(KS5"IiL
!-J"8bq$2d0,4dYr"dFlLG!-h!3-!!!d*#B)!+`m2&J!!"`"DQBQ+LBH$KijC!b1
Qip61dG,5d0r1cXrIQ3"-FMd!"!!!$JN*J!"c$`mA!!!(!&bFM)f-LBL6I#!$FpR
FcY(5dG,4eGA1d0Uf#$a`B@Xq!!3!!!i*#3!2$aB!!!F!AU#2NBk,Nj*)!$fqiY(
2dY(4dY,4dY(4eXmJ+h*PCQ0V2J!%!!!0#3N3&`!!"`"JSj+8N!#5RA%2%T,Keml
4JG)#dG(5J0&ZdcN!AR0VCfCMDci!"!!!$JNB!!!)!'+QPT@6Rj%e!&c4hmr3dG$
2cml4dY(4dY(5cB8l!KYIE'GQBfXq!!3!!!i!!!F!C+UCQCfLB3)SVH,5cG,8eYR
EhH28dG,5dG,4dZ2DVaBrG'KSCQ0V2J!%J!!A"J"QVCbFRSJM"RhHhG,AfGRBepV
MrZA3J0*rdG(9dm,!j6i[GfPTD'CMDci!!`!'!'k[Rk#IRa8i`p['`X'mYl'[ZX6
Uimh5dY(3e0E%YmA2i8XNH@YVD@KQBfT#!!-'!'qaS+'JT455j-R2d0$4dp6@dql
RcY,4d0,BbDffcp61i&iEHQeYDfPSC'a$!!-!"J"TXU#JUb"[iFmLdY,4d0$4cHM
QcG,3dGM2V+6&eY,3bqYq%(T[EQeVCh""!!1!!(m)!'QbRUmY@q$,cp(6eG[3jHI
1dY$AeE'AY0A9d-l6il%M'AK`F'jVG%-!"3!!'3!!#!"TX+mm6rAHhpM0aUR@kFl
4dpLkNCr0f0(2cYr5AJ!TFRGcF@jh43!&!!!2%4N!!!J!CVp3&9p!+aXK!%VLcp$
BcTU-[GR6d-l@i*%0#'a9H'jZFR"k4`!&!!!2#K!4'!!!#!"aK4dU1ek'$c2Ldp,
CYibRe0E3cp(K[dJ&NIreeVHAHRp*!!8!!!m+#J!3%4N!!!N!EYhcr[pR)Yl9eFk
IQ-ICdFr1h0Gf$3!E@fZ5[qImri!!#3!!%3S+J!!F%"%C!!!,!*r-Ic!@c0V8ZCL
eep63cY6KTLX!!3+#!!N$*P%+"3!!'!X,JJ!J%"%H!!!(!!%!%F,KbDHRcYM4cmr
Ib9N"!!)"!!!$!`3#J!!&!`!!$3X,K!!A%4%A!!!+!!kjiVLQ`0M6d-lBhBX@!!)
#KJ!'!JJ!!"XC'BB!!3N(J!!2"DVEVEE5eY$1dZ'h23!"!SJ!"3)!!!J'"iS!%!-
!QG1abYI5cmlGdfi)!!)"L!!&!J!!"J8&K`!5"J%!"`#%dVl8e0$1eH#I*!!#!SN
!"3)!!!F&"BS!$JF!F0R+eG(2cq(&8!!!!SS!"3)!!!F'"S`!$&6Ncp,3cYRHJK%
!!J++!!8#!!!("JD0!!Thiml1dZ5c-`!"!SX!"3)!!!F'"Si!#9cMbpl9C!3!03@
,!!8#!!!)"JD2!!C*k1#C(!!)J!!!!iN!"3)!!!F'"T!!!!XrdN3!!83T!J)!!!1
(!!8#!!!)"`H4!!-3&!!0J3!%#!N!!!1&!!8$!!!)"`H6!!-#!!!"J!!&#!J*!!!
$J`!&!`!!#!F(R!!&#!J+!!!$J3!&!`!!#3F(RJ!0#!J*!!!$!!!$!!!)"`HJ!!X
)#!N!!!-#!!!)"`H2!)m!#`X,$`!!"!3!!!i+#U!!$3X,%!!!"!)#!`!!$`S+RJ!
2#`X4!!!&!%K)!!8!!!m+#T`!%3X-%3!!"3"'GR4%!!8!!!i+#TS!%J`-%J!!"3"
)HQeVG83!"3!!$`Z"!!-&!!B&N3!E$!`6!!!'!%TpF("[Dh9%!!8!!!8!*#F!!"P
#&T!!!")0$4)!!!B!6)"cFh*aEfYe4!!%J!!'!`!)2%&,(Bm!(3d0%`!!"J"1JhC
fGA4bF@pVG8-!"5i!!5*54c"A)Bi!(Jd0&!!!"J"3KhPjH(CeG(*aEfPj4`!!%N"
96b",8bZ0!"m0$4-!!!B!8BTmI(YkH(CeG("aH&mH"5p469NF28p6)B`!)3i1&!!
!"J"6MAprIRelHAKfFhTd1!!B590)AL`a89%c!!'+!#!1$K8!!!B!9C!!JS+"Ihj
pHhGkJ&J1"MT86dCH2be66d!#L`!J$Ji8!!!(!&H8KB@%JS'!IAZ%FbN!*9"46%K
D8Le568N*L`!J$Jm@!!!(!&QAKiL(KS5#Ii@&5`82494-6%T8BM&36%m6J!!"!`H
'!#F2$aB!!!F!@jU+LiU)Ki1&MQ`E!6*66dY05djZ1da-8L!!"`!!%!S+K!!T$`m
@!!!(!&fGMBk0M)Q'N!#&2!!E6&*,6%e05R4+5%e6+JSj!3-!!!i+#S)!+`m2&`!
!"`"ISC!!NC!!MSU2P'%0#$j868Y06%e(E9j&69%j!&&l3J!&!!!2#JU!!%B3%"F
!!!F!BD56P*13!)qDJ5X!+9&35da06%e,9'&(68p%!%*iDR9%!!8!!!m+#J!3%"F
!!!F!BkH@Q*@5QTG4!a*(8da-68b!66"-88a-6Nd*-hTZEfYe4!!&!!!1#JS3'!!
!#!"NUTQDPjQLGaS"09415de06Nj06%a0J%`K6K8&C(adF'pVG83!"3!!$`SC!!!
)!'DZR*bDTC8q!"p28i"-58T)4dC-68a-68a05c)@!b"PGA"[Dh9%!!8!!!m!!!J
!D,'IS+5SD!`*2e**4dP-89KICR455de06%e-69423!0)I("aEfYe4!!&J!!A"J"
UY++MT)dX!#e@9PGHC@Y[FhH"YAK*J%er6%a36N!r9"-mIh*bF@pVG83!!`!'!(1
fTDDPT"S26&406%T&2cFb16Z&G%*068a,6e&!0%&-9"FaJ(0dFR&[Dh4)!!3(!(1
iTULQU4id9%P+58P+5de35BPm4%j05de64#Xc5Np,8aiRJA9eG(*`EA9)!!3!"J"
YZDDQX#XN9%b"64j-684rHd016%a65LNM39&06%TA,"b!GhCeG("k4J!%J!"r#!"
YZD5d14Y65Na-68j44APl4%e,88mZ&M&38%a,694#"Kk!HAKfFhe)!!8!!"S!!!J
!EEDd5"KG8e445dXiERa&6%j60K!H5&*-5dY58#!!-RKrHhTfJ%S!"3!!%")D!!!
)!'V'@!!I%3F#$`!hH%C-8NNC$$P66NY,6P-c!"*XA(phGhYiJd`!"3!!%!X4%KN
!!!J!GSNL0dGSM43QH%G18c--*8p45dY-8NJE#jErppLmRB+)6J!'!!!3#`X!%4%
D!!!*!((KmrlrD4Ge59&*(4G#9%a,5e"1+`8!'9PVNVrRr2q#!!N!!"),#i!!("%
5'J!!#`#Hbhda$fK18$BA-P*25dY08Md2!!!"JJ!*!bC4#J8!!"N,#i)!'4%5(`!
!#!!"!!eL8dBP*8P56%Y-8NSJ!!!"J!!$!`-%!S!!"3-!!!i-$)3!&")5'!!!#3!
0AP3f*6a66NY,6e%c#)N!"J))!!!F'4U'!"3*#3%!!!C86Ldc69&,5de53aB!!!'
)!!8#!!!)"`H,!!i$5%B`49&05dY465J$!!'*!!8#!!!("JD(!!m#!!!"!$P%28p
25dY18MS0M!!&!J!!"`B'LJ!1!J!X5NK36%Y-8NJG!!!"LJ!&!J!!"`B'M!!*(e*
-68a,6e%["Sd!"3)!!!F'"Sd!"bY65dY08d%5MJ!&!J!!#!B'MJ!*)P0+88iN!3!
A")X!"3)!!!J("im!"KY98MJ+!!1!!!!$L3!&!`!!#!F(N!!!#aG0'3!!'Jm!!`!
!!iF!"3-!!!J("j%!!`B(!!@"!!3)#J!!!i8!"3-!!!J("jS!"3J)#3!!!i-!"3-
!!!J("j`!"3J)#J!!!i%!"3-!!!N("ji!$3J)#J!!!`!!!`!!#3F(S!!,#!J*!!!
$!`!!#3F(M`"S1'eV!!!*#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!Q*J!!`!!!!!
!!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`##rrq#!!-!!!!
!!!!!!!!!!!-"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!)Arqr[rK3!$!!!
!!!!!!!!"!`!5%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!K2rkr[lkri8!!`!
!!!!!!!-"!%MS5!!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#%rrVqrrrqq[q&!!-
!!!!#!J!EU[hr@3!$!!!!!!!!!!!!!!!!!!!!!!!!!!!$!)6rq[lrr[lrr[VrK3!
$!J-!!Qh`rr6rF!!%!!!!!!!!!!!!!!!!!!!!!!!!!!-!K2rkr[rqrrrqrrlkri8
!!J!db[rlq[VrKJ!%!!!!!!!!!!!!!!!!!!!!!!!!!`#%rrVqrrlrrrrrr[rqq[q
#"j2mr[RqrrVrR!!$!!!!!!!!!!!!!!!!!!!!!!!$!)6rq[lrr[rrrrrrrrlrr[h
jk[rkqrrqr[crXJ!#!!!!!!!!!!!!!!!!!!!!!!-!K2rkr[rqrrrrrrrrrrrqrrl
mr[VqrrlqrrVr[!!"!!!!!!!!!!!!!!!!!!!!!`#%rrVqrrlrrrrrrrrrrrrrr[r
qrIrqr[lrrI[f1!!#!!!!!!!!!!!!!!!!!!!$!)6rq[lrr[rrrrrrrrrrrrrrrrr
rr[lrr[lqq2pF!!)!!!!!!!!!!!!!!!!!!!-!K2rkr[rqrrrrrrrrrrrrrrrrrrr
rrrrrr[rjri-!"!!!!!!!!!!!!!!!!!!!!`#%rrVqrrlrrrrrrrrrrrrrrrrrrrr
rrrrrr[crR`!$!!!!!!!!!!!!!!!!!!!$!)6rq[lrr[rrrrrrrrrrrrrrrrrrrrr
rrrrrr[crK!!%!!!!!!!!!!!!!!!!!!-!K2rkr[rqrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrlpri8!!`!!!!!!!!!!!!!!!`#%rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrr[rqqrq&!!-!!!!!!!!!!!!$!)6rq[lrr[rrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrlrr[VrK3!$!!!!!!!!!!-!K2rkr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrqrrlkri8!!`!!!!!!!`#%rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrr[rqq[q&!!-!!!!$!)6rq[lrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrlrr[VrK3!$!!-!KIrkr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrqrrlkri8!!`##rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrr[rqq[q#!*Mrqrlrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrlrr[[rQ*Irqrlrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrlrr[[rQ!#"rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrr[rqq[q#!!-!K2rkr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrqrrlkri8!!`!$!)2rq[lrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrlrr[VrK!!$!!!!!`#$rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrr[rqq[q%!!-!!!!!!!-!Jrrkr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrqrrlkri3!!`!!!!!!!!!$!)2rq[lrr[rrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrlrr[VrK3!$!!!!!!!!!!!!!`#'rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrr[rqq[q)!!-!!!!!!!!!!!!!!!-!K[rpr[rrrrrrrrrrrrrrrrrrrrrrrrr
rrrrqrrlkriB!!`!!!!!!!!!!!!!!!!!$!(hrrIlrrrrrrrrrrrrrrrrrrrrrrrr
rrrlrr[VrKJ!$!!!!!!!!!!!!!!!!!!!&!&ArrIlqrrrrrrrrrrrrrrrrrrrrrrr
rr[rqq[q'!!-!!!!!!!!!!!!!!!!!!!3!62cmr[lrrrrrrrrrrrrrrrrrrrrrrrr
qrrlkriB!!`!!!!!!!!!!!!!!!!!!!J!qp[[mr[lqr[lrrrrrrrrrrrrrrrrrrrl
rr[VrKJ!$!!!!!!!!!!!!!!!!!!!#!$(Zr2[rr[lqrrhqrrlrrrrrrrrrrrrrr[r
qq[q'!!-!!!!!!!!!!!!!!!!!!!!#!,Vrq2rqr[lqq[lmr[rqrrrrrrrrrrrqrrl
kriB!!`!!!!!!!!!!!!!!!!!!!!!#!+crr2lqrrckrqhkrIlrr[rrrrrrrrlrr[V
rKJ!$!!!!!!!!!!!!!!!!!!!!!!!$!*Arq[rqqIlqR!Z$rrVqrrlrrrrrr[rqq[q
'!!-!!!!!!!!!!!!!!!!!!!!!!!!%!(hrq[Vkrp%m!!)!K[rkr[rqrrrqrrlkriB
!!`!!!!!!!!!!!!!!!!!!!!!!!!!$!'Arp2rcGJ3!!`)$!)Erq[lrr[lrr[VrKJ!
$!!!!!!!!!!!!!!!!!!!!!!!!!!!$!%crrV)K!!)#!!!!!`#'rrVqrrrqq[q'!!-
!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!$[T83!"!`!!!!!!!!-!K[rkr[lkriB!!`!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!i8!!-#!!!!!!!!!!!$!)Irqr[rK`!$!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!`!!!!!!!!!!!!!!!`#$rrq%!!-!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!-!QTS!!`!!!!!
!!!!!!!!!!!!!!!!!!!!!!'Pd-c)!!'#4!!!!!,F!J!-&!!!"!3!!J!2`!)!$"`!
!!3!!!3!!J!2Z!)!$!J!!!B%!!J%!!)!$l!#!"!)!!!'$!!)"!!#!!qS!J!3#!!!
"K3!#!3!!J!2S!!8%"!8!!!'"!!%*#B%!!J%!!)!$jJ!&"!3&!!!#J3!$#4)5#B%
!!J%!!)!$j!!&"!3&!!!#J3!&#4-4%")*J3!#!3!!J!2L!!8%"!8!!!+"!!F+%a%
5%4!5#B%!!J%!!)!$i!#!"3)!!!+"!!N+&")5%4)4%")*J3!#!3!!J!2H!)!&!J!
!!S%!#`S9%a)6%K%5%4!5#B%!!J%!!)!$P`!"!J(!!!8&"3B!!!+"!!d,&4-8%a)
6%K%5%4!5#B%!!J%!!)!$P!!"!3,"!!8&"3B!!!+"!!m,&K38%a36%K-5%4)4%")
*J3!#!3!!J!15!!B$!3"F-J!"[!!&"38'!!!#J3!4#aF8&"88%a36%K-5%4)4%")
*J3!#!3!!J!12!!J#!J!GV[p5!!1l!!8&"3B!!!+"!!%-&i!9$K39&"-8%a)6%K%
5%4!5#B%!!J%!!)!$M!!+!3-!!R2er2pZ!!1k!!8&"3B!!!+"!!--'"B@J"81&"8
8%a36%K-5%4)4%")*J3!#!3!!J!1+!!X$!J!idIripIq'!!5j!!8&"3B!!!+"!!%
-'B%@J"81&"88%a36%K-5%4)4%")*J3!#!3!!J!1(!!d#!`!2QIrrprMmrjX!!lJ
!"38&"J!!!S%!!3dCJ4F"&KD!&3i8&436&"-5%a)4%K%3%JQ"!!8"!!!$!`'&!!i
$!!"CkIrmqIEqqrqh!!+h!!8&"3F!!!+"!!30'KJA')!A!4B@J"81&"88%a36%K-
5%4)4%")*J3!%!3!!!`'$!"!#!J!N[2rpr2her2rmrmJ!!EB!"38&"`!!!S%!!`i
E'"Q!')!A!4B@J"81&"88%a36%K-5%4)4%")*J3!!!B3!%!%$!!9qq2rlrIleq2r
qrIrFY`!&"38(!!!#J3!&$KXC'4JCJ"L!&`%@&S!9$K39&"-8%a)6%K%5%4!5#B%
!!J%!!i!!&!-"!%$Crrcmr[lhpIlrr[hrlJm!!E-!"38&"`!!!S%!"`iF'KND'4J
CJ"L!&`%@&S!9$K39&"-8%a)6%K%5%4!5#B%!'3%!!!)$!"@Mrrllr[rrqI2lrrl
rr[ri'!!"XJ#!"`)!!!+"!!N2(4SE'KND'4JCJ"L!&`%@&S!9$K39&"-8%a)6%K%
5%4!5#B%!'!%$!!"Ml[rlr2rqrrVcq2rqr[rqr[mZ!!+a!)!(!J!!!S%!#`mG'aX
D'aSC'KNB'B!BJ"F"&KD!&5S8&436&"-5%a)4%K%3%`J!!!-#!#[&rrclr[rqrr[
dpIhrr[rrr[cr3`!#X!!&"`F)!!!$J3!0$amF'a`E'KXD'4SC'"Q!')!A!4B@J"8
T&"88%a36%K-5%4)5#`)"!`!*J[Rrqrhrr[lrr2Adq[rqrrrqrrVr8J!$V`!&"`F
)!!!$J3!2%"mF(4`E("XD'aSC'KNB'B!BJ"F"&KD!&438&436&"-5%a-2"3!#!3"
'fIrmr2q!rJ6rrIEcpi$q"[rqrrcrd!Z`!!8("`J!!!1"!"%3)"dG("dF'a`E'KX
D'4SC'"Q!')!A!4B@J"8Q&"88%a-8%`S!!3)!'UErr[[qrrlrr[rqpr2frIrqrrl
rrIrV)3!"VJ!&"`F)!!!$J3!6%#%G(4iG("dF'a`E'KXD'4SC'"Q!')!A!4B@J"@
!&#%9$`-!!`!"DHlrqrcrr[lrr[rqqI6frIrqrrlrr[hp3J!$VJ!&"`F*!!!$J3!
"%5'!(S!G$4`G("XF'aSE'KND'4JCJ"L!&`%@&S!9%"B6"`!#!J!ba[rmqrlrr[r
rJ2i'q[6erIrqri$q"2[rD3!%VJ!&"`F*!!!$J3!'%5)I(KmH(S!G$4`G("XF'aS
E'KND'4JCJ"L!&a!@&4B@$3%!!`!0M[VrqrhrrS$r%Ilqrr[dpIcrr[rqr[rkrj-
!!ki!"3F(#3!!!i%!!4)MJKm"(Kk!(3dF(4`E("XD'aSC'KNB'B!B%4F@&aJ5"3!
$!3"3i2rmr2rqrS$rJ2i1r2Adr2rqrrrqrr[rZ3!"VJ!&"`F*!!!$J3!"%L1"))!
I!4iHJ"dI("dF'a`E'KXD'4SC'"NB&aFC&JX!!3)!),$rrI[qrrk"ri$q$rhfp2c
rr[rrr[rmrpX4!!'Y!!8("`N!!!1"!!35*#%J)B!JJ"m"(Kk!(4dF(4`E("XD'aS
C'KNB'"NC%3-!!`!%Fr2rqrcrr[k"ri(q$[Idqrrqrrrqrrhrmb`!!Ud!"3F(#3!
!!i%!!4-PJ#%")#'!))!I!4iHJ"d)("dF'a`E'KXDJ"N1'KB)!!)#!$V1rrclr[r
qJ[q"rJljp2[rr[rrr[rqr2p3!!1Y!!8)#!N!!!1"!!J6*5)L)5)K)#'!))!I!4i
HJ"d&("dF'a`EJ"S1'aS1!3%$!"'Br[llrIrqJrq"rJlkp2Vrr[lrrrlrq[pi!!5
Y!!8)#!N!!!1"!!S6*L-L)b)K)L%J)B!JJ"m"(Kk!(48F(4`E("SE(48&!!-!!&V
QrrcmrrlqK2q!rJllp2Vrr[lrrrlrq[qH!!1Y!!8)#!S!!!1"!!`8*b-N)b)M)L%
L)5!KJ##!(`%H(S!G%K`G("XG'JX!!3)!*VRrrI[qrrk&ra$qrrlmpIRrr[lrrrl
rqrr!"Di!"3J)#J!!!i%!$K3R*#3M*#-L)b)K)L%J)B!JJ"m8(KiG(KdF(4d5!`!
$!!Gqp[rlrIrqK[m9r[rqrIEirrlqrrrqrrcrhKN!!3!"!i!"TJ!&#!J+!!!$J3!
3&#JN*#8N)b3M)L-L)5)K)#'!))!I%KiH(4dI'3J!!J%!3YErr2[qrrk'raIqrrl
pprMrr[lrrrlrrIrf0J!$!!!"!!#!!k3!"3J)#J!!!i%!!48SJ#80*#8N)b3M)L-
L)5)K)#'!)")I(aiH(ai3!3%$!"HLrrllrIrqKrm+r[rqrIMhrrlqrrq!rJ6mreX
!")%!!J%!!)!$SJ!&#3J+!!!$J3!8&5NQ*L8Q*53P*#-N)b)M)L%L)5!KJ#!3(am
K&`8!!`!!C1[rqrcrr[k(r`AqrrlqqIH!rS$r#2lrq[q#!!3!")%!!J%!!)!$S!!
&#3N,!!!$J3!R&5SQ*LFQ*5BP*#8N)b3M)L-L)5)K)#%J(b)G$!!#!J!Z`[rmqrl
rrSMr#2lrr[lkprlrrS$r#[lrq[qT!!)!"K)*J3!#!3!!J!1H!!8*#3X!!!1"!!%
@+S!RJ#BH*5BP*#8N)b3M)L-L)5)K)#)L&!)!!`!,L2RrqrhrrSRrJIi%qrIqrrk
!r`cqrr[rc!X!!!34%4)*J3!#!3!!J!1F!!8*#3X!!!5"!!B@+bJR+#FRJ#BF*5B
P*#8N)b3M)L-L)5)N'`J!!J%!60hrr2crrrk+r`Iqrrlmq2hrrS$r$[lrrIrS*!!
#!4!5%4!5#B%!!J%!!)!$QJ!&#3N,!!!%J3!"&Lb#+!%R*i!Q'58Q*53P*#-N)b)
L*#%3!!%$!"fVrrllr[rqLrm(r[rqr2Rprrk!ra$qrrlpqd-!!`!1%a%5%4!5#B%
!!J%!!)!$Q!!&#3N,!!!%J3!"&bf"+B!S!5FRJ#BA*5BP*#8N)b-N*4N&!!-!!fr
`rr[mrrlqM2m'r[rpq[hrrS(r%IlqqrpT!!3!$"35%K%5%4!5#B%!!J%!!)!$PJ!
&#3N,!!!%J3!%&biU+5U!+B!S!5FRJ#B#*5BPJ#31*L%-!!)#!$E+rrclr[rqMIm
'r[rqq[crrS(r%rlrq[q4!!3!#486%K-5%4)4%")*J3!#!3!!J!18!!8+#J`!!!5
"!!%A,S!U!5NUJ#Q!+!%R*i!Q%58P*#BQ&3)!!`!2NrcrqrhrrSrr"Ilrr2crrS(
r&Ilrqrqh!3%!"K86&"-5%a)4%K%3%JQ"!!)"!!#!!j)!"3S+$!!!")%!#"J[+bX
U+bST+S!TJ#J8*bFQ*L8Q+"i)!!)!!&EMrrcmrrlqMrm&r[rprIrqJImAr[rmrpF
6!!%$&"88%a36%K-5%4)4%")*J3!#!3!!J!13!!!&#JS-!!!%J3!+'$!V+b`V+LX
U+5U!+43S+#FS*LBT*4%!!3)!)lArrI[qrrk3!2m&r[rqrIrqJImCr[rprr!Z!!)
"%aB8&436&"-5%a)4%K%3%JQ"!!)"!!#!!ii!"3S+$!!!")%!!4J`J#`(+b`V+LX
U+5U!+4)S*bFT+4S%!!-!"RRerr[prrlqNIm&r[rqr[rqJ2mEr[rqr2p4!!-!%"F
9&439&"-8%a)6%K%5%4!5#B%!!J%!!)!$M!!&#JS-!!!%J3!K'6%Y,5`Y,#XX+bS
V+LNU+5NS+#SM$!!#!J!rd[rmqrlrrTEr!2k$r`Mqr2pi!!3!$aQ"&3i8&436&"-
5%a)4%K%3%JQ"!!)"!!#!!iS!"3S+$!!!")%!$KNb,5dZ,5`Y,#XX+bSV+S!T$LX
T&J%!!`!8RIrqqrhrrTIr!IlqJ[mGr[crP3!'!3!,%aFA&K89&"88%a36%K-5%4)
4%")*J3!#!3!!J!1)!!8,#Jd!!!5"!!%D-S!Z'bdZ,5`Y,#XX+bSV+5SX)!F!!`!
!B1Rrr2crr[kIralqrrG!!!%!!J%!"Jm9&aB9&"88%a36%K-5%4)4%")*J3!#!3!
!J!1'!!8,#Jd!!!5"!!-D-bm[J#iB,5iY,#dX+b`V+LdS%3!"!J!V[[rpqrlrrU,
r"IlqrmYV&S!!&3)!!JN5&K88&436&"-5%a)4%K%3%JQ"!!)"!!#!!i3!"3X+$3!
!")%!"4Sd,bm`,i!Z&5dZ,5`Y,#XY,4X%!!-!#B6irr[prrk-ri2qM[m"r[q!rJ6
rm+0"")%!%J3@&488&436&"-5%a)4%K%3%JQ"!!)"!!#!!i)!"3X+$3!!"B%!!4X
dJ$#!,i!Z%bdZ,5`Y,b8-!!)"!%MDrrcmr[rqKrq%rT6r)2lrr[clr[lreANE!!!
$&4B9&439&"-8%a)6%K%5%4!5#B%!!J%!!)!$J!!&#`S0!!!&J3!%'c8a-$'!-!%
[,i!Z%#dY,b`@!3%$!"URrrllr[rqJ[q%rS2rJIi$rIlrrSrr$IlqrrhlrIhrd33
!!K8@J"81&"88%a36%K-5%4)4%")*J3!#!3!!J!-'!!X+$3!!"B%!!4XfJM'!-"%
[,biZ,c!L"`!$!!&Ul[rlr2q&rS,rK2k"r36mrIlrrT!!ri$q#[rlp2[Z%J!"&"F
@J"81&"88%a36%K-5%4)4%")*J3!#!3!!J!-%$!i!!!@"!!8E0M)b-6+!-B!`$bm
Z-LX3!!)#!$2(rrclr[q#rJ$rKrk"rB$m"IhmrIlrrSrrJ2i0rrhiqIhrp4i!!4)
A&KD!&3i8&436&"-5%a)4%K%3%JQ"!!J"!!!$!`i!!!@"!!FF0c)b-c)a-S!a%6!
[-6%F!`!$!!f1qrrlrIrqrS$r!IlrJIi2rIhmqrckqIVhprRiq[hmrB$qM[q!rJh
rr[RhrIrqrImh!!%4')!@J"81&"88%a36%K-5%4)4%")*J3!'!3!!!`!!"B%!!4`
iJ$-P-M-b-6)a-6!a+3X!!3%!8Z$rr2crr[rqr[hmr2Vjq[Ifpr6epI1!p!IhqIc
qrrhmrB$qM[m(r[lrr[Vfqrq!rJVmrd8!!3mC&KF@&S!9$K39&"-8%a)6%K%5%4!
5#B%!!!'!!!!&J3!J($Jd0$-d-c)c-M%b-6!d(!!#!"q[rrhiqI[iprMep[EdJ2@
"pS$h#[Mkr2lrr[rqrIcpJ2k0ri$q%2rlp[MqrrlqrrllreN!!3dCJ"F"&KD!&3i
8&436&"-5%a)4%K%3%JQ"!!)"!!@"!"NI163d063c0$-b-c)a-M%c)3!!,I$rq2R
mqi(mJ2f#rSIrJ2i#rIcpJ2k-ri$q"rrmp[ImrrlqJ2m(r[VrH3!##aQ"&`%@&S!
9$K39&"-8%a)6%K%5%4!5#B%!!3%&J3!9(cNe063e0$-d-c)c-M%a0#8"!$VrqS$
qLrq(rJ2rrIcpJ2k,ri$q"IrpprAkri$qJ[m)q[q(!!)*'KFBJ"F"&KD!&3d8&43
6&"-5%a)4%K%5#B%!!J%!"B%!&4dj068d063c0$-b-c)a-bN"!"lerrf6rJErr[l
rrIcpJ2k+ri$q#2rqq26ir[rqrS6r"[[rS!!""aU!')!A!4B@J"8,&"88%a36%K-
5%4-*J3!!!B!!!!@"!"3G168e0$8d-c3c-M-b-bd$!",[rrf8r`IqrrlmrIlrrSR
rJ2i'rrlkp2Emri$qKIm'qrqp!!%&'B%BJ"F"&KD!&3N8&436&"-5%K-*J3!'!3!
!$`!!"B%!%adj068d063c0$-b-M-["3!(hIrpNrm(r[rqr2hqrrk*r`[qr[rqqrA
dq[lrr[k(r`ImrmF!!!3C'B%BJ"F"&KD!&3F8&436&"-8#S%!#!%!!!--$`!!"B%
!%Kdj068d063c0$-b-c))!!$(rrb5r`IqrrlmrIlrrSMrJ2i)rrcfmrIprrlqKrm
,r[rprq!*!!)B'KJCJ"L!&`%@&S!9"439&"-9#S%!#J)!!!3$$!`2!!!&J3!4(6N
e063e0$-d-c)d$!!!ZrrlNIm(r[rqr2hqrrk(ri$q"[rmpr2eqrq!rSEr$[lqrrc
lrq!,!!)@'KNB'B!BJ"F"&KD!&3-8&"8,J3!-!J!!"!-$!!`-$`!!"B%!%"dj068
d063c0$-e$`!!R[rlN!$r"rlrr[cpr[rqK[q!rJRrrIMdp2RqrrlqKrm3r[rqqrl
rUa`!!3!9'aNC'"Q!')!A"KB@&488&JZ"!!8#!!!&!`1!!!8-$!m!!!@"!!mG168
e0$8d-c-f&!!!KrrkM2q"rJErr[cpr[rqKIq!rJIrr[RdmrEmri$qK[m6r[rrr2c
rh8X!!3!!"4JE'4SC'"Q!')!A""B@&4F,J3!&!J!!"33%JJ!&$!`2!!!&J3!2(6N
e063e0$-h'!!!GrrkrS$rJ[i2rIhmqr[kqr[prrlprIlrrS6rJ2i+rrlkpI2dq[l
rr[k(raAqrrhlrrQ)#`!$!!%2'aXD'KND'4JCJ"J&&aF@&KF-J3!&!J!!"33%K!!
&$!`2!!!&J3!A(6Ne063e-cFG!!"BrrVmqr[kq[[mr[rqJ[m)r[rpqrhpr[rqK2m
-r[lrr[[fp26hrIrqrSIr'2lrr[[prm)Z!!)#!!NC(4`E'KXD'4SC'"Q!'!-A&KJ
-J3!&!J!!"33%KJ!&$!`2!!!&J3!0(6Ne063d0b%!!%Arr2k"ra(qrrlflYV'ZCZ
'Gdj5krrprrk%r`Mqr[rmp[6dpIZ"rSEr)2lqrrclrqYN!!!$!!-8(KdE'a`E'KX
D'4SC'"NB&aFC$)%!"3)!!!8%")J!"3`-$`!!"B%!&Kdj068d0bB!!$,dfmHlRSK
h@%Bd(4)&JJ!&",2rr2rqJrm%r[lrr[L!p!6irIrqrSIr)2lrr[[qrk%A!!B%!Jm
H)"`F(4`E("XD'aSC'KNB'4JC$B%!"3)!!!8%")S!"3`-$`!!"B%!#Kdj063h+J!
!!a%'L!!*!3)&"!1drrcrrS2r#Ilqrrcfp26fqrq!rSEr)IlrrrcmrpP#!!-#!!!
,'4XH)#!I(KdF("XD'aSC'KNB'Jf"!!8#!!!&"!5-!!8-$!m!!!@"!!8G168f,J+
%!"!"!3)$!J!!"3!"!J#KrrVrrS,r"2lqrrljJ23%qIlrr[k'rb,qr[rpqrrjL3X
!"!!@IS*J3b`D%!d3&4XH(aiF'aXD'4NE$B%!"3)!!!B&"Bi!"3`-$`!!"B%!'ad
j0M%$!!!$"3S1%a36%4-D-%d2!!-!Q2rkrrk#r`Rqr[rmp[6dprcrJ2k'rb,qrrl
lrIr$,`!"!!"AjIrprrcXdDq)B6dK%3`2&K`H(4SE$S%!"3)!!!B&"C!!!!8-$!m
!!!@"!"NG1M3Q+#ib-5dS+$00FT[%mem!"3#*rrVqrS(r$2lqrrljp22eq[lrr[k
'rb2qr[rmr2rUC!!!"!!jbrrpr[hkqrlrr[lrqZ#kM&`c'!X,'`k"!!8#!!!'"3@
5!!8-$!m!!!@"!"8G16Fe,#Ja6RQUerIrr2pf!!B!HIrkJ2k!r`[qr[rmp[2dq2l
rr[k(rb2qrrhlrrf@%J!#!`!+G+HacHMkrrlrr[rpq[crr[lrpFqFEK5"!!8#!!!
'"3@8!!8-$!m!!!@"!#)G16jVSYEirrlrr2MrIJ!(!'Mrqrlrr[rrr[lrr[VdmrE
mri$qK[m+r[rqqrcrc6N!!31&!"X-*%*QMVEEprrqr[rpqIhmrjB!!3!""!!!"J8
&PJ!X$!`2!!!&!!!#!&Imrrlrr2Vqr[crN!!!"`"5rrcqrrlrrrlqrrhhmrAkr[r
qrSEr#rlqrrclrr*b!`!$!B)!!J-$!S3!&!3H4A5ReIMrr2q)!!%!!KF!!"B&"CJ
!(3`-$`B,$J-!!3#2rrcqr[rZ[S9(!`8!3IIqrIrqri(q"rVdp2MprrlqKrm+r[r
qqrlrVKi!!J+)!!%"!B!$!!+#!!i#)%f8I3!#!!)B!!!K"3@D!!m-$#N!!"S#!!%
!L[r&K885J!!4"3!dl[rprrlrr[lrrIIcp[crJ2k'r`Vqr[rmr2rI6`!"!j%!!`%
$"!1#!!J#!!!6!!![)KqF!!S-$#N!!"S#!!!''i%!#!%$"J!Sjrrmri(q#2rkp26
kr[rqrSIr#[lrrI[rqS`-!!-#P`!!!B!$"`!!!3!0)#m`RJ!9063q!!!,!!!#!!%
%!`%!!J!Fh2rmri$q"[rppr2hrIq!rSEr#[lrr[[mrm8a!!)$RJ!&!3!0)#m`S!!
)0M3P$3!#!!!"J3!'!J!5crrlri$q"Irkp2Alri$qK[m,r[lrr2[rl@J!!!-"RJ!
&!3!!"33&SJ!&06)N#J!#JJ!4!3!,`rrlrrlqrrlhp2RqrrlqKrm+r[rqqrlrT4N
!!J+I!!8"!!!%!`1N!!8&"3B!!!+!!!i"!31errVrr[lrqr6frIq!rSEr#[lrr[c
mrpK'!!%$S!!&!3!!"!-$TJ!8"38(!!!#!!!#!+6rq[rqrrlhp2VrJ2k(r`Vqrrh
lrrH"#!!$!D!!"3%!!!3$!ki!$J-!PIrkr[lrqrAhr[rqrSIr#[lrr[[prl`T!!)
$S3!&!3!!"!-$VJ!,"!#'rrVqrrlhpIcrJ2k'r`[qr[rmr2rSAJ!!!`'K!!8"!!!
%!`1Z!!d%!(VrqrlrqrAjr[rqrSIr#[lrrI[qrTX6!!-#SJ!&!3!!"!-$VJ!-"!"
Trr[qr[IfrIrqrSIr#[lrr[[mrp%p!!%$S`!&!3!!"!-$VJ!*"!"CrrcqqrEkri$
qK[m,r[lrrI[rp(F&!!-"S`!&!3!!"!-$VJ!,"!"*rIlmqIRqrrlqKrm+r[rqqrh
rXb%!!J+N!!)"!!#!"+i!#!-!1[Irq[Rpri$qK[m+r[lrr2criP3!!!1P!!)"!!#
!"+i!#J-!,Zrrq2[qrrlqKrm+r[rpqrrmN3i!!`+P!!)"!!#!"+i!#3)!)HErq2l
rr[k(r`Vqrrllr2r*0!!#!kB!!J%!!)!%VJ!'!J!@frrkri$qK[m,r[lrr2[rm'd
#!!-"TJ!#!3!!J!5Z!!J"!!h0rr[rr[k(r`Vqrrllr[qU(!!#!UF!!J%!!)!%X!!
&"VlrqrrqKrm+r[lrr2[rh%S!!31S!!)"!!#!"+m!"J-!82rkrrk(r`VqrrhlrrZ
(#J!$!DJ!!J%!!)!%X!!&!J"$rrcqK[m+r[rqqrcrb5i!!J1T!!)"!!#!",%!"3)
!,[rqrS6r#rlqrrclrr"S!!!$!DN!!J)!!)!%XJ!&!3!Bq2rqJrm0r[rqqrlrU"F
!!J)!!!+R!!8#!!!&"!5c!!8"!!lYrrf"r`Vqrrrmr2rF4!!"!i!!!J3!!U8!"3)
!!!8%",F!!Y[rrB$r$IlrrI[rqB-(!!-"!!!#J3!!!U-!"3)!!!8%",B!%!%!b2r
mrrlrr[[prm!R!!)#J`!%!JB!!!+K!!8#!!!&"!5h!!i#!,Erqrlrr2[rkei!!!1
&!!8#"3B!!!+I!!8#!!!&"!5i!!d$!*[rqrhlr[qH%3!$!SF!"38&"J!!!Td!"3)
!!!8%",N!#`3!KIrhr2r91`!#!iS!"38&"J!!!TX!"3)!!!8%",S!#J-!E[rmpRJ
%!!-"M!!&"38'!!!#Q3!&!J!!"33%Z`!)!`"4rl3J!!)#M`!&"38'!!!#P`!&!J!
!"33%[!!'!3!cB!!!!j)!"38&"J!!!T8!"3)!!!8%"-%!!3)"P!!&"38'!!!#N`!
&!J!!"33%`!!"!31A!!8&"3B!!!+4!!8#!!!&"!6H!!8&"3B!!!+2!!8#!!!'"!6
J!!8&"3B!!!+0!!8#!!!'"!6L!!8&"3B!!!+,!!8#!!!'"3AN!!8&"3B!!!+*!!8
#!!!'"3AQ!!8&"3B!!!+(!!8#!!!'"3AS!!8&"3B!!!+&!!8#!!!'"3AU!!8&"3B
!!!+$!!8#!!!'"3AX!!8&"3B!!!+"!!8#!!!'"3AZ!!d&"3B!!!)!!!)!!!B&"I!
!#`8&"J!!!J)!!!B&"EF!Y`!,&43C!!!)#!!!'"38m!!0&48C!!!*!!!*!!!B&"6
Z!!89&4N!!!Q"!!8*!!!B&"6X!!89&4S!!!Q$!!8*!!!B&"6U!!8@&KS!!!Q&!!8
*!!!B&"6S!"8@&KS!!!N!!!%!1$N!!3!!#3!!'"38jJ!A&KBE!!!+!!!"!$CTD68
!!3!!#3!!'"38j!!C&aFE!!!+!!!"!$CVBQ&T03!"!!!*!!!B&"6L!"XA&a`!!!S
!!!%!0faMC'0KD68!!3!!#3!!'"38i!!G&aFF!!!+!!!"!$GYC'9NC'0KD68!!3!
!#3!!'"38hJ!I&aFF!!!+!3!"!$K[C@CQC@4NBf&T03!"!!!*!!!B&"5A!!!#`3!
,'"FF!!!+!3!"!$P`J'F5CQCPC'4MB@Ne!!%!!!N!!"J8&*3!!3%#`3!,'"FF!!!
+!3!"!$PaJ'J8CfGQCQ9NC'0KD68!!3!!#3!!'"38NJ!'!J!!5#F!!E`!#aJA(3!
!#J%!!3!kFi"T&QKSCfGQCQ9NC'0KD68!!3!!#3!!'"38M`!)!J)!'SVC53!#Z`!
,'4JG!!!+!3!"!$YdJ@SAD@KSCfGQCQ9NC'0KD68!!3!!#3!!'"38M!!+!3)!!Pl
3ZpTF!!1k!#NC'4d!!!S"!!%!1h9VE'YVDQTTD'KRCfCQC@4NBf&T03!"!!!*!!!
B&"5+!!X#!3!ZUqLZYZ9Z!!1j!#XC'4i!!!X"!!%!2(CXE@eXDfYUDQPSD'GRCQC
PC'4MB@Ne!!%!!!N!!"J8&)F!$3%#!!apeq+cSpAGJ!!#Z!!Y'4NH!!!,!3!"!$e
iE@jZE@eXDfYUDQPSD'GRCQCPC'4MB@Ne!!%!!!N!!"J8$)8!$J)!!%M#hYA&MY$
3hCB!!VF!#aNC(`!!#`%!!3!pHB"[(fjZE@eXDfYUDQPSD'GRCQCPC'4MB@Ne!!%
!!!N!!"F(J`!3!J)!(CVIeFr@KlRAcYZP!!'f!!XC'4m!!!X"!!%!2RU!F#"[Efj
ZE@eXDfYUDQPSD'GRCQCPC'4MB@Ne!!%!!!N!!!1"!"!"!J!%CY,GcXrHNTRCd0$
BYEF!#aNC(`!!#`%!!3!qHi&a)("`EfjZE@eXDfYUDQPSD'GRCQCPC'4MB@Ne!!%
!!!N!%i!!%J)"!$@ciG,2cZ#PIXr6dG(9a!be!#XD'Km!!!X"!!%!2hebFh*bFA&
`F'pZEQeYE'YVDQTTD'KRCfCQC@4NBf&T0B!!'J%)!!!"!J!4KG[CcY,1hlTbYpI
3dY(6c43!!E)!,4SD(`!!#`%!!3"!IR0dG(0bFR&aF("[EQjYE@aVDfTUD@KSCfG
QCQ9NC'0KD65"!!m"!J!!8FIIcmr5cYh,G*R@JY%$eLB!!E%!5aSD)!!!#`%!!3"
!Ih4eGA4dFh*bFA&`F'pZEQeYE'YVDQTTD'KRCfCQC@4NBQ"`-3!"!J)!)k,JeFl
4dXrBfB#!bG64dY,4cpXh!!+`!!XE'L!!!!`"!!%!3B#!GMeeGA4dFh*bFA&`F'p
ZEQeYE'YVDQTTD'KRCfCQC@0RD%!1!!-!"fV8h-l3dY,3e150G+rAd0,4dG,0idB
!!Um!#aXE)3!!$!%!!3"#JS"h-hCfGA9dG(0bFR&aF("[EQjYE@aVDfTUD@KSCfG
PCQaA(3!"!3!kXq(5cp,4dY(3kTeaP01"d365cYZ[#,!!64XE)3!!$!%!!3"#JhK
jH(KhGhCeGA4dFh*bFA&`F'pZEQeYE'YVDQTTD@GQE'Be"!!#!"L-fpR1dG,4dY,
0lDjaLmV8dG,4dY$@aaX!!Di!64XE)3!!$!%!!3"$K(PkHRPiH(GhGR9eG(4cFR*
aFA"`EfjZE@eXDfYUDQGUEdi5!!)!!PV*hmr2dY(5dG,-km&bKmM9d0,4dY(4ecB
!!Ui!44`F)J!!$!%!!3"%KATlHhTjHAKiGhGfGA9dG(0bFR&aF("[EQjYE@aVDQP
aBLJ!!!)!,+EJe-l4dY(5dG2-jp4fK-A@d0+!d362heF!!ki!64`F)J!!$!%!!3"
%KhYmI(YlHRPjH(KhGhCeGA4dFh*bFA&`F'pZEQeXDR"[3JN!!J!-H0EEcY$5dG,
5dG20iH4pIm,@d0,4dG,0iAS!!ki!64`F)J!!$!%!!3"&L(apIAamHhYkHAPiH(G
hGR9eG(4cFR*aFA"[EfjXER9D'`!"!3"'[H(4cp,4dG,5dG,1f[#*HVrAd0,4dG,
1hT`!!Di!#adF)`!!$3%!!3"'LB&q*hemI(YlHRPjH(KhGhCeGA4dFh*bFA&`Efe
eE$3#!!)!(C6Heml4dY'!dK24dY$8q*Pe[0I3dY(4dXrCZ3d!!Dd!0adF)`!!$3%
!!3"'LRq!IhpqIRemI(YlHRPjH(KhGhCeGA4dFh*bF@pcGNm3!!)!"@,1hXr3dY(
4J0)6dG,4d2UXFVRAd0,4dG,3e-iM!!+Y!$BG(#-!!!d"!!%!4ib!JB'!IhpqIRe
mI(YlHRPjH(KhGhCeGA4dFh&aH@BQ!!%"!$1YiG21dY,4JG)6dG,5cIM"F,ABd0,
5dG,4d0Y"!!1Y!$8G(5-!!!d"!!%!5)f"JS+"JB"rIhjqIAamHhYkHAPiH(GhGR9
eG(*iG8)(!!)!%B$CfXl4dY'#dK24dY,-mp9bVpM3dG,4dG,1i@3!!kd!04dG)`!
!$3%!!3")MS+$Ji+#JB'!IhpqIRemI(YlHRPjH(KhGhCcGReF'3!#!!"1`Z$3cp,
4dB25%Y(5c1cRHDRBd0(5dG(5cZ#%!!+Y!!XG(53!!!d"!!%!5Bq!K#@$Ji+#JB'
!IhpqIRemI(YlHRPjH(KfGAea-`%!!J!MR0r@cY(5dB65%G(5cHAdK+,Cd0(5dG(
5cYkK!i!!!!1U!!XG(53!!!d"!!%!5C'"K51%Ji1#JS'"J(prIRjpI(alHhTkHAC
lI9!1!!)!#'[4hFl3dY'&dKR4dXlHrC1DfG(4dY(4dXrB["3!!3%,%`J+#kB!-am
H*3!!$3%!!3"+NSD(KSD&KB5$Ji+#JB'!IhpqIRemI(YlH(U#D53!!3%!1V6KdXr
5dY'&dK[4dXrBrkD8f0(4dY(4dY$6dLi!!`!!#3!!&a38T!!b(aiP!!!0!3!"!%Z
6KiL)KiD'KB@%Ji1#JS'"J(prIRjpI(YjJAY""3!#!"D)fpR1dG,4KY)6dG,3e2q
jN!$AdY(5dG,5dFrG6J!%J3!&#3!!'"38SJ!b(aiP!!!0!3!#!%Z9L)Q*L)L(KSD
&KB5$Ji+#JB'!IhpqIAYrK&iA!!)!!9E(hmr2dY(4KY)@dG,4dIl0Mp66dG,4dY(
5cZ&`!!-!'J+!!!8*!!!B&"5J!$%I(bB!!!i"!!)!6*D*LSU*LBL)KiD'KB@%Ji1
#JS'"J(ppIBCe-3!!!J!TSq$9cY(5dBI5)G(5dFrjhj,3e0(5dG,4dXhJNJ!$!#0
V03!"!!!*!!!B&"5H!$!I(bB!!!i"!!)!6CH+LiZ+LSQ*L)L(KSD&KB5$Ji+#JB"
qK)43#`!#!!YdeGc1d0,4Lp)Jcr,ZQX[9d0,4dY(5cYZ`#`!!&Q0MD68!!3!!#3!
!'"38R!!,(amQ!!!1!3!#!%fBJB`JLiU+LBQ)L)H'KS@&K)1$JS##LQ`K!!%"!%+
kiG(2dY(4LG)NdG,1krQQaYE3dY(5dG,2eXFI!!!,@fGLB@Ne!!%!!!N!!"J8&*S
!,amI*J!!$J%!!J"1QBf1MBf-M)Z+LSQ*L)L(KSD&KB5#JBU!3!3!!J!ENGhAcY(
5dBV5*Y(5cpVqYF(Ad0,4dY(5dG,A1`!$!P"VBf4MB@Ne!!%!!!N!!"J8&*J!,b!
J*`!!$J%!!J"2Qik2Mik0MBb-LiU+LBQ)L)H'KS@#KiaI&!!#!!4Ic0l2d0,4dBh
5*FrfbElAd0,4dY,4dFrI@`!%!%&ZBf9NC'0KD68!!3!!#3!!'"38PJ!Z)#!R!!!
1!3!#!%qFMj!!N!#2Mik0MBb-LiU+LBQ)KiH&KBpj,`!"!J!`UZ(8cY,5dBc5+G(
5cZAD[YI3dY(5dY(5cH&p!!3!-@jPCQ9PC'4MB@Ne!!%!!!N!!"J8&*3!,5!J*`!
!$J%!!J"3RC!!NC'3!*!!Miq1MBf-M)Z+LSQ*Ki@0LNm*!!)!$hhBfml4dY'2dLR
3eZ$%e0(5dG,5dG,1hTi#!J!LE@KRCfCQC@4NBf&T03!"!!!*!!!B&"55!#dK)5J
!!!i"!!)!8*k4NT+4NC!!N!#2Mik0MBb-LiZ+KiU5EKm!!J!!5m$Jd-r5dG'3!0)
&dGR0dY,4J0)KdG,2fEN5!!!6CfYSD'GRCQCPC'4MB@Ne!!%!!!N!!"J8&*!!!!`
K)5J!!!i"!!)!8D#5J*-FNT+4N!#3!)q2MSf0M)b+LC1&23)!!J!KQGr@cY(5dC(
5"G(5dY(5dB$5)p(5d061+3!"#&eZD'PSD'GRCQCPC'4MB@Ne!!%!!!N!!"J8&)i
!+b%K+!!!$J%!!J"5SC59P*56Nj+5NC!!N!#2Mik0M)U3!*0I%3!#!!CSd0h1d0,
4NY)&dG,4dG,4J0)PdG,4d0Y(!!-!6h*TDQTTD'KRCfCQC@4NBf&T03!"!!!*!!!
B&"5-!#XK)5N!!!m"!!)!8U+9PTD9P*56Nj+5NC!!N!#2Mib0Ph`X!!%"!$LaiG,
1dY,4P0)$dG,5dB,5#G(3ifJ!!`"(H@Q"DKGTD'KRCfCQC@4NBf&T03!"!!!*!!!
B&"5+!#SL)5N!!!m"!!)!8k5@PjH@PT@8P*16NT+4N!#2MCD3!%d(!!)!&)AEfFl
4dY'AdJ(4dB,5*p(3fRm!"3%#0PYaFfeTD@TTD'KRCfCQC@4NBf&T03!"!!!*!!!
B&"5)!#SL)5N!!!m"!!)!9+@AQ*LAPjD@PC58Nj15NBk6QQmF!!)!!&6&i0$2dY(
4Rp)$dG201S!!)3%!!Kj)Ch0ZDQTTD'KRCfCQC@4NBf&T03!"!!!*!!!B&"5'!#N
L)5N!!!m"!!)!9+DBQCQBQ*HAPTD9P*56NC'EL6X!!!)!*k$JeFl4dY'LdJA4dYD
UA"5#!"d,-&YXDQTTD'KRCfCQC@4NBf&T03!"!!!*!!!B&"5%!!`M)LS!!!m"!!)
!9DHCJ*SBQCQBPjH@PT@8NCQCAJi!!J!*FG6FcY$5dC,5!0'0dJr4dY(4fZ$*LMN
%!!!"!"KZJ'SAD@KSCfGQCQ9NC'0KD68!!3!!#3!!'"38JJ!S)b)U!!!2!3!#!&@
TQjbEQjUDQCQBPjH@Nj@IILN!!3%!3,MKdFr5dY'0dJI4dG$2cY(5dBh5$p(5dFr
1e0rDXQNC!!!3DQb!DKGTD'KRCfCQC@4NBf&T03!"!!!*!!!B&"5!!#FM)LS!!!m
"!!)!9UUFRCfFQjZDQTQBQ*D9Rj9,"3!#!"Q1hGM1dG,4LG)-dG$2cXl2dYADhqV
Id*!!dP(4dG,3cY2Ah,!'!!PQEQYVDQTTD'KRCfCQC@4NBf&T03!"!!!*!!!B&"3
!)b-U!!!2!3!#!&HVRCkHRCfFQjZDQTQ@Qk&['!!#!!0FbYr2d0,4K0)#dG$2J-i
0cp,@h12UmIImr[rbdp'2dJl4dY(3eG6%[-[)%3!%B(#!DcaUDQPSD'GRCQCPC'4
MB@Ne!!%!!!N!!"J8&#-V!!!2!3!#!&HXRTqIRTkGRCbEQjQCT)dh!!!#!#kSi06
1JG)5dG$2cFh-cY(9fq2Umr[rr[lrri$q"Ir`d0$5dBc510(5dG$6em@b[p(9c"d
!!&PbE'aVDfTUD@KSCfGQCQ9NC'0KD68!!3!!#3!!'"3V!!!3!3!#!&LZRi#J%Tq
HRTfGR*UJRed-!!)!$AR@fXf!cKh0cY$8fGrRlrEprrlrr[caj0R+`m6&e[[rmG(
4dY',dR$4dY(3dYM,V+r-eG(3ebm!!&&dE'eXDfYUDQPSD'GRCQCPC'4MB@Ne!!%
!!!N!!"J!!"!"!!)!@DqJSU'KS+#IRTkGR+#'*3!"!3")[Z,6dpMFi16Tl1cZkZ2
GdF@kUk#9LS+!KC1QZ-63p2radG(5dBV5,p(5dY(4f0'XRlr@dp(4cp`q!!")G@a
YE@aVDfTUD@KSCfGQCQ9NC'0KD68!!3!!#B!!!4!"J!!M@E#LSk1LSD'JS*qHRTZ
RA!!%!"k9h0E,bmc'`EfcUk1BNSb)J)85KSU0NCHU[mrAfGE9p2radG(5dBV5,0(
5dG$@eV18VG,@d0(5dFrH6`!!2RGYEQeYE'YVDQTTD'KRCfCQC@4NBf&T0B%!-!N
!$`%!!3"JXD+NT+1MSU'KS+#IRTbQE!!!+FcBaF6%`,fmZlbq`-2(bXh2dG28eGD
!e`cBeY24d0$`rr,4dG,4LG)[dG,4d0AB[C'CapM4dG,4dY(1i@8!!$9iE@jZE@e
XDfYUDQPSD'GRCQCPC'4MB@NjJ3!)#!m"!!%!B,'MJ+36Sk1LSD'JS*qGTRJ!!$2
DcY26e0@#eJ69eG66di$5JY%-d0$4dG,2lIrbdY(5dBM5$p(5dG$6f-@9L,EBe0$
4dY'!dKl1i(8!!#YhEQpZEQeYE'YVDQTTD'KRCfCQC@4NBQNjJ3!$#!!3!B!!!PU
bSi#N$U1MSU'KS+#HT)-#!"l0djA4#G,5cqVrmp,4dY'(dJr4dY(3dYM-RRkId0I
3dG,4JY)'cpk*!!!KGS"[%fjZE@eXDfYUDQPSD'GRCQCPBfXfJ3!!#B!!"a!"!!)
!@V+MJ+31Sk1LSD'JRk12#!!5ap64NY)+dG,5cZIrmp,3dY''dK$4dY(3dGI3UAk
+`GR5d0,5dB25"XrGR3!!'A5!F#4[EQjYE@aVDfTUD@KSCfGQC'`h!!%!!!N!!#i
!!"!"!!)!@V+MJ+30Sk1LSD'ISCJ3!!Lkep#8dJI1j2rddp$5dBA5%0(5dY(4eY1
bJhZXeGA3dG,4KG)(cpUS!!!4F(+!F#4[EQjYE@aVDfTUD@KSCf9Z1!!"!!!*!!!
C*5i!!"!"!!)!@V+MJ+3-Sk1LSD#KRKS!!+VDd*(5#G(5cZ(rp023dY'%dK(4dG,
4d0E9ZSYdPXRBdG(5dG'%dM,4dY$8[!N!#@acFA&`F'pZEQeYE'YVDQTTD'G[1!!
"!!!*!!!C&#8P,J!!%!%!!J"DXU1!T!ZMSk+KS+8P!!#FhFq3!0)*dG,1h[redp$
5dB65%0(5dG$8eVq8G)1heY63dG,4K0),dG(5d-lL[JX!"@CeJ(%QF("[EQjYE@a
VDfTTD(!j!!%!!!S!!"N9&3!P*5i!!"!"!!)!@V+MJ+3+Sk1LS+Na!!#*hXq2dJR
4dXrEr[E6d0,4Jp)3dG,4d02AaCajGk(1ep(4dY'&dLI4dY(1f0f3!"S!!J"FH(&
bFA&`F'pZEQeYE'YVDA%k!!%!!!S!!"S9&B!!$#8P,J!!%!%!!J"DXU1!T!QMSU#
V3!!!GZ$1M0+!d3M5cpMppp63dY'#dK(4dY(3dYI+ShpcMElAdp$4dY'%dJl4dG,
2dH'k3J!"!3!ADAD!FKCaFA"`EfjZE@eXDR-k!!%!!!S!!"S9&B)!$#8P,J!!%!%
!!J"DXU1!T!QMS+j1!!"NiFl4J0+$d3$3J-m,cXl2dG$@qrI8d0,4JG)4dG,5d0,
AcUQ%G(kTdGE3dG,4KG)SdG,3cYc9G!X!!`!'3AGhFh4cFR*aFA"`EfjZE@Yd1`!
"!!!+!!!E&KD%!!`P*5i!!"!"!!)!@V+MJ+3(SDjF!!"3hFf!caA1cXr2dG29epV
Ghq(Ji0I4qIM8d0,4JG)4dG,4d0E5X)PhH*6%f0,3dY,4K0)TdG,4cYAJSbN!!J%
!*@TrGR9eG(4cFR*aFA"[EfjXG6`!!3!"#J!!'aB@KJ!Z*58Z!!!3!3!#!&UbSk5
NSDeU!!!rhpADhGrJiGlFemh'YkLDKR0P4NRUr063dY'!dK(4dY,3dpHjMAThK,(
8eG$4dY'%dLV4dG,3cpr(9J%!!J!28hplGACfGA9dG(0bFR&aF'pYGM`!!3!"#J!
!'aB@L!!J*58Z!!!3!3!#!&UbSk5LV(J!!#h,Z+QFL(CN6ciZ(K%'JJ!'",Rrdp$
5dB$5%0(5dG$@cTpmHAbEbYI4dG,4KG)UdG,4cYMEL"B!"!!$1AH"H(GiGhGfGA9
dG(0bFR&`EhJp!!%!!3S!!"`@&iS!&#8P,J!!%!%!!J"DXU1MUi3!!!34"iN!(3%
%!`1hrp23dY(5dY(5dY$5elZ*HAQ*Z0E8d0(5dB65+p(5dXr4iEBk!!)#!"9GJ(T
jHhYkH(GhGR9eG(4cFR&`H6d!!3!"#J!!("FAM!!2*58Z!!!3!3!#!&UbSUQ3!!D
+!"i(%!!"!J#Qrp,3dY(5dY(5dG$@d+*pH(kLcYI3dG,4KG)VdG,3cYc8FJS!"!!
9L,@MLi"hFR"bG(GjHAGfGA4dFh&k2J!"!!%+!!!F&aH1!$NP*5i!!"!"!!)!@V'
QQ3X!!3F3'bFd38eABh#$R5`!"!#Brp22dY(5dG(5d0,A[SahHT,!ep,3dY,4K0)
XdG,4cYEJSLJ!!3!!9qArrIrmmH$-Y*f*HA"ZF(0fGhCbHcm!!3!"#J!!("FAN!!
!0L8P,J!!%!%!!J"DXk&fHiL6R*kKSUHc`Y(Nrf%!"J#)rp62dY(5dG,4d0E4TAe
fKDr6eG$4dY'%dLh4dG,2dH$$9!%!!`!jbrrprrllr2hrr[lrqZR5YCQ#FQYUI%!
!!3!"#`!!(4FANJ!d*58Z!!!3!3!#!&UbV+bQSD+V[0$Qp[lprh-!"`"jrpA2dY(
5dG,3dYI"MR9mRXVAdG$5dG'%dLh4dY(1fpGk$`!#!J!+G+HacHMkrrlrr[rqqrc
qrrlrppkpUd-!!3!"#`!!(4FAP!!a*58Z!!!3!3!#!&U[SVE2jrRrr[lmq[pr!!J
!D2r@cY,4dY,4d0A5UAaeMlhAdp$4dY'%dJV4dY(1e1'T,J!"!S8!'``N3QD1YY[
hrrlqrrllr2hrN3!#!!)-!!!G&aH@!#iP*5i!!"!"!!-!FIrpr[rmr2rqr2q3!!!
(!&(rfFl6dG,5dG(A`j!!Fi'YdYE3dG,4K0),dG(5d-rIbed$!!)"JJ!#!`-#K!!
8""j&G+I9q2rmriN!!J!#'3!!+"JCQ!!X*58Z!!!9!`!#!)hrr2lqrqkqK8F$"3"
!q0[0dp(5dG$9e+alGj[)ep,3dY,4K0)+dG,4cYMGMaN!!J+)!!%"!B!$!!+#!!i
#)%f8I3!#!!)D!!!['"QD!!mP*6S!!"d#!!)!L[r&K885J!!@"3!cm0r-dp(5dG(
AaT&bLVV@e0$4dY'%dJV4dG,2dH'j33!!!T%!!`%$"!1#!!J#!!!9!!!i+bQF!!S
P*$S!!"`#!!!''i%!&`%$"J!RkH,,dp(4d069VRYlUG(@d0(5dBA5#Y(5d-lFe()
+!!)"P`!!!B!$"`!!"3!)*c-eRJ!91MP%!!!2!!!#!!%%!`%!!J!EhHA,di$4#pM
)NA5@aYI5d0,5dB65#Y(5dFl9i+)S!!%#RJ!&"3!**c3eS!!)1cNZ"3!)!!!"J3!
8!J!4d1M+dp(3e0D`Hi1heY63dG,4K0),dG(5cp$Jae8!!!)"RJ!&"3!!$``0SJ!
&1MJZ!J!)JJ!6!3!+a1c+dp(4f-U5H+22ep(4dY'&dJV4dY(1fGZ'&3!#!Tm!"38
!!!i,#k3!"4%4&!!!#)!!%`%"!lAZbG23e0HaIBl$f0,3dG,4K0)+dG,5cY,KXcN
!!3+J!!8&!!!1$!bQ!"N4%4J!!!B!!!)!Sqr+dY$Bbj1!X0A9d0(5dBA5#Y(5d-l
Gd@N(!!)"S!!&"3!!$J`-UJ!!!B!!%3)!P2$+dG2BXB'DcGM4dG,4dB65#Y(5dFl
@hjSL!!)#S3!&"3!!$J`-VJ!3!`#%m-V4f-Z9LVhBdp$4dY'%dJV4dG,2d1$"63!
!!U)!"38!!!i-$+i!$`3!Gqr+e0HbLDM8eY$4dY'&dJV4dY(1fYPr%!!#!D)!"3B
!!!i-$+i!$`3!CZh-f-ZDPmICdG$5dY'%dJV4dY,1dq'X-J!"!U-!"3B!!!i-$+i
!$J3!9ZM3eV58Y0I8d0(5dB65#p(4dY$2hXeK"!!#!D-!"3B!!!i-$+i!$3-!4H6
@bD1QcpM3dG,4KG)+dG,4cYIHNaX!!J+N!!8'!!!2$!bZ!!d$!$EJeEHM`GM5d0,
5dB65#Y(4dXr4iEa&!!!#T3!&"J!!$``-VJ!-!J!UfFkVYG2@d0(5dBA5#Y(5d-l
FeRB-!!)"T3!&"J!!$``-VJ!,!J!Ic-@[bYI4dG,4KG)+dG,4cY6JT5X!!3+Q!!8
'!!!2$!bZ!!X"!"@ka,l9e0$4dY'%dJ[4dG,3cpr*@3)!!J'Q!!8'!!!2$!b`!!J
,UFl,eG(4dY'&dJV4dY(1f0b,&`!#!UF!"3B!!"!-$,!!"35FfFr6dBI5#Y(4dXr
4iEBp!!%#U!!&"J!!%!`0V`!)!J"%j-l4dG,4KG)+dG,3cY[9EJJ!!J'S!!8'!!!
3$Jk`!!8#!$IDcp''dJV4dY(1e1#P*J!"!UN!"3B!!"!1$V%!"3%!*YA4dB65#p(
4dY$2hmP9!!!#!DN!"3B!!"!1$V)!"3%!&-h6dB25$Y(5dFlBhBN6!!)#!!!(!DB
!"3B!!"!1$V8!!`c$eG'"dJV4dY,2dZ'f1!!"!S!!!Jd!#+8!"3F!!"%1$VF!!VA
Bd)$5%Y(5d-lFdfX'!!)"!!!#!!-!!!LM!!8(!!!4$Jkf!"!"!+AEcp,4dY(1eH#
H)!!#!S-!"!J8!!!)S3!&"`!!%3i1Y`!1!J#@hFr4dXr3i-9-!!!#K3!&#"%8!!!
)R`!&"`!!%3i2Z!!0!J"rhmr4cYRDJ3i!!J'(!!84%43!!!LG!!8(!!!4$Jqj!!X
$!'lKbp,KX$%!!3++!!84%43!!!LE!!8(!!!4$Jqk!!S$!&[GfY"L!`!#!B`!"4%
4&!!!#*N!"3F!!"%1$lX!#!)!4qZ6'J!#!Sm!"4%4&!!!#*F!"3F!!"%1$l`!"J%
!+Nm!!!+5!!84%43!!!L9!!8(!!!5$Jr"!!%#!C3!"4%4&!!!#*-!"3F!!")2$m%
!!!+A!!84%43!!!L4!!8(!!!5$`rH!!84%43!!!L2!!8(!!!5$`rJ!!84%43!!!L
0!!8(!!!5$`rL!!84%43!!!L,!!8(!!!5$`rN!!84%43!!!L*!!8(!!!5$`rQ!!8
4%43!!!L(!!8(!!!5$`rS!!84%43!!!L&!!8(!!!6%"$U!!84%43!!!L$!!8(!!!
6%"$X!!83%"3!!!L"!!8(!!!6$a$Z!!d4%43!!!J!!!F!!"-3%2!!#a%4&!!!"`F
!!"-3%,F!Y`!,&aFE!!!*#3!!'K89m!!0&aFE!!!+!!!+!!!D&4AZ!!8A&a`!!!U
"!!8+!!!D&4EX!!BB&a`!!!S"JJ!&#J!!'K89kJ!+'"FF!!!+!3!!!3'!!!8+!!!
D&4AS!"8B&ad!!!S"!!%!26i!!3!!#J!!'K89jJ!A'"FG!!!+!3!"!$TcFMS!!3!
!#J!!'K89j!!C'4NG!!!+!3!"!$YdDfTc1J!"!!!+!!!D&4AL!!XC'4d!!!S"!!%
!2(D!E!aUFcS!!3!!#J!!'K89i!!,'4NH!!!,!3!"!$ahJ@d0E'Tc1J!"!!!+!!!
D&4AH!!XC'4i!!!X"!!%!2AL"EJpYE@aUFcS!!3!!#J!!'K89h!!K'4NI!!!,!3!
"!$ejEh"[EfjZE@eXDR-k!!%!!!S!!"S9&GS!)aNC(`!!#`%!!3!qHh"aFA"[Efj
ZE@eXDR-k!!%!!!S!!"S9&C)!"!%!!"N0[J!P'4NI!!!,!3!"!$pmFA*bFA&`Efp
ZEQeYE'Tc1J!"!!!+!!!D&4@5!!-*-8JE[3!R'KSI!!!,!3!"!$ppFR0cFR*aFA"
[EfjZE@eXDR-k!!%!!!S!!"S9&Bd!#3%!!5&20NdL!!'k!!XD'Km!!!X"!!%!3(k
!G"TcFh*bFA&`EfpZEQeYE'Tc1J!"!!!+!!!D&4@0!!J42&Sb0eBR!!'j!!XD'L!
!!!X"!!%!3(q!G4adG(0cFR*aFA"[EfjZE@eXDR-k!!%!!!S!!"S9&BS!#J3Z69F
m)P&3,`!"Z!!,'aSJ!!!-!3!"!%'!JABGGA4dFh0bFR&aF'p[EQjYE@aUFcS!!3!
!#J!!'K8-K3!-!3!!'NG38%m35Ne30lN!#aXE)3!!$!%!!3"#JS&h(RCfGA4dFh0
bFR&aF'p[EQjYE@aUFcS!!3!!#J!!'3L'!!X+1&*15Pi309*,8$bi!#mE'b%!!!`
"!!%!3S0iHAKiGhGfGR9dG(0cFR*aFA"[EfjZE@eXDR-k!!%!!!S!!!5#!!m"!!%
P69&-5'BI'90,6%p#Y`!`'aXK!!!-!3!"!%1%HATkHAKiGhGfGR9dG(0cFR*aFA"
[EfjZE@eXDR-k!!%!!!S!&)-!$a0"8Ne04QFe!NT16%a14`5e!$!F(#)!!!`"!!%
!4)9kHhYkHRPiH(GhGRCeG(4cFh*bFA&`EfpZEQeYE'Tc1J!"!!%*JJ!4"M"36dY
14Q4-!$945de-68X(Y!!Y("`L!!!-!3!"!%5(HhamHhYkHRPiH(GhGRCeG(4cFh*
bFA&`EfpZEQeYE'Tc1B8!#ae*8Na-6NGHB3!C8B*-!8i1X`!a("`L!!!-!3!"!%@
)I(epI(alHhTkHAKiGhGfGR9dG(0cFR*aFA"[EfjZE@eVDASf!!'!!"301e*15da
15&Ca#!*%6da068a-8"5b!%SF(#)!!!d"!!%!4BPpIRjpIAamHhYkHRPiH(GhGRC
eG(4cFh*bFA&`EfpZE@Y`F8B3!!%!!LG08%Y-68e+6hdC!#e55de-6%e,8aQa!!X
G(#-!!!d"!!%!4SU"IapqIAemI(YlHRTjH(KhGhCfGA4dFh0bFR&`F'pYERCH(i%
!$K9"8Na,68a06%L$,!!86S&-"%e,8%!$X!!,(4`M!!!0!3!"!%H,JB!lIhpqIAe
mI(YlHRTjH(KhGhCfGA4dFh0bFR&`ER9[1J3!!3!,0P"25da06%e14)0$!!a'6Na
06%e-6NN*X!"0(4`M!!!0!3!"!%H0JB+"JB#!IhpqIAemI(YlHRTjH(KhGhCfGA4
dFh0bF(0i9"-!!3!#*%Y46%a06%e-6N*p@`!*3e",68a06%a2%`!"VJ!Y(4dM!!!
0!3!"!%L1JS1$JS'"J)"rIhjpIAamHhYkHRPiH(GhGRCeG(4bFRTU+i%!%a0!8Ne
,6%e-68a23R4c!!C"88Y0J%`%5e)I!!'Z!%dG(5-!!!d"!!%!5Bq$K)5$Ji+"JB#
!IhpqIAemI(YlHRTjH(KhGhCfGA*jH%F+!!%!"Lp28%Y-68a068a24'Q)"3-q88Y
06%a05e)Y!!'Z!#`G(53!!!d"!!%!5C!!K)@&K)5$Ji+"JB#!IhpqIAemI(YlHRT
jH(KhGh4fIQ%GJ3!'(8G56%a06)"0%%a14PfA&3!l88Y06%a05e%jX!!h(4dN!!!
0!3!"!%U4KBD'KB@%K)1$JS'"J)"rIhjpIAamHhYkHRPiGhCqG$J$!!%!$6P56NY
-68b!64&-6NP5RbS!19*,68a-68Y24!@[!$BI(L8!!!d"!!%!5T1'KiH'KS@&K)5
$Ji+"JB#!IhpqIAemI(YlHRPhHhp9%3!"!!-R69&,6%e-J8d46%e,5k&$!$C55de
-6%e-68X0V`!-(aiP!!!0!3!#!%Z8Ki#)'SH'KS@&K)5$Ji+"JB#!IhpqIAemI(Y
jHS*Y+B%!"aC#8Ne,68e-J8d66%e04CaH!$*55de06%e-6&!B!!'Y!!XI(L8!!!i
"!!)!6*@"L5@)L)H'KS@&K)5$Ji+"JB#!IhpqIAemHS&q4JJ!!3!)-P"25da06)*
0%da06N15HJ!Z8dY-68e-68Y5*!!"V3!d(amQ!!!1!3!#!%b@LSZ+LSQ*L)L(KSD
&KB5%Ji1#JB'!J(prIRYqK@-E!!%!!#"*8Na-68b%64*-6d+&N`!R8dY-68e-68Y
5-!!"V3!d(amQ!!!1!3!#!%fALib-LiU+LBQ)L)H'KS@&K)5$Ji+"JB#!IRf'H6B
"!!%!$ca56NY-68b%64&-6d0hTJdJ8dY-68a-68Y41`'!!!!$UJ!c(amQ!!!1!3!
#!%fCM)f0M)b,LSU*LBL)KiD'KB@%K)1$JS'!IS5'93m!!3!%+dj35da06)90'8a
24@Qb)"K86%a06%a06%p&"`!!!3X8#3X-TJ!R(amQ!!!1!3!#!%kDMBk1MBf-M)Z
+LSQ*L)L(KSD&KB5%Ji1!JBT`*i%!"aP%8Na-68a-K8dE6%j(AEJk%90-6%e-68e
-68i6!!)!!!S!!"N9&D3!-L!J*`!!$J%!!J"2Qik2Mik1MBf-M)Z+LSQ*L)L(KSD
&KB5$JBQ$438!!3!+0P&25da06)C0$%a1595f93Y568a06%f!6!04)!!#J3!&#J!
!'K89SJ!a)#!R!!!1!3!#!%qFMj!!N!#2Mik1MBf-M)Z+LSQ*L)L(KSD&JSH0C"J
!!3!")dY46%a06)G0&Na15df[FJT26Na06%e-68Y5,!!"!4`$J!!&#J!!'K89S!!
-)#!R!!!1!3!#!&#GN!#!N5'3!)q2MSk0MBb-LiU+LBQ)L)H&KBjp0!!!!3!52e*
05de06)G0)8a06%LMM3p,6da06%e-68Y41!!#!#Ce1J!"!!!+!!!D&4@H!!`K)#F
!!!i"!!)!8*q4J*)JNC'3!)q2MSk0MBb-LiU+LBQ)KBb-93`!!3!',Np35da06)Y
0)%D@T"Y&8%Y06%e-68Y33`B!!"KXE()k!!%!!!S!!"S9&C`!,b%K+!!!$J%!!J"
4S*18Nj15NT'4N!#2Mik1MBf-M)Z+LSH*NR-M!!%!!"a(8Na-68b+654-6N@&Y#d
r8NY06%e-68a15`i!!!aMF'YUFcS!!3!!#J!!'K89QJ![)5%S!!!1!3!#!&+KP*@
9P*16NT+4NC!!Miq1MSf0M)b+L*+)3`3!!3!-19&15da06)T0#Na15'#j4$P65de
-J%dB6%a3'3!"!PCdDfeXDR-k!!%!!!S!!"S9&CJ!,L%K+!!!$`%!!J"5ST@@PT@
9P*16NT+4NC!!Miq1MSf-LSq8C"8!!3!#*da45da06)j0*8DIC$965de-68e-68Y
5*3!#!%GhE'jYE@aUFcS!!3!!#J!!'K89PJ!Z)L%T!!!2!3!#!&1NPTHAPTD9PC5
6Nj+5NC'3!)q2MSb0Pi!a!!!"!"9#8Ne,68e-M%dT6%j%Fh`h8Na06%e06%e,8M)
!!J!eH'j[EQjYE@aUFcS!!3!!#J!!'K89P!!Y)L%T!!!2!3!#!&1PPjLBPjH@PT@
9P*16NT+4NC!!Mib9NP-+!!%!"c*36dY-68b265P,8ha#6Na06%e06%e,86d#!3!
NGR"`EfpZEQeYE'Tc1J!"!!!+!!!D&4@5!#`L)5N!!!m"!!)!9+DBQCQBQ*HAPTD
9PC56Nj+5NBk5QR3J!!%!!"p*8Na-68b4639+C9"+68b!65&-68a24`N!!"9[Fh"
aF'p[EQjYE@aUFcS!!3!!#J!!'K89N!!!$#)L+3!!$`%!!J"9TjQ!QKbCQ*LAPjD
@PC@8Nj14N!#DM%%#!!%!$ca56NY-68b4639-8&0+68b!650-68a064)!!!PPGh&
bFA&`EfpZEQeYE'Tc1J!"!!!+!!!D&4@1!!`M)LS!!!m"!!)!9DLDJ*XEQTUCQ*L
APjD@PC@8NCHDC")!!3!%+Nj35da06*00"%a06%e-JNdM6%a4(J!"!&9lFA0bFR&
aF'p[EQjYE@aUFcS!!3!!#J!!'K89M!!I)b)U!!!2!3!#!&DUQjfFR*ZEQTUCQ*L
APjD@Nj5IJLk"!!FB4&*-6%e06*90!Na06)*0*8a-8bS!!3"-JR&bFh0bFR&aF'p
[EQjYE@aUFcS!!3!!#J!!'K89LJ!@)b)U!!!2!3!#!&DVRCkHRCbFQjZDQTQ!Q"#
@P*fA83F!!3!*09&25da06*C0!%b%63e-6&!b!!)!!MTLHRaeFB"b&R&aF'p[EQj
YE@aUFcS!!3!!#J!!'K89L!!T*#-V!!!2!3!#!&HXRTqIRTkGR*bEQjUDQCL9QU&
d(3!"!!%M5e&-6%e-S%d$6%e0'S)!"3)J6A"mGi"b&R&aF'p[EQjYE@aUFcS!!3!
!#J!!'K89KJ!T*#-V!!!2!3!#!&LYRk#JRjqHRTfFR*ZEQTLBSj!!2J!!!3!52P*
05de06+*0"8a-6d%P#B)!!``dBR@!FKCaFA"[EfjZE@eXDR-k!!%!!!S!!"S9&B3
!+#3M,!!!%!%!!J"BVU#KSD#JRjqHRTfFR*ZBS+&M$`!"!!8Z6e",6%e-Mdd$6Nj
06)p0+%a-6e*,04J$!!!"!"ThFh0bFR&aF'p[EQjYE@aUFcS!!3!!#J!!'K89JJ!
R*#3X!!!3!3!#!&Q`SD+LSD'JS*qIRTkGQTbRK#X!!3!!'dC56%a06)T0J8i(6%Y
)4d4,68b065T-68a-5de48%-U$!!!%A*eFh0bFR&aF'p[EQjYE@aUFcS!!3!!#J!
!'K89J!!-*53X!!!3!3!#!&UaSS#M&k+KSD#JRjqGQkDF6`8!!3!-1&&15da06)4
0J8i068Y*4dC'5%e8B'Z$DdQ463a-68a,6Ne14!-!#@jfJ(-QFR*aFA"[EfjZE@e
XDR-k!!%!!!S!!"S9&3!P*#`!!"!"!!)!@V+MJ+38Sk1LSD'JS*bLU(3D!!%!!LC
-88Y-JNf!6K406%T)4N9&58pBCA1$Nk#UX,fB8%b266G-68a,6dj!28K+#!!%ChK
dG(0cFR*aFA"[EfjZE@eXDR-k!!%!!!S!!"S9&53X!!!3!3!#!&ZcT)#P%k5NSk1
LSU#IUj-k!!!"!"9"8Ne-J%iF68a+4d9$3dC-9@*aJT1NXE[#`EkiXl#iN!"*5Ne
-M%d36%e-5dj436%q68j0$J!!AhU!G&YcFh*bFA&`EfpZEQeYE'Tc1J!"!!!+!!!
D&5d!!"!"!!)!@l5PTkHQTD@NT+1MSDHQB3`!!3!(-9"258P(484&58pCCR@&PD5
[YVLcVk#2IfTH@e0RUVL55dY06)Y0F%a06%Y08dBU,NK36%a2%J!!9hadGA4dFh0
bFR&aF'p[EQjYE@aUFcS!!3!!#J!!'J!!%!%!!J"FYUHSU+HRTU@PT+5LTS`Q!!%
!!"j(88e299eQF(b'M*15Li9eC99!-#%4"J%%$b!b1dUBZj0,5dj-LNd[6%e06%a
56#SI29&16%e-84S!!%eqG(CeG(4cFh*bFA&`EfpZEQeYE'Tc1J!"!!!+J!!q%3%
!!3"FYkLTUDLSTkHQTD@NSDjI!!3!$cj899CBA9TA9%Jp-L-B$`F#!3!#"JS1&#B
l5P*989#C[j4-5dj-LNdX6%e-5e&3-"3V6P"-6%e-5e)K!!"$J(9fGR9dG(0cFR*
aFA"[EfjZE@eXDR-kJ3![#J!3!3!"!'1hUDUUUDQSU+HRTU@PSUea!!!689"*4d9
!1cJe0$Bi2%&%4dT06P"4J9)-8e&06%Y*NEk86%Y16)P0,da06%Y28MN4'%466%a
06%e05e)Q!!!jJ(9hGRCeG(4cFh*bFA&`EfpZEQeYE'Tb2S%!+3N3!3!"!'1iUDZ
VUUQTU+LRTkDPSkap!!!98%T068j28&&58P&48%p16S"0Jd`,5da068L+[jC05dj
-L%d26%e-5dj6348*-e*25da06)"0(NY5,`!!,S"fGhGfGR9dG(0cFR*aFA"[Efj
ZE@aUFck"!"S*!"%"!!%!AEQTUkZUUDQSU+HRTU5VL3%!%%k@6!P068D$[jG15Nj
-Kdd26%e-5de54ad!(NY55da06)*0(8a40J!!)hphH(GhGRCeG(4cFh*bFA&`Efp
ZE@ae1i!!!3%+J!!C%3%!!J"GZDQVUkUTUDLSTkHPUC8)!!P+68b563T-68j&I,k
C6NT16)C0%%a06%Y-8NXR!!Xp8de,68e-Jdd'6&!l!!!DI)"i0AGhGRCeG(4cFh*
bFA&`EfjYGM`!!3!"#J!!-!!!%3%!!J"GZDQVUkUTUDLSTkDSRK!!"8G16*00#%j
&GEfD6dT16)90%%a068a-88i["3!T8&",6%e-K8dr6%p"!J!5H(TjH(KhGhCfGA4
dFh0bFR&aF'jh2!!"!!%+!!!E*c!!!"%"!!)!AEQTUkZUUDQSU+HRT4X!!d026*&
0#8a14@klR%p+6Nb&63p-68a,8&!f$!!949*-6%e-K8e"6%e-68F&!!TdI(PjH(K
hGhCfGA4dFh0bFR&[H$d!!3!"#J!!("FR*c!!!"%"!!)!AEQTUkZUUDQSTkDX*J!
!1e"-N!"0#8a14QHjRNp+6Nb%64"-68a,6e%m%`!'-e&25da06)903Na06%Y55!8
!"@eqHATjH(KhGhCfGA4dFh0bF(Nq!!%!!3S!!"`A&`!R*c!!!"%"!!)!AEQTUkZ
UUDQSTV!c!!!h88b263P-6NCKYU"35Nj-Jdd36%e-5dj534S!!"p*8Na-68b&65G
-68a,6P%i$!!#!'+"HATkHAKiGhGfGR9dG(0aHci!!3!"#J!!("FAJ!!C*bF`!!!
4!3!#!&fjUDZVUUQTTV*#!!!`88Z163P-6NGEXU*458j-JNd46%e-5de545%$!!d
k8Nj,6%e-K8dR6%e-6&*((!!!!3!CFAjlHhTkHAKiGhGfGR9dFR`r!!%!!3S!!"`
A&i)!'#FR-!!!%3%!!J"GZDQVUkUTTV43!!!R8NZ#6BC-J%X)6NP@VU4458j-J8d
46%e05de555F&!!)R6&&,6%e-K8dS6%e-5e"2,JB!!3!'4Aq!I(alHhTkHAKiGhG
fGA4p3!!"!!%,!!!G&aH%!"FR*c!!!"%"!!)!AEQTUkZUTl9I!!!N8NZ!6)",J%`
268j28&&58P408+QR8NP16)&0%8a06%Y465d*!!!63&*05de06)40+8a068Y08Mm
5!!%!!#KaL(jpIAamHhYkHRPiH(GfG(j!!!%!!3X!!"dA&iB!,LFR-!!!%3%!!J"
GZDQVUkLdEJ!!'P*06e"489*589"158C#1MFZ+"iIRkT558j-J%d46%e05dj40Jd
!!!BZ6e",6%e-K8dT6%e-5e&,)`%!!3!3@BH$IAjqIAemI(YlHRTjH(GfId%!!3!
"#`!!(4FAL!!K*bF`!!!4!3!#!&fjUDZTXhd!!"004N-l0c!Q)aS6%!J%!B%!"J+
'V9**6Nb!63C-68a,88SHJ!!''N956%a06)90+Na06%Y186B+!!-!!carLAprJ(p
rIRepI(alHhTkHAH"33!"!!%,!!!H'"Q+!"8R*c!!!"%"!!)!AEQTUE+*!!!$#38
$L3!F!3%!JV*65%j-68e-68e,69)i#J!!#6946NY-68b&65T-68a-8NBC!!%"!"G
NLB+"Ji1#J(prIRepI(alHhTiJN)!!3!"#`!!(KJCM!!2*bF`!!!4!3!#!&fjU,#
9"SS!(JF3!!!"!(Hc9%K16%e06%e-5e&,)!!!!5&+88a-68b&65Y-68a,6e!a"J!
$!"@*ZDQ4KhpkHATpIi'"J(jpI(alHB0#!!%!!3X!!"mB'Bi!15FR-!!!%3%!!J"
GZ+bI#`!""a!E+$C%8&aSGBLL,J!$!'bd98K16%e06%e,69)k$!!!%6a568Y068b
%63G-68a,69*#&)%!)&IPrrhrr2(LcVLMMi&iGRKmIRpqHS4$!!%!!3X!!"mC'C!
!!$BR*c!!!"%"!!)!AEQRHS#0QD+PU+UZZFI9j[pK!!3!BE4@4dj-68a06%Y36#-
"!!BY6P",6%e-K%dY6%a06%a45LB#!!%!1F[rrIrqqrcprrlqrrVUe,QILATdFi9
%!!%!!3X!!"mC'C)!0#FR-!!!%3%!!J"GZE+cVDLSX-$5jrEqrIpc!!8!9V4B4dj
-68a06%e523i!!"a'8Na-68a-K%dY6%e-5e"2,!B!!!%!#R5RXFhSq[rqrrlrr[[
mr[rqrrIJ`,"(!!)!!3`!!"mC'C3!-5FR-!!!%3%!!J"HYULkdHMjrrlqr2VrI`!
'!%Ub@NC16%e06%Y365B"!!ij88j,6%e-K%d+6%e-5de52K%!!!'&!"X-*%*QMVE
Eprrqr[rqqrcprj%!!J!#$3!!(aNCPJ!Z*bF`!!!4!3!$!(,rrIlqr2crr[crN!!
!"J!hVPe'6da068a-8Mm3!!3U69&,6%e-K8d*6%e-6&&+)J%!!B-!!J-$!S3!&!3
H4A5ReIMrr2q*!!)!!KN!!#ND'TJ!,#FR-!!!&J-!!J#0rrhqr[rZ[S9("!3!+kK
J48p-68a,6dmT!3!C4&*05de06)40"da06%Y2863*L`!"!3'!!`!#JJ!1!L"0P(d
!!J!#'J!!-"SDQJ!2*bFm!!!G!`!#!)VraB9&%S!!&J3!)U0M4%p-68a-8N)4!!X
h88p,6%e-K%d+6%e05da53aF!!!'4!!-"!`3$JJ!)!J!!&3!!1#XUR!!+*bBl!!!
G!J!!"KZ"!"F"!`8!'CeQ4%p-6%Y28#X"!5C-88a-68b&63P-68a,8%iU!`!"Q!!
!!B!$"`!!"3!)+$3eRJ!91cT&!!!3!!!#!!%%!`%!!3!5P'P$6i"-#e*%%J!93P*
05de06)40"da06%Y18MX1S3!&"3!)+$3eS!!)1cS["3!)!!!"J3!8!3!-Lfa$6da
,6e%X!!Bc8%p,6%e-K8d*6%e-6&**(`!!!Cm!"3B!!"!0$D)!"6Si,J)!#))!%`%
!"S*Z3dp-6&*&%J!K5e&-6%e-K8d(6%e-5dp3-3HL!!8'!!!1$!bN!!85%48!!!L
#!"%#Gh"#6dY18Li!$Mp568Y-68b%63T-68e,69*"&3!!!D!!"3B!!!m-$+B!'4)
5'3!!"`!!!3"XFN015e0'%J%Z8&",6%e-K8d*6%e-5e&-*J)!!D%!"3B!!!m-$+S
!!!'!!"%"!'&c3de18Li#'NK56%a06%b%63G-68a,6P%i$+3!"3B!!!m-$+X!%`%
!!!)!9A0$690'&3Xj8dj,6%e-K8d*6%e-6&*((!!!!D)!"3B!!!m-$+i!$`)!6A0
$8&)[#LC288Y-68b&63G-68a,8%mZ"U8!"3B!!!m-$+i!$`)!3R*%9%BC&d066%Y
068b%63T-68e,69)r%J!!!D-!"3B!!"!-$+i!$J)!0Qj)8M%8-P*25da06)90#8a
06%Y45b-"!!'N!!8'!!!3$!bZ!!d#!#YV68BK*%T55da06)90"da06%Y2868+T`!
&"J!!%!i1VJ!0!3!KD8`e)6e668Y068b%63T-6%e-6&*&'3!!!D8!"3B!!"!1$Ui
!$!%!'@9&+M*18%Y-68b&63G-68a,8%iV"+J!"3B!!"!1$Ui!#`%!%eXm,d956%a
06)90"da06%Y18M`3U3!&"J!!%!i1X!!*$%ik2%p25da06)90#8a06%a555!!!!'
R!!8'!!!3$Jk`!!J&380)8%a-68b&63G-68a,6e!c#+S!"3F!!"%1$V!!"3%k6%a
16)G0#Na-68a-8N)@!!!"U!!&"`!!%3i1X3!"'91!6!&06)90#8a06%Y36LJ$!!'
T!!8(!!!4$Jkb!!-88%a-KNd(6%e-5de52!kX!!8(!!!4$Jqc!!-16Na-K8d*6%e
-6&&*(`!!!DS!"3F!!"%1$l3!!`G,68b$63G-68a,6e%b"i)!!3F"TJ!&"`!!%3i
2Y3!$"%G16)&0#Na068Y08N)8!!!"J!!#$3!)T3!&"`!!%3i2Y`!#3Np-J%d*6%e
-5e"0*`)!!B!!"3%!!`!!#+-!"3F!!"%1$lJ!#ca36%e-68a,6P)k#iB!"!J9!!!
)S3!&"`!!%Ji2Z3!-0e&-6%e-6&*)(!!!!B8!"3N4&3!!#*m!"3F!!")2$lJ!#J%
!,P&,6%Y28#m&LJ!&%K%9!!!)R3!&"`!!%Jm2Z3!)!3!S8NT08N!4M3!&%K%9!!!
)Q`!&"`!!%Jm2ZJ!*!3!K89"-*!%!!Bd!"4)4&3!!#*N!"3F!!")2$lX!"3%!'PB
f#C)!"4)4&3!!#*F!"3F!!")2$li!"!mG!!!"NJ!&%K%9!!!)P3!&"`!!%Jm2fJ!
&%K%9!!!)N`!&"`!!%Jm2h!!&%K%9!!!)N3!&"`!!%`m3hJ!&%K%9!!!)M`!&"`!
!%a!3i!!&%K%9!!!)M3!&"`!!%a!3iJ!&%K%9!!!)L`!&"`!!%a!3j!!&%K%9!!!
)L3!&"`!!%a!3jJ!&%K%9!!!)K`!&#!!!%a!3k!!&%K%9!!!)K3!&#!!!%a!3kJ!
&%K%9!!!)J`!&#!!!%a!3l!!&%4%9!!!)J3!&#!!!&"!3lJ!0%K%9!!!)!!!)!!!
8%"(`!!X5%48!!!J(!!!8%"'h!(3iE@X!!%!)!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!S+%!!`!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!)Vrri`!!`!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!`#0rr[lrii!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!M2rkr[lkrii
!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!)crq[lrrrlkrii!!`!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!`#-rrVqrrlqrrlkrii!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!)#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!M2rkr[rqrrrqrrl
krii!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!$!)crq[lrr[rrrrrqrrlkrii!!`!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!J!QKJF!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!`#-rrVqrrlrrrrrrrrqrrlkrii!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!"!`!$ErIS#`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!M2rkr[rqrrrrrrrrrrr
qrrlkrii!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`)!1-crrr!B!!%!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!$!)crq[lrr[rrrrrrrrrrrrrqrrlkrii!!`!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!J-!%*AmrrVqr5S!!J!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#
-rrVqrrlrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!-
!!&MNrrcmr[hr1`!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!M2rkr[rqrrrrrrrrrrrrrrr
rrrrqrrlkrii!!`!!!!!!!!!!!!!!!!!!!!!!!!)#!#@hrrhpqr2hrIp2!!-!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!$!)crq[lrr[rrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!
!!!!!!!!!!!!!!!%$!!ClpIrmrIEdqZrmrfB!!`!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#-rrV
qrrlrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!!!!!!!!!!!!!$!3"!e2r
prIRbqIrpp[[rI!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!M2rkr[rqrrrrrrrrrrrrrrrrrrr
rrrrrrrrqrrlkrii!!`!!!!!!!!!!!!!#!J!@RrrqrIcdpIlrr[rfqIq4!!-!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!$!)crq[lrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!
!!!!!!!!"!`!!BZVrr2hhmr[rr[lqrqrjrkN!!`!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#-rrVqrrl
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!!!`)!,F(rrIhkmrI
qr[lqrrlrqI[r[J!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!M2rkr[rqrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrqrrlkrii!!`!!!3-!#SIirrhppI6prrlqrrlrr[reprr2!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!$!)crq[lrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii
!!`-"!%VFrrcpqI,jrrlqrrrrrrrqrr2hrq%*!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#-rrVqrrlrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!"bUrrlpr22fr[rqr[r
qrrrrrrlrr2Vrm"3!!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!-!M2rkr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrqrrlkriTMmIrmrIIcqrrqr[rqrrrrrrrrr[rim[rk*J!"!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!$!)crq[lrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrl
mr[rqrIVbq2rqr[lrrrrrrrrrrrrqrrRerrmi!!)!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#-rrVqrrlrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlmqrlfp2hrr[lrr[rrrrr
rrrrrrrlrr[MmrdS!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!-!M2rkr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrqrrlqr[cqr[lrrrrrrrrrrrrrrrrqr[rmlrhrB!!$!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$!)crq[lrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrr[lqrrlrrrrrrrrrrrrrr[rqrrEjq[pe!!3!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#-rrVqrrlrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrlqrrrrrrrrrrrrrrr
rrrlrr[rip[hriKm!!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!-!M2rkr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrlrq[6qr[Jm!!)!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!)c
rq[lrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrqrrccrI[rB!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#-rrVqrrlrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
qr[lqmrclriF!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!-!M2rkr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr[rqrr6jqrqZ!!)!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!)crq[l
rr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrlrr[rfprhrd!i!!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#-rrVqrrlrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrl
rq2AprqSQ!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!-!M2rkr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrr[cr[hm4`!$!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!)crq[lrr[r
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrr[rpm[hlrf`!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#-rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrR
lr2q6!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!-!M2rkr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqr[crZ`-!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!)crq[lrr[rrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrr[rprqiE!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!`#-rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrl
priX!!J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!-!M2rkr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrlprii!!`!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!)crq[lrr[rrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!`#-rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
qrrlkrii!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-
!M2rkr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!)crq[lrr[rrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!`#-rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrqrrlkrii!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!M2r
kr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!)crq[lrr[rrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!`#-rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrqrrlkrii!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!M2rkr[r
qrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!)crq[lrr[rrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!`#-rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrqrrlkrii!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!M2rkr[rqrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii
!!`!!!!!!!!!!!!!!!!!!!!!!!!!$!)crq[lrr[rrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!!!!!!!!!!!!!
!!!!!!`#-rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!!!!!!!!!!!!!!!!-!M2rkr[rqrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrl
krii!!`!!!!!!!!!!!!!!!!!$!)crq[lrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!!!!!!!!!
!!`#-rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!!!!!!!!-!M2rkr[rqrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
qrrlkrii!!`!!!!!!!!!$!)crq[lrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!!!!`#
-rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrqrrlkrii!!`!!!!-!M2rkr[rqrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrqrrlkrii!!`!$!)hrq[lrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrim!!`#+rrV
qrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkriX!S2rlr[rqrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrqrrllrk'Hrr[qrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrlrr[[rS!#)rrV
qrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkriS!!`#,rrVqrrlrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrr[rqq[q0!!-!!`#+rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrlrr[VrM!!$!!!!!`#
+rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrqrrlkri`!!`!!!!!!!`#+rrVqrrlrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rr[rqq[q-!!-!!!!!!!!!!`#+rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrlrr[VrM!!$!!!!!!!!!!!
!!`#+rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrqrrlkri`!!`!!!!!!!!!!!!!!!`#+rrVqrrlrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr[r
qq[q-!!-!!!!!!!!!!!!!!!!!!`#+rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrlrr[VrM!!$!!!!!!!!!!!!!!!
!!!!!!`#+rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrqrrlkri`!!`!!!!!!!!!!!!!!!!!!!!!!!`#+rrVqrrlrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr[rqq[q
-!!-!!!!!!!!!!!!!!!!!!!!!!!!!!`#+rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrlrr[VrM!!$!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!`#+rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrqrrlkri`!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#+rrVqrrl
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr[rqq[q-!!-
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#+rrVqrrlrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrlrr[VrM!!$!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!`#+rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrqrrlkri`!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#+rr[
qrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr[rqq[q0!!-!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#+rrVqrrlrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrlrr[VrPJ!$!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!`#2rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrqrrlkrjB!!J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#
@rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr[rqq[q@!!-"!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!J#9rrVqrrlrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrlrr[VrN`!$!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!"!`#6rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
qrrlkrj-!!`%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!`#4rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr[rqq[q6!!-!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#4rr[qr[rrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrlrr[VrN`!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!`#5rrcqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrl
krj-!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!"!#2rrcqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr[rqq[q6!!-!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%"!DVrr2rqrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrlrr[VrN`!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!J#Qrrcpr[rqrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrj-
!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!-!P[rlr22qrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr[rqq[q6!!-!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!)Erq[hdr2rqrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrlrr[VrN`!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!"!"frr[qpIcrr[lqrrlrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrj-!!`!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3
!Crrmr[2krrlprIlrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr[rqq[q6!!-!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!&Irr2ldqIrqr2hqrrlrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrlrr[VrN`!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!"!")q[hqp[Rrr2cqrrlqrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrj-!!`!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!1[2
rrIEjr[[prrlqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrr[rqq[q6!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!#lVrrhhpIclr[rqr[rrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrlrr[VrN`!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!3!LiIrpq2(lrIrqr[rrrrrrrrrrrrrrrrlqrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrj-!!`!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!'rrq[R
Yr2rqr[lrrrrrrrrrrrrqrrlqr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrr[rqq[q6!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!9Irpl[[rr[lrrrrrrrrrrrrrr[r
qr[rmr[rqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrl
rr[VrN`!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!J!rrrhir[rrr[rrrrrrrrrrr[rqr[rpp2Eqqrcqrrlrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrj-!!`!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!#cqrrA
jrrlrrrrrrrrrrrrqr[lrq2,krIhrr[cqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrr[rqq[q6!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!'2,rm[Mrr[rrrrrrrrlrr[lrr22
frIcrqhU2rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrlrr[V
rN`!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!,jIrkr2rqrrrrrrlrr[lrr[Ecr2hprm!X!!#4rrVqrrlrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrj-!!`!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$4rrE
crrlrrrrrrrlqrrVbq2hmrqPK!!!$!`#4rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrr[rqq[q6!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!,lrp[Arr[rqrrlqrrhdpIhpr[q
H&3!#!J!!!`#4rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrlrr[VrN`!
$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!-!TrrkqIrqrrlqr[lhm[Vpr2r63!!"!`!!!!!!!`#4rrVqrrl
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrj-!!`!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#0rrM
[rrlqr[rlmrIpr2reHJB!!`%!!!!!!!!!!`#4rrVqrrlrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrr[rqq[q6!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!(IrqIErr[rqpI2mrIhrYL3!!J)
!!!!!!!!!!!!!!`#4rrVqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrlrr[VrN`!$!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!-!A[rmp[hrqI,jrIcrieF!!!-!!!!!!!!!!!!!!!!!!`#4rrV
qrrlrrrrrrrrrrrrrrrrrrrrrrrrqrrlkrj-!!`!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`"'rrh
[q[6erIcrr*-3!!-#!!!!!!!!!!!!!!!!!!!!!`#4rrVqrrlrrrrrrrrrrrrrrrr
rrrrrr[rqq[q6!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!$2rrrIbqrhprmSf!!)$!!!!!!!
!!!!!!!!!!!!!!!!!!`#4rrVqrrlrrrrrrrrrrrrrrrrrrrlrr[VrN`!$!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!%!(rErrIhmrr&[!`!$!3!!!!!!!!!!!!!!!!!!!!!!!!!!!`#
4rrVqrrlrrrrrrrrrrrrrrrrqrrlkrj-!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3!1k[r
kr[qV(3!#!J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#4rrVqrrlrrrrrrrrrrrr
rr[rqq[q6!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!29rrrG6!!"!`!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!`#4rrVqrrlrrrrrrrrrrrlrr[VrN`!$!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!"!-ArK3X!!`)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!`#4rrVqrrlrrrrrrrrqrrlkrj-!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!H$`
!!J-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#4rrVqrrlrrrrrr[r
qq[q6!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-"!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!`#4rrVqrrlrrrlrr[VrN`!$!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!)#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!`#4rrVqrrlqrrlkrj-!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#5rrVqrrrqq[q
6!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#4rrVqr[VrN`!$!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!`#5rr[lrj-!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`#2rrq3!!!
$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3-!TUF!!`%!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"TBc!
i!!$JN!!!!!!-DP!J)!d+K`S!!!!8CR4jF'T`-L!!!!!!DR!b)!!!!%pUF$*S!!!
!&QPSC()!!!%!!!!"!!!%"`F!!!!!!!pMEfab!3!!!!!!%!!!!#*MC'9Q!!3!!!!
!!!%!!`!"!!!!!3!!!!)!!J!!!!-!!!!!DR!bBrp2re%!-J!!!!!"!!!!!3!!!!!
!!!!!!!!!!3!!!!%!!!!!!!!!!!!!"!F"!3F"!3F"!3F"!IpN!#-!!80bC@&dEh)
k)%TKFe"PFL"@CA*cD@pZ)$%Z16!`,M(r8J!-!!!!!3!&"!3!!IpF!"0!3%K)8%K
)8%K)8%K)8%K)82pG!"3"3%")5&")5&")5&")5&")5&$rA3!8!N"!5%K35%K35%K
35%K35%K3red!&!0!3%K)8%K)8%K)8%K)8%K)82q3!!!+!!!!!0p2!!(rNpq#1"&
2!k[0YL+j4lrG*MZVIi-T!Nc"r5#0qMa"f4aLY5`0d'EXSl'+aki0,lBk$dC)MA2
5J&jrH"fTJZPc@MNNc&arVMe-0Gdehi)`%8m$eCj[L38@#$KBrP5+c,+j54EFeY1
1DJiQI@DVcR)F#AhaLNr%pE*4#HNIbQ['Aem8(0GTK)9S"!r@+p'2'jS,1d"42pq
#%"&2!p8)mVlQ!aF#[(&)+La2-"+Zka)S4)3p`Ah@4KFaCj1cDlrP2Kk-0ZDP'aM
ch"V2NJ-Hq+()BeKBka)5CZ2ZAGq#D"'(KC6DfC@dDef955LIq49AUAjVm"5)4XV
fEN0$hLQqP*pDm$NljU6#"G-4T1[m@Z8+RMlfF5!2ZhEdeEZIYhe9+'f'%lAS[PV
9-#Brcm$QIJHcmd)`5EpX*,AL0&iTh2403!1#9$pk+MHpY"*j)*YKhNmf)EmLm+l
f,&rfAhY!'YB6B'l,*j4hIjj04aFN!Bb-Vc*e!rH+,8r3#C@Q`D0`!V##IU"`"CQ
*9S3j@d1e&q6Ui#Kk-d9'G'&9rhr8SE&#4,41lm%3D@UF3jb[R+,Uk-fN@+(hcjc
X9f&b8,8)Vi+*AJr2l49MdI9EKaiIq[%065Fmh*0pGa8331j'*#Ra1[j9!fV3Q,,
0%-(1cm$kIJJ4q#+!-%P6CYlYV3l[D4CJI33*GM+(MUm'*UDXDM9aiYVk#%(@+14
"L(TY@bV&9FaMdVFK4hF2`cKehRI"$2!!d,mIXJESJBlE8pAQMQp*+ejbebrhUG!
V*Ya*"U'fCN)b(PA@160YrK+L`pV)6a$8%lIVV5`j+G)a#Z@("#Tp&q,2!NbbQdi
$H+k#"V0*ThTXf*9d5-ULXH6(`b!kd6F)SF1MmH32j"6B95hUKRXTm('pmm-SGk$
j5h+Da4PR)4+0[c+FNMSrapTh2`1ir"!!'Fd%[S[K3lHX'*%b1H`l#FlZ-JK['q0
%Hh(PBEKRJ(66dXlF$kb&d1%H&!+58*(GEPQB`@8-c`KUmQYBV*Zc)"JCPZZ!r+X
@PCmXRBBNDMPR2&%r("D5D*L!c)T(ci5e!BjSa1Drh,CJ#-e3!d,1j-fMCGDFI!+
'HY,`hU#IVcDVlYhb0r'V[C44E-8M8*Vc#8JB)4U8Ej4FAVrV(Hl2c%[&[%KREA(
'N@&QDNhGZI'i0#Q0&mA2`3Cq"p(i))!KVNH$e!Lrb-[6KjhPl$44[pmNHVbqpGC
a#%Je*I5Z)+a4i1Mh`+L"Ur4TPM8b'0`"[UB18A&Z@!b1Xd*#+f#B2`%9bkMK9,D
HeDZAC6m[,4*)1$3+4%FZArepB*e-"-C8'AjTCp`hT!m'd5)#Z0Cc,X6"mdm'M"h
qX'UYkTNr,*cG+4kCcHP9',iXYTk9S$,"GfD)+8SJU9B%4%-ahLKp`43*jR5Ba5K
48r%(pNci5ENE0EV50l%eY,Z,0+5G%`62`UHr1YCqGML29MmNrQ0rcDYb336p,1K
(qTcp-N,C+0"H5#G)`&kNG6`rYq#8RqRY`f6"i5"bm(6,E)CJqhbIh6i"iC-D(Q6
Zk*FQiNlTmpq+LmYirbC0D*4IkpFC'`HfPLSkP%3b,KQqBHl`['kBa[6%F$+K[[R
JL8b&pAKVmrl%CX@L5Y-e+m-Pf-4562bf&1&&FI&(J)RZ[Fa,8Y&Ke0!Jirc6EEA
-&AcTX#(e!jH`X+mld2[FAD-8"`HMZVpjA@CE@hNPaP1,$V@93j*q-2kpN!"Vi-'
(ckYkN5PHmcE)PIZ'[(9*qF6K`3ehJ[,mJ+(c[Nf)T@mTF6k)U-ZV9hD0LXGHm+H
0cUb`"riN1IpQiLFr#aci$@)eQM'ZVcILDM4EGLVQd"lM%Th4hBCKrXE2e*EFXNZ
K`9c`AlRBAJHD0riJhX6,MV9"3TNcKINFKKY),ec9m`YpK(c'-b1NT&@91J1$Mr[
eSX6I9cLhfmilQiI)(p#VG11TTrQ`34)'k`RPjQ9F-BXTRS5$"RCrFRe[DN[9VF8
M11TPIR[3U-0(MbfXcPEr@RYC+TM"3%PBVc39"DEr((0RM@`H0mcJYblKZXYH6M-
(H-mX*ZmVTlZN*`9(JKd$GL9m&5e151,ACY$()VXfPcRr$P@#%"'1GL!,f46INHP
Q+IL2HG6JT'8iNbXi""(AGl6*mQa$[a!EQG%@r9J1"ae&dq#P@1RQBFf%0rKaQ+@
((92(Zmr#Z*q&K6mlC)j#VVh)UHa[*FX@*RlL$b4MBXFdl*UN4mBF3N4hN!"Xb8D
b#qRKB&ce&2ZYGDJp6h%BX-ZiqfLk%'-h#&a*Z&VVfHNk"c&Fc2H08GSHd3(CD&k
`4[K6MEEbCAFJiZ#b64##`Ze('*!!@iMIp1Rj%UA,ApU#ZSZq9%K$lTp3L0pBc0#
&9`Cq0C6Xd6Q#XI[GRdE#f"8"p0LP!1m4Z&E#e)4)Nc&#E#jCPXB8mQ!3RBFcpp#
1$Z&S-birIhmN(ie"dNKh30'YDFH$GJ&4K'MUAV#A*jZC#cMrGX5jc"6aeNhSei2
UG&NZHM`IibSRQJMQk[$#pe4r5@kX`MmbkP&,1"ed'!C-M!&GUA-iH'TPNhVU*Le
"Be95(#S',NBhSQ9Nh8e,jE$5JbDT4h$F8L)H"`UAePQEKZ,G06DMLSB!d(QBpjq
fLD9FhLkF5ccD4U)-GHc34j[Aa-I1$6L3!(3@U6'9AU6#Y@fjV4iE3jbHQRarRVR
&lSbiLDL5Y3*E1AE64jCQed3(%39kYDf2i3pP,mHG0U2'0m+$8efKlRKh)HIN2bQ
f(iDq8@b*AGbP2G$AKRBNVAZ6`2+%fpeNAZNEN!$cUL4@ST6E*DB+E-29X4E(B+`
d!YB-R&erDkYaRTf85Al%VR8NMVLP1!%ZE*KGqE!$-BjMkRHC5%b"$56V[D,r,8*
cqYieh,+crE#M,U5J5T+C0(9P@(JqMf[E[8hIPE(BB`DJN!$HKiJf[mac0BP4ATF
+UpA,5BD@J1b(k3SmX"4kdNLAC-IkhA$YY(e-9ap3PZR*54c@Kmr#Ujq&C4q&R)j
)&"T&-!G5-0-X"NeIK!(cASf0Hh[D41A0I`l2bhC4h*Rl*,jRPR5!6J@pUN3N*'a
8MH61djMNL*&',Kj[$f-E-S`V2l)rK9aHTXYZqYP'jV)[kQUC&XaQ!r6!JVA4F5d
-[ArZK@b$@MBSLqhC5qd@%Vd`PHL+h@c56iZN#T!!ShXpkpVrJ0LMq,2@Pjj+rY[
*-T0lM%!A-F01UTCFM8MHqZfjdeZl-Mk1P$pr4%[(i3-JiGT0%#Crc)dITCm*P5D
-21hYR#iY3)[D@HjJ62BZRf4pZ'EA8Ymcf'iiK"dHiQPZFGpC+cEr1`1pra)V8B$
pZE-[ASc8TQSUmrDAe8+Kf`9k%H6Y2jeCXheEdG[R''cT&2M1peA1ILk!(FApU"&
b[),HprF!(4UZVSC2[d$!JkTIq0HVqImjerS%mB-9*-,XTLNZMNF%eHGAcVXD12*
j2iQVYjmNVQdY+Z`hE#k3!&Hhkf'aaFjUI3,cVT6JHY%[U5kK'(d#pF*33XSd+p&
JJm(NFG"`,H%rkQDj*&lH`(!BAh[Hkal+`X*f(Dr(Vq*[4-I-b0,cXRiek#[+[Di
%&YZrd8mB@U+(r93293V-TX[0HKdfVZ#fhqHYN!#I8fQ+VCCfX"53!+K8jJSPbP,
kr(e3eGrKjaCCjPMk+"kYALi93DF&11kN!95a(klk@)k+l%k09%ij1U1keB8pqh)
[V)8j9G`0'+mUjQ'%*&TQ'He*lcaZ(20lQ%X[D6r2`TLIK68IK8)l1$,1*TKa#rS
@183FiHl)Mf4J)H-"Ci4YFGp$bIb$DACSdh2*9Z(bUj*rNJ5K3Bm`cQ[H"HFF4BV
m%Q-fFPrNMPe"20m'X$KmZV@U9dI%jTGdSSNq(a3+9!Ahjpm9*iYCrEYBR0"Z'6b
1UI4cXiafi$I4H1MQ2hX+QQl4HLriaPMMG0lfS9Ci'JIkTb'[hD&3-H62mkbELc[
MMM'Z0ISfM`B++*94VAeiL9389LEc'`1P$19&Br*[68UZ(heJDDNZ(V(mrP$$R'X
G%[Pb`XRXNcTpkqY5)2dm"1EMQV8[*)d3D5&BVE@`IUkrC#)l%f5RYZJEfPDk@`(
&k(TfY$RSreX+!F[R99$UYQN!q0M,QM!0bh+JJ1,S$*,dA0J0C+de5,JR%M3$lKc
-jB-)"eRPNbT-PF-A1QL3!+2UH+&djE"'[6G)f$5`f`V'+%4T,PU0([SHNRkY2AQ
R(m6A2!S9EC!!l42S82X#-'lUE`*jB'9JjVHj8&aMm[8#ScHq6irD9J`kJ)A6*2-
*X%&83`M&j-rC+%j9B+Pk+j5Vk'3Uh+H'acL,0[VbShU-IV&aA%$iIC-K$I1kFKB
",arIXXjjN9S+%&K)HLkqcR"8G*@TqD'f6V-rcm0`jq'l-IK[q+JAf)N!,(5M56e
-M+3X'MKehP6A("#Im'Ar$T&"cCRQ%)ANX(b1l0q85h('mfNr!D&IVG4&N!#IUF[
Xa1r#d0f`9A+SebFkpm!E"!!L+Kl#0'D9,eR'hm6bHU@Tkh%kQL-N3c1`LMTArTq
BASc`#jEXe!4X$3j"`A,c[VIJ$iBEe$bjD`5"D@lMGP8"aj5B1li)V&5bqfp6L5i
KUq%&#RqBr8F9q+kU2VYiJJ60BHFlG0,J6qXC)@PPV*V$32VAN4"pFA8$PkQ(,4j
0`NfUTD3+Sf5Pq&'J3IYFbi82'(h3QJe[4)I2m3kpajRUd)eYNFR0XdiY%$(J#5&
Hb,(HX4cTIa[U(+ilV,&e4fH(i`KaB,#4Td6iCF4e)R6L)r0#PN6ZqX8hH'Di'j+
$Rbp216X8MB#p,8Zib!Q4l14CI3jkhY$fa%h1%HqG@mM#+,82XRNE!1e`YfK%r6$
G!iibbCeS`aGd!jXKqe2[QrVciC[lT8L1+LrpIBkH!2%*d0hJ0K-mClB5aqEY2B9
@30*,T-a*P!lEl*U@[mEarU`@Y#h61#Xr!)eE(NqeIbQ(0mTKq,pU*fl24F!Kj0J
m9X8HQN1j,!5MS-2$jrQ0rS&'f,Rphdlc&`cC"NlVhel[kT@jkq[2!4[r6(ieH)d
HXAl86[pp,!E$@6-41)+"5bUFQ[5a!R1$NAd9p'M+f0r5qRMiZQ8X$HpBMD18U)D
f0BP8CkLT1m+RE)ilNr9dYLhRU4DTX&@qIJMr-R%AhQ&N!@0#kBrYc(qrMZKk)pp
MSDdi)qfBkJ)UGGb@TGFN[pQRFZ#Qp5hAbK#1Xdr&JpY19Jd-r",&MGTlJXJ1Eb9
NbJe4$Jm%L2'9[K`*L(28kr$8#Fi0q(JUXRVBh,YNPXB)9"ar$ApKFCTS8pEcc@%
kM-VFP",5B0T9X*[C#p$pZ3+'IPmCke'lB)5jSb-,EPjqbcZ3!,U`MLXK&`$21TS
Lkk*q,-Z"RcPaH8MpbYJI8"dhBCI-N!#Ylq'Md[baRli1b8`e*Gib-`X#[jFk1NH
#1K+02S4I@q)pMpQiq6cISl*JhMP@qpl)eNdE!QZ(6Pdq%9rB)N'[r9-lM9U)b9T
YrQe)`FCAGMT4bSf-C1L2!&K-XUG8eB$IDic@%%Q#dhE)cP'2eAliBX(-3Ke+YdG
&M)[Z8lb&P,qLZK5`epFdaiC1NA-aU(G$iH@RVDR)[EMQJj2"IDYAd209QM5a`c$
9cZ'TIi8@pVi83P&P18&SZ2p5FMebU@,+*CULm)'d&9BRa-,I4cHZ9dEZUc8kR5C
8%#-BF63K9B96a%m0FcQ$bRP),klSpCc1J1li2)mLGmfFKlX!')id8hf'fiMaC3h
@PPR3#8!CV5aT4r#i*X8FR,+Ah!"cU,[5c4MYGaN%QBq&6+a[qj2CSp(epUF#HNH
bZCVc5HM2D)I4MIXSr`S62hJKhrb"dNNrV+p&MU#M6Ijf,01h!MB(CK(UI2l5,5K
,AE9Gf,+#HrG4Bj4)kZr"'i03AerFi3[0df`S,bMM2C9F`i,VV)NMl-XVd`SjN!$
4$EK9$I%$26((IQ*UY-ZL[d3fJ29@5H`R30b!J5'1pRKh,!S0qpIk%6NYfpEcM+Z
qADZVY95$br`13U[Z+)eJ&eQ-JbBTNE@K6cDj3leQrA$0%A,GXPliNj&FAKLdb+d
YhUEm)c!j9apA1'KDF5IeISAj9FF$P(Jl5HL0ChS@6h6q,d8B3T'Vqk#aAAE4AZr
I9qNm0FFl6Y'$cNc9FZ(mhBD,`NcMd8NS!,@*)q(h`%5VLLK1-lbPEIBDlk@BNLY
2YLi("Ba#Nk%)lJC9h)H9dN#Bh$ID`"$'4ICm0JcUGVD0eR9S@,`+C1Dr&m"l[Ub
"F8HfU$0j53T#SB5Cd%9UUP0pANBZ+b2`DbcUjB%fZ-GkUD3Icm1K#IKdAaq(5`#
S+2X`jZLX+VJhF*2e8cH+P88BraKKB0HMAH@!"-XRk8I)Ph3kB9F6RKc*JlELXm`
mE2TNBMX@0r5"[pPfX6S)eXqlhmed*b53!!'cAEGFE[)!q3-"d+MDPEP8efm`bc'
1i4k*-dVB)Cl#erCC2!RPT5i-X'#*aG(GYf0*YLiLAbGc,E8H!0Nb3)kU'&i*6H[
CAJK**LjAjVjbN!$EPLIJ+h(Mej08k3AGm`4[#XiqL4#JN@@A*1NQ2b0fRCc46PE
a"13,j`SeZqC'VheIhMYY!(Fia[[8)q)@+@bMT5d9fCSUZH!C2SKR(UB(rY0D(C9
Z3-flG*6(kX#9NG!r02e%A5M*-5pd824Pd"a05+'X26MlQ!YL)jVE8q!)GrCpG3r
Kmaeki1Z"#`X,(@$h94[$P81SP9S,F-pS*"iaYZDb8"2FNJ14DrJ,TN8k$E9fJ[c
(SJ+(#D0N3(1dMhU-Q41VmVpfZp[5NRHAQHX5CfYP3@b8B&h#B5DGPF#6hC0(VF,
+0!INf-b*DHqYk((FYYGi9e'4i[9hGP6FHSQCd-DHjcUL8+Uf)dFk[D"IrRidhfK
J-A0mFJ"1(RZY#Z$0THQ$#NHB"CN2kVY)T@&mZ,h#ra8j,[S9*RI"[V$`Hm2*`jP
@6hN+k'G&P3F+CCCi@6F0DPDj"0JiYQi,5#GpYT&`GH5[)TYT5E$`KLT[lBeCP!"
lPk$$pG[l!bU$FZ8PH4*iKa1b69j,&3(T5cFF#280RpNHC-QYC0rkKp[GX#p6KVj
dJc9JMCd(CAPLL,`19%*`db+V8ML`qTd-@YkI@01J19+KZ62$AFihj#38lMiM,Ed
I[%hEcYVUhTBGPq`V8(A'@d0R9S+DAQ,11iX8`B#(6&fk`f%[R%X"LFj9KLfG3K,
J'UE`mqL!"9cSmQM8'GF,+I`Il[PmcX38[4)-$QB$F%4)LC6-iHeJFE9G)1J5"QL
%+'3V)&Fc*k!9-Xfq,9R&BIII'r[Dd*J$K#6L&"[i+iq@[XBq6mJ!aV8!LRD8jmE
p5@9ahVFbEm1acYi8Z(r)U9j!$4pij,edI&j*XT!!QIfP0)@fqbF+B5S1QQ(39(k
rQY(XKJT&XdIQ+(l&faS)'q3-iEZaDI3CXdGD*%#f",rKhN5,VM0M,0EDm&$X*fc
lSZkJfU!1,p5!1BI!ZCJUQ`Mi[BdKNE@HKU8Hl-I,NABhGhLq(0iYllR,aZ&$H2B
e1ZKNNEJ8TR[4-6pr9A+E4f$)9j!!5S6c`KEPJdlkG`-ifP!G)hrANEii-XiTaSd
60GQS(XH)DM$&k6cEr1h9`1e0c0f@RU&NK[XApmTJLYZZ![a)19*JJ*HBC$G+Ga+
SUUM[-X4jX-QT65U,l!kM9Sm"LFQ(K5D+XTb,*m&%Bk8Z4IZrTIR5miRMa`+GT[%
k@JMp,%VQ!@($UT%-L5k)X2[[-IF!eq[HU+!VaVadrGI-$i8GbZ90`c%,pGbjmIa
#VrXINal,jS'S4M$`q0[$'Xi%L-)8f$pqqAfUcrSVb5R5G@l++J*V5@cTcfAlDGX
P!b(ZaaZN1MYe-RY'CH"*YqB&9(eBlX1[U[*6[hr(Xi$dh6M&)XKhBeDLhEDR!*K
"hIK,1KLmU#kNaHP0pA34a2BjlAE03bMQ#3mPI0%*3`U"2U!REDRbr8[-QNr"4pY
$8eji1l'TCE$k"3@`["[*B$brelc$%#`YmKM#ed*V629rJ3lG'PLF6VedLZ0C$cp
)CKQeH*pPTkXMKamN+$X'&'DS',5!SRCU)[J*U[Be"0UCRPZdc*f+d4&%Lj1AVLH
X&hAql)q&3XmRr8,C*K)%NVSF-mb-cAqC*e`1E,23HM&*F'*9($YbYJ[j*daPG"a
dXJKLmQH28TBJ([NAhQXfFB3qrP&jRcQcV(EB2*lT)+(+CG6bcSb0k,&'EG$F)A8
P28VPNjr!@9#(Q02lFf2-4Ke2[qKNN!"`k!b1Ue@,Y0(KjAkNElINcr!Vi$$AI5`
6f-h*,,l)cMfFE6-"*)[Z%S&A+bFdl5@,hYUfUCJ)KHE1Q2+NL*fl1eca998N$Z%
UXm2LfqaM,0`rbk3GX%fD&HB-c%Zj9lc@r2D2&&-ci9cIa3M16EHk!PiLS5Z`r8'
CHpJ4,Y[TEhp6kCMXYdL%p5!k5MkHdciN+60r(Gl&"T1C!e@DKf,T&DCD`Ubl(96
,jT!!X$e[5#9Z,5U#GdB*a(kdm6(UKYCEeL@LG#`hhmN%6iLe45JN1"2)rNeNj4H
pG(E'3abh3h(1fk+Acm0mCq(3K(iG'i$@[p&G#HCJaMDGH4$D#$J(FY+iK0C!Z9k
R[+SLepRaqMJk-1c&UA%P@EKJ'NCb@rZK2Kr8299-8R(&JGFPKcM"p5l-&43,kMN
q'GYK0"N)iH-5Il,"-Q!UafDNABTNdM91k##q'm*)!FePGD(Q3K8fXJ!%McF5mAY
$pbLJVa%q$EHUr2b5I3pm#LSpHE&5+bEF5C4Bip"bdh,LqAHH+bEHMQ4)QZcLIBT
PU9fd6bNKK5T$1A3DZM@9MlJF,"RIBX&J,j8Qi"+"mIZT9i2)()DT'L,C[V[*H$)
LRcZ59!2aSVjpBMIQ2CL2@Kb[rLBE"ilcTMfh6-fp4(pkTp4YbJ&6bSF!ip'AaJ1
+*N!"*0)PJ0UachKCF32!h*!!G9D%K62[AqBdi90`%aMQM4LYYX-q+8k(2RElJ6(
c!25d5&6pe`m-Bj'9r$-k[MR,fS9DKRC84k1aLF,AfGld6*rfX2+pV%mE1YpNCp6
fH)iBl#T-i4qNBUr2m06HTJf5SjBpm!Ql9NhT*bNQ$@LQ"Y3DQ1'je[TSKDqr%dl
#,VS-qTTqr1(p(368DMVkE+kBa#Kr&TqV3+Z#6l,+,q1LHa$)E%*5dPr83l+lHIB
S3cbNk42N%2f*CXeA%eKA",Sr*AX&RmTQqYbGebXFjUqHKH3lG2p(5Zr'FG)'02S
!rFKG[ilkkkhV5j!!-YF4@U)"DlphFY8*4ZPMQTh,dmI0'XGr("ZP@0!0@5#ld81
[EMAlhph'6T(aabIZcqI&AKZj&rH--U6)83Z3!&iFbXaRViDC-,icaF$c"(R`e@I
*(2CHc$cjL+Ti[6,-e)9-6"k%F(#aE"Ajk$8(ZVXX+`BU,N3-'@1d#plj&Aqc,D5
'mcb,b--49m-EmB+'H`Dh%PI4h)JN@LdM,X&R1X8FP2,&Vf8PqN1D3DdI8Tq2VIZ
-d,QZJ[2$iPXiSe5b3U#[EK"FMkhJ+fEd$M-h`TR"YbmleDKAZd4,GCfebmPQ,[4
P@mL"+pJ'ei"0,%-!l*Rj9r()ACIqiGHLCqA93AdefKBM4U(*4ENBrIq#MVT-Md0
CClBT*USekClZ8lq%Rh$#l*3jd3cTEYKf5[IhFR$U@YDFr1@9',#%#YSccBj'EM4
D"p-8U%8U'j@[8-DMQRk*j0flR&F4%HS15b6XaP5$4iEDUi-IF"N[9#(Ire`0Re@
r5Pl@Xm)8A"%)rc@U"kCS24B@@M6fI-rl$k0c*iKla$B"PZ5A,AUjCPh2f%0eFJS
$Jm)4IK8a,P-Ic"H`dI*icQ#EkVZjjh'`%5''J3LAHeRhTfh-$19-Q%CJ(5d8eL6
QC@`h8*)e`5Hf3imk)2k6IH0%phUU+*kd,qQDALDfJq%!DjGMECf&G1AqCk@a"b6
")+l'"-h'#Xkb9,-L)Cfb'IHiGS1`6(S@,BRBZqF&,hFi!Pp#km%F5Q(-PMG@Vj(
GESP)ii$mFQB4H#rib9G9SVTLpLLBF[hMQhlTMdGK3q$0L1cDm,e4$CSj(!E)YQ&
hG*@l`5#[KmMKP@iF34jS#`T-"Z%iX4(EN!$*EkTq@bAJ2@IB&"Z1,+TdR2)6D!M
Xj)5J+YLq%CLfaT)V[$[d-dH&&rP%I#FBIrBH@l)`P&aZEdmkU21JE(pcU6ID,`(
F2Ll@d2pa$r"mYX,('FK[!H)dTU`#`F`H+%rFAX$2YDAK'0Q#!&kK0P)5(1RSLf4
Q4*!!%dSa%00@Tf0!@Sm2!-&j+apmE-Pi'(e5&,'MK6&kjNmk9p"A`$AbN@mEJjY
dip+J"Zr)JmL*bAqJqJSE@*)%XE)H`&dBh$#L!Hkp'I8$IS(#L6DVHejaJhMHcRE
r0G'X[(bj0R0p+KV"VLBq@'$eDr(bhfJ[h%$MlN%JJbEb'lP@(IL,"lj(-`EVAXP
LB@$8DkrIKIjC5)QQM5")Q'AldkM)%XXVJ$@d5Q0BD@ULZVY`k[U2R,c`#(UKm"G
"ibe-$NPa@jTQ!M!ZIdilVhj9C%cXD#Z(!Kq2HP90,*5IIN'FLI#Q0S$`Ai8MBSk
D9!$ZNT!!Fkf,DR#A'C%FIRE+D9AF`S8l-paMmJXZ$L[1fFI-)bFf!bpIa$Er!pd
e!PLqP9*fL(P%'J5p-r6Xr"1%Rf`*Y"+!55"DFlYF*E(ZZ@1UEFr$6bIKTT(iDG"
N6&1-FG6dI"-Lc%hD1!NJJrCm9RNQ8@r+E6"R`+,kIRmrf"C8QUGal'G`)`DHaH`
G65cN4M#EHDhh3Pl2Cap4!ha8k+KJCIa28,-lpEHXCZ)@3HNYS-(rC"1JKNUHj"r
dNV#'HfT344``(6+%Qc!#+G&a$P"XS25%0I',)K%4%!1N9Lr(I`f'0RfDFi`[q*@
@UYmHH*mi"p8iS8j'R8!((FLambR&jqUjH(,9h94%bahX6(2L[JYBBIDAf+'icS+
#B-LUAQZ'm9b6B,iIlE"b)+fM'Y9I-M,5V8@aqD1KmNK#,X3VjGS[-H)TMq@560h
Vd*pVe*I'h"N5jXG,DQGIV"&A'haP@N`idFY`h"lCGqeTeJ63T2U9UeSJVD(N+C&
[KY[hYRIMDaejrMI(DckG1$ah-BqLrD0-T@9rK!D9"G'"j3Ti5U#A$0Xe3%PR!lV
)LaAC8!"dKQrc"QVRcpMjq"e!qZ'6%l%#GD*UTU$$R2EL@0j%&#)ITDSlEcK8DY,
K`R'Gi40!B0KZXjY*"hp#mYdrebE8j9CX!EFDKG0VM`"I#&rRS$&3Qbb#iM4%02m
BSQ'51[NL6f%lm0i"6d[4qh+86brHIM*bZX2-bi9p[AY*AUQe$GGE@KaLaSLQ'GM
TYV1-Ab68)m`rYJ331XeQ8Nr*U3q"MPh5e4j4e*6'pldX(jm2@-&'J0YjFTcQDNj
D%0paYRJmY)4dpbCre0p025q$KEZlSf9[$-6kfL&3ApKch1@)pV(20M!@djZp'Xp
9+9+NpR9%XQiAld0YX3NiLiRhfZ4fS[HU&CXNPJNE-#G1)E"SBlPFCPh3IAE@&E"
5PdD,PiPCcIBT%2UB%[pDUlE-cpRe!LR`!Y`jZCqJV-mK09Di!L#F1rR+`QcBciM
H11hPkcdISmcVcHeXj%jZEdG3VdSHK5K*'+6`[B0UTrER"K4GU&Gar8c9[4Xq!$G
S@DRk$8`HPX-pdb@k3K#ri5$Frh!Gm0N8hFKIiB(&E+9#RSHHqPDSS'PD4-AH+IU
6Y*5aY*b-21l"@jaE$D(CV[*R8##@eHVb&4*!)@2XHSL["KrHjTm+Vj'#k)"KcEZ
&`iIiDrVbj)Y16DA+8Y%F*,efN!"Fc+Dk&Tk+H0#B1Y`0GT!!B%[D"Kd0YC(9,,B
VDV8,@jDr1qGmVjDqYJP(`"kfhqN(-R3!KPj"rGTN[c5*hh*4,8Z3!,Yh*N0BA@U
-MG*1,(KT[bCUrJh+c08"@Yc@jXFe(2JXbZN'hFr$d2jq(T!!dr2e%YUlQ(ZMS+Z
AC[[P4+A3'0&C3KC*2`LL1Uk"IZ$0RAEDfJ5@rI,JrYk@eQV(6IHYVb!CkNDJ!(r
1'1J0+Me'!L-!M-2VSRJqS2'&A&#Pk0BjKB9qBdANJLpf#@3&PPX9+dXjUU[SmCS
e043j+[`2NE"C$q0-!TiBp'#BAK9PeVlIm55L3IJ'MX4I!@b3!%PY"C33r"eGfC@
',#YP$`HH'f8hDqR&&!dMkFD0Z1`3"p65Mq'&q$K6!U(KCNG9RPj3&8KY,dpY1a$
IFmAaKKifJrm-c$NQjd$M*hqM$(4-Hp0,,,G'-D`Nf[kJ@TGq2bf82US'p%,r&B$
IVUJ6c@pX%addi6$##8CH,1YI[%2'LS+Z@X#cKpBSJ4lA1pVJ0bVkc6HVSY(RX&+
,IQ1Z2[QV)1N#fA)R[K+Db%G5`NX2UMhC"dj',FUc@4G02aQ(*"!SC84[$RqdbSM
#"DKZ,TEr2A!FIH0ML*F#M%efjeHkdcGRA$0cm9YJh4SHFrX-AN8k9pX%#BCB'DK
dXR-(bb+XG'6q&eCb(9,j-aV,$fbXbVZI+Kef)FGajaJd@baZJc-Ek6(X!kH`[BU
`ZMKQ1'DmjG3Sm&!VHR*LFlDAc96@34bIfTk)IH+8iV#($!FEP'1QHZqHiE)IjM0
q2lEeaAbchV(UN4RklkPrTYpKXrcEPGL5ZSZqMbL6VX3-Za[@!`5a0#*B,0A)HL1
KMNE"d()aU3RM#HGTqe84(&CQL'lqCbD`[E9#ekmY69GdZILM%Y()d'*4h1-rm3(
NTDZKXMLJkV+q[B`1kjM$Ap-M04lcc9A)IRjG,YE%(R)H@Fhr$8*G8%TG@M$L$HB
P2*NaLbP!NfP%[m"R)Q"MpSEhF#D6q+(CceJ[&I02$P%T-[AdI"Iha,H-p151F+I
D%B#),jkq!3[#jd*5bE2k+F0ZZQ&$6eEL*-,G5,0%jY2MDbJ$PY3-P,d*cAk)JV!
Qe9Y"crml-J'Yri*aAA26,9PIS$IT[%"NaM3m4L55&H`ePkaIdffU(Up#&e(Sbbl
R""YeM,hh"dacB)q@*)S"4,q'a(Z`HIIDSF`d&%P25Ym&5SS[+&9,Uqk+d5VB6I#
+)P@Y11a`i!PMl16TR0cLD[$R%ep2)K65bXm6NSbpXjcP@!D'MXKA6jRp!C,-rS!
EdA$@e40CP@[r&`Y`6D%Gj(Z3!)h&9!@mT1[a9B!aJIpq3ZFr(!j&B&cGaLahTc$
!pU2Q9[f+k&)c0UM#,Ucbl`&r6A&(MTa9!rZVXC)Bq"`+fl,EG8$$QKYG*2p*X[C
*BVIe1Xm"rh6%h%B33a1KYkd`1jE5qS&UccbP4#%Ye8cH09TJqB14Hh6)4NFB9q!
'+,mFLR`EPI`!KKqNeNB8"a+'KdP8`$pR6jmNhY(X6`"VaNifl-aBTrD"VQI'+JB
aLSVLiL5IX5Q@4`f'RrKEYM@mmEh6(P)9VmQ5hLr[ijRp[DI9DqR-(CS65Xdp3AB
0HM&e1Bki@+p%R-MdKcq%mdfjpq21PCK3qVldD-@SJf,0jTFi"#k2@@VRF`Y&b6Y
&Abd1G4i)92%eAh+NPcb[9L&,#UFjQEDVCc$'raTA)ZZ0RcpqTkEF"'imAi-Z+a3
`#MM%F&$*j`#T3d#H85k+MN))MHZ12Eq,#QlbGFMK$GQ,*"%p#K9E[aJAfG*k)$P
"6+l9"2m+P1((k,hpipcSd8SH3[S1Fhj#LD+dB)&0cNaY4A6RE,R`)0jbh3V#cZa
Y1D%CS&fLDUYe!f6khJY4k@jc[#",B4'BD+Yp2eb-9bC`i&hr9cEbq)RNPdLK0`Y
+-cPb+,2i%2*&)+!!QDa9fVIT-0MSh&CiNlT(*pY626)eki3qfqlDF0fHfML)pN&
MGh!PX1bm'29jBM,L#a1Y&hppJ2C4+R*hd6eD9G$42dZ2@GTN2XD4N!"k*IG$DTq
IG$`&G(9hAbc!dFlLY4Mf#N4r6QH-cTH+0L(1"MA2l#hP"TY44K-DHR-*j&bXKY4
bU2bA9e(XQ-Nl&6c"cp$j'ic+T%f0NY0rMUE6ZMEL6Q83B$j2``"kbhZ*JaQB("i
U+61QZSM9XN'KiEI@I&&DeR&5*K[hN!!3i#qpKGNE'kiJU0m(6p[dB$%+DBP&Jm'
$U1Eaif4[ZA(#d-9$p%c*+Q#Z"Zm*mm0eN!#`!L6kRQ(jLR#D`,a635c)6-$MU,B
1Y(I-)X`'S,A+&5cbmE+XdG,,d0MjJb2V9I$+JEJS59lJZ')2Em3X[5(eBNbZQHN
@hYT80YRF8#1eri&5eIh6me#MfkCT[P)kJBj-EihE&a&Z)Di[kaKG"kCEBAdqP$4
@-aY"NNeF)PA@JYUR#3haa(p@fIMKD96f-'m!CaKQ[P&S)R0GlC!!JR99id&*Q[,
1q18hU&ZL#-@200Sj2aH5pQrCP[@eBd*p21b@c*I%Td[AkT%J9,J8lPeM-K0Cj(m
U`X`e6k@P@PMPEPh'eF#`h$iSK#T1`bi-SQJ(S9mGXJ9PK1V@jYG'BihahH['l0a
CeVqC40llC-r''k,1(1(DiCd3`$$Y'L*BdpKQS#9'hb*HfU3rdlD6e$NppGU!Ap*
`FK)''(frcHV2E`'$r#fJJYhH9X-C*V0fP)@dYLC%c6q"Y"h*a`'#QAa5"p+Y53J
ed%IF#bj5ql0rIMHj8b!1V3ZfK+R+&#3Tp&2j`k)pG3Yl%%D3!"%ai,%JblCI5#[
M`(rEda9S)4"fi$A-AI2&bL[m((%dF&IGX0(X8&9XU'8@akMr*j&E2Lar'!Smr)X
C)dMKH#1k%5L)K!Ufm[T5Zae*CbKk`lV*Bjd!JXc4YlAfpLAS(e)'DAUKfTHTY-M
@!Gpf9I[-,md`EkFVS&)4XAVBZp-SkDErILBDJ##&i2E-jPl*%S3qUjNVAhi,!Fc
C`VPe*`Dq%C!!H3KP&ha+JEpQ#6A,&8BRj+FaH02SFP"Y(,rQJ#@hYLPb66"[%"8
lX*&KEDVQbQl+#0,I'cbi,&aI5J4b,kdQ*iQ$k[ffpRd[d@!B2r4TEmABTkY4rYM
M0T3"eQ&XL3lfl'6M$jB6b#1bD8Gc#-lb6Y-Ghb@5PGGkI#UpCS'03iLlRMI#Yl6
*[B0rLE4+FA0SN!!M9VV0@h@erMA$Uq"&qKI#FRHqbJLa$j+h3V6D&%k0YQ#JAQG
I&HB"dMZaQ@CTaCdG)fk-iH*#'ql6Bim,HcdqJN-c43l*qP8h*+@`H!Gj2[+9V4e
V!apBQ2Xl@aQXq4qHCfML,p3rTHSdfd"BC96G!GrN,L4&+dlY[4Hb(qAhNFH#!&e
K&IRVMFC%#-`aQkqT%9hj%lm`0lS,pj'5D0$ZR)Xi6B1EY+U1#r$%MBXZhHR*Bid
bm[HS42+%+SI`29BLjFA-9m2Cef-5!iq`1am+RM%a)*r$[lTm6-H4&0Cd!hC[!h%
9)#qX+$PhZmk#U#AIcP*MNd*`Cq$MK08p03,d!(mRRhK60PDi4P16EIfL[p5JI6`
&X2D*YH8iQ,YejQ`8!hNlU3,!0e$$$`bTdAerS+ZqIlEr&r@Nl%"'pd,A@)i,+FD
jXUNEBG9eI(A4ab@RMIRB*(4lRjq*M#XEiPK8i+qpjHJbM-%!K#(#f`HAEdYG(kT
GNRh!@@mkN`["!UAlbfi$GPml9P)B6C268FIU#HDFGp$34bdS,Vb5UP*)'I#2N!#
h6'#LD-+c1)`)TpSN9#N6`hM9TPk`%PRP2GM#e#Pc0D#hKDET8-4@C*!!5$ajFUa
e#0EXH@#rCJ'dmIN[pRUCZU2jIR6S(HN5X*IXrG'RZm1l$f(k"J%EKRrQF*CU1,P
!fqX"k6J`h4KIN!"8ZE0+0TEf$@X+)r*[!NHQAk@Z"@L-)(N#XfDj'+BH4hHmb@1
Jc4)Rd"C4fF2@Q))XlAQU,V1[!VR(keCr,ICPBdNG%)QK'U@LD))qfM24Y4%ME(+
ZrZ%pBSI,mmCl1Zk8fi-AC&D0bGbpekh8PXHrr%K0BM+c#`)4!Em`a#MjUT!!CPJ
'DCV+lmFR`hATK[Y9F"J2ZPb)BK0qM`D(8iRj*RDfH@2ZBi+dpN*eG(9,"kj#Q,L
1-VRSKhIRFr#IiVfG1f9Ge$Y"fHAlR%!qe43MSAQP$[ED[NHF2l!LRNP-4ZqHm&E
1"04'+pR")R$dmHc'@0"8JfZ!ddF-V5!,mJEACMTNLGI4KT1FS#A*DYZ2+Ja`C+k
LbZF&i9!5@14'r56E),Nk+U3h1+PZpYM4BQfqD-F%qlRM!9(eKe38F(+L6H$l$HC
K8LSU25a6pVZ8Ul$p$+33pV**B0L,!$39Z-4E3&R@VKZQD!1$S@4p$-lhUm2Aqb0
E)U`5h)Bfq'&1L2C8I+lC+Di`ZXqCB&YNU,&A`b3Bi&@@TM`5`ammd49kj20!apX
m3-)*J(hm(k4S5D91XNf5iNA2TqH+F@*08'*F2NAK8lr[-r2JLclY4K00LU`A2qX
hj&0#91[cXjEA"#Y!e+J5P((`MfJcdV4qrHfc0,*Z,hF"1(5iT)$mY5&GlmJMhAh
3rb(`N!"D!EAL[9Urc!5mYEab`8KAYKT$M4D8i@5PK+CL*%d4cTPXTmpNEbP5%mr
6R(i9c5CG8(CKIpa'(-X`Xred6UNI'%T+aMC[!'KqrJR@1KZj'M`8FjaPdF'CAFU
c)m+q)FJ9QkG0[Z#qQqZ@c2L6-RP)a"A@Y,SGTk#5ecCGfdl&25d#XYpa-f6C*kL
pj5PKJqhE&lJ#ciT5`Jh5cj4*Ip0N3PIUAh1JF9AM%DMkZA$A*2!'Drj9QM&Tcm2
8iRiHY&2cpK6`hq[Ke(&#IFZ6DYb-VQ50,NG"(GFMb1+q+)2E&,&10%ClpUNZ"$Y
f&bdPqALMNFC8UjGeS8B5la'"cYS)C4&4Cek02(U+X0$hU0fX(J5`*Q2ia2b&JYa
c6Xf#e)X2h639"(U5Z'fL*`2HMG,Sf,a!9L4H5cQQC[a`T%T-l+[XXR&9I*Hh2c9
c8MF&Q,6f1k(Pp,mTY[NKHB,Va#&icJ"YRf$-`PjBhiX%pIDhV&RXCX6'5bf'h&6
NYlB$a3eaib$LTm(GY*@qPh3jPdNZr`UFmq)M6Z0BUi-,0MG-PMhETR3&`Ibk`%`
L)p-$KqcP#lrEU89Bk6eRA$G3PMZ'CJcJRc,$'S@+IfBU63pGjVA%DKE"JVGZF#8
hIChYdlSb9Am[VZjT)eij!NUU5BlmErHfPk@U@GE5RTJh[!R[Bj(ldCSQUYXm!6&
8*pbirercm1N)rRSKhRHJ-SaUTYcE`H#i5Hi3rYMlM"ep@"3PqEJYdTFN$ALAJLi
rB-UeBa'-EdBB5X1U0cSFqiirTH5N*RX-qSMpdU4h69@)3"ld3ZZ,!L6JHD1YqSR
K9ANG5MR2+VD'Xffi!C!!'3A1fkRZ96`(BKkd,RVbir,D*"3IK2Y3qL4,RFcJP6p
HJ8MJR-M$LM("DlP[NMc)VRJrULJeGkV!NrZTa!Y6RKbcDr#M-Qf$Yqf2PMQXa9B
rDlAJUr(QJNh)Chdm((LbTj!!a@emLfZq68hK`i,a2(bF2,PjeqV@&d1arbD[T`m
XDp38Y4clQMM$J%"#(Q94%#rpfi(%R8k%K"AB)YF5jq'3!*X&[$efj4&*4L#HN!#
kl!Gr3mMLdmd2H`GkQaF%P2[DLH3@8Y`VU0[8(qMGa3rUjN99I1e9*4YPlh,UVr"
'GddP2*STpM*ffarei-lpN!!fppP!(db12#*Pbad09fpjA4H8Iba@NcEh3ZrMcC3
X"6!jDH[PZj@dZbIL3QJIGJGBHXMNIC)+e(J3l9E96VmC3EN!TG!S%eD,*PRG98b
kD0E%NpV!pY9`)MPCEr8Phe6HCCTZT%j#JG341a`"6Ld$@p,%5l8S(J`Jaib+QpL
[01q`T'LBE"kU,a$m)&mN@fl[ZZrBr'+d-FC8kmU4ELe5Kd5TXa2BBhIV-*V9KIS
cf2GbXd)&Z1,G##H"pTGd)PJDHU(KjmHK9SE%ba0Y%c&$Ma"@paT1323p*5'hRj1
2NZ16(PbT3!(%f#AakM8#q#fZdjam#j2I3C+8pZ+0S@Q`-+#Q("m5B9&Q+pLccbb
GF`083dbqHHLX$@2d'5A%Smk"L%EK&@[@AIiNV6'eq@Ba'iHkAIpZF!rH-EMekZ-
#V8MA2BL$3#G,lq'%i4TmIYGFKFYLC-4YVpaU[L1Q!fHcYhZ$K#c$5KCkQC`AM"5
*Br"Dlk[1N!#D&Yl91mcp"l$5"EcM60m[bLbe+RE,,SaB9PkBVQZ#-ZV&2P3*rNZ
rD8)#RiqXVfdq2c@Sh)ld,Ve3FRVAT`TfKN3&)Fh44h`*8fRJVJl3IlPrY[23)5f
Gjli%)AGSPh,#HB+8,9%-j"VS*VP,Bi6id,24,bTkmQ(pGhGrh2ZE1JJQE62`8Up
[QF,+*cL0!@LJ4&ISE"A)NP`F+F6&*a)&Ki0T&XN%,JFLTCI2bRcZZ6iLDTPpfq%
KTULcqRa5VcG0@6%,UaM%pQB!qAJEiVC[2A+G,@!plV`#h3-[kpP2c-HqGBr6D4*
&#0S-KPBkXMDZT9T*IkAjpb43D``q@"HT9CUdbP5E!TF&QSpE3LdD*8ZC'FE[pGp
m'0Fe2bjrlViXVh556KPSk"l2pbm'bF,$Dp$B@m0-f-aqVUDrr6BIl9I3e8P8llU
`,-RGT@r`E(ZEaP4L35jLfRM"@X5R&k&4*-bXi2A""EHTc9Y4+M)5`8djp@GJh@h
'F8K$ilZeY5r"ZiBK23Rkk+@[4aIZ9h3$1aLSERDZ2)R#`fK#MG8p-J2hj1Na61X
LV%fU0TY3S)FR9NL,j8VR2ULdU$P0d'Uh@&8rAD6lV[al``,mK'[-@6U6,C%PmJ-
iMcZ93C3h0K'haHk2bb(0V$2RX6I`LJ0X(1DiQ0NN9)hSVUmMe`!KX5QA8IkI(dS
I%6k[QljHQ'!f[U,HrRq%PG9[@V$$j"*q"L1RGN"%e1#6M8ah!4ULk(m&p,GE[d$
'ea[iC[m$pU!b!fB!-l!dUH+DZra[M+(&rc'-,MQShR&`)0X!c+6[l9kdN!")j8N
RFDZB&S@p8MU#T'f6!F'`)KL5BBFe8ALZDZ0Da[cl$45&5+AYFkm9ppDP0AQqqkd
BBcMDq!lG)a2LM3PGc(U,*@-KihSA(UKdbD%qdT)*HK1J5`J0H@SZmmhi)KMK4ip
T,)k*Ghp'E$NRidMI*$r3'G,3#Hk'iNej!Tall1YSh)KR1SB03!HMcT35k9Jmc+Q
@!@M,Y)+r9$)$#LAFZKY,D#F9X%fY!!p1-*YNAS(6q#F2lLALN3ifBmr1"YEHU-j
1r5@4,&,0VZXpGl3ci2'HQmX8'b@DP-"`'q6"2lLMbL-*[ETH[(['L1(@"1Z,9b#
D,rh+i'GhRr"$A@lT-d$IH3J`UaE-&ihSTP@!&3A`!Uj4Q59QaP4@iR3*JG2)6fX
[`!bqHCPqN5G#P@PTcMhCPE862-1GM)%Hh)M%@),r)ePXmfZKpQBaUb1*iq9I#JK
$&L3meS6&KGl[qf329K-L'jGJqPX@QAh++kEI!IcTik!1hr+Kb,KAd3Dr4R#BicT
LNdq")pKDc$dZ%ZYY!C2h-RlZ%2hG3#TkiP4P6Gj-5V[BL&#6hpCk#,$"8R$DZF*
h8cHB"DI8RcPIpjfU0&Bh)!k8(5P#Qpq"Ci`@N4EaUcAiLLGNb+X0Y53R"KV+lMi
@XS8#K9XNMVKYY@$*p9QaK2l`cmh0RYG@482r@GcS@[[HadV1QVEZm0$4eGHa0k@
ZI!12#NSi3)k8$6+"Q6CfP1VaYXRffU+c9(R4fD"`ND%adX)!q))QJ+p&a0aDHj%
JU5f5KILCd,i3'V+a15JpmPk0Z$`)[YeM@+YGA6M*rc$N5J&Tf8lZe[J%q1U'dL$
qURj#mCfk8dqQ)Mr0VSYJ3SQM!ABbaY6j3N'*a2Dpc3*j&"AJL6biPE"1cc9qS"K
V#B4iG'8H'[0UfBdK2J(`30NV0%!'[CD3!,GP9k'pCa*3p!J4a[M85$kb,$e4d'D
T1T88UMA-rBi6A+FV0fN+C-%V9+JVEP04hHq4#QlMb,03A@%!+0`!Im@Nfa"A'"4
@mfd6[j8SGR"J1X6%M&cRqJI'j3fle(R&Y(GCBQ@@HdmNk[lG$T)Dmh)hkfU2*hj
j`b0"9`NVYFd2l88b$9V&5,RNKjebQ,P3rJH[)P)@dK$5UdHbbC+%k9#P5ZY!U%I
F1HaNdiU2"B9E550je)(l4SZ!SD&@@5h,Tm4D$06jLQc2cZ1aHhTf$D&DK!!Ce[Z
C3JqpH*rl%DX"f&4$E8hDcS9$j%a'pSQB6Ie)$qa'@&hVjje"6!"cGJCCPe),X!r
,B1c"Gc8&6ZJ,%$ep`YCBG'`0HFm`TTV&F2X%"ahRI(dYC,fZh)a'MP1X)Hr(5eU
5ih'e(a)k(m`V62#V4JhV6p52l"Y#m1`R!6K9!bL6AjS(Um$kVHmKIdpSar0,U3h
4!C-Tj[@DeFSVfK`b[aH"S51cZRejT*-*fb8F%Mch@[f4G15(5cp5-@Bij'#'S&U
EaA"89$@*h9C2Ir4TEmABTkY4rYMM0T3"eQ&XL4XY4Lq",b38B"S!B+I@X$DD3U9
VqKKXi#k(drU2pL`'eqiNH)5i2Z[CeBH0)"F1-01`[,mGErJdEckbfheBC-e[%j1
$Xe52`-AZQ$CTQibde"4b3#PRQkVT05[GD9eh,DMCepp&mF-`-TeDK@6),h3he#%
ATlX$8J,3B-jH4&#ZZhA9"8-(,fm3NSFMJrdm1T'MFZhpQfdq%QDcf$JVj)AcdPX
1q0BJB#58dhr@$Vcm@PZH%!d-H4C[TaUF8"(l`2l0Fb)l6$#3!#@KSfY2M$$KGXU
bcq3-`GY4#jB!CHMI3rZHMkiHQi)j!*UYKVI%Iq-jXYGG"%cAHDLU-V#YY&cY'Z@
08[*CD8XPNN-XmmA"kmN8e5p3',,`3*8(,@*B80GqQYVdNm'V-LV-J4`#iQ8)Xq(
RhFlfPkl&*X[05FhUR"HeZN+24E)EC3[@A*C#`l61h"FSKXB(#4iii0qf(C@2m,8
rEVDZhBdI`2h#iPr!I+fm*MNHaFY2i%*4&UiBQ,fIm(a)q6%E2MqjL6)15j`%)9i
@-55AF!3D"V`ZeLKIeG+iKdj'["@P4)P`d@&DI+d0mD46rAC&(4Q`ipMS5j6Q&V#
cH!BX[2(h(c8Ia85Q0e&aqT%b1j1M1X[I0)LVD)q&'emj8J+KJ+9ZUK6JDe1UK8e
f-k$M#ZKjiERr+fBr1*-8lZ5c2'Ni!JJhbf6%0a+[#Cd"!fYb%6+QTDV8VBX3mdD
%E$%Q[U$r6+ZdlU0bV8Y[U+r&[TXTpY#$dEjc`#4acE0jK'lim5j+P,P$a-EMJ6L
ekb+[#D)6E!1bUK`CIBa-jLA*XL$fLrk-5VhT%0V48$FAZIZiDU%l')S5q+lN86b
1B(),35D3!$T,66[jN!$#dqGNU@2`Hd9raC,FK,*RKe2@!I+K%6XD9B2XkkRh@p+
KN`@'$(,dYe5$#j@Y1kX9T`,ZNXr[0B5[+NDFfeVh"UfK$chiKJ,br4Apd9SVT@%
,K3l3K3FrFFDpj48GCjB*eE'EK'lmbC-e-qrfIBqL%3R!k6bJBrHQDhqVjKM+dR1
5qC4mVXDFj*R5$5dp2QHZ$9qY[!m6Q%6E5r'NlM`&BQD$3S0Pr-XL(9!U9'6"rU6
E5hT8ZCK(A6iUC9$pBccK+`reLrdm1QK![mSP,L18PP@I5qHSblUUBpaQXS4`H9P
qrch16D&`YZBF'UDm)Gq8ij'Z1"q$,k[iHTmfB,hqK*0YZJf+3-P`0!6ALNja48&
2TH80PH('(lejS-3+Ipj5,TejMM@+A[pc`qM"cM)dZcAlCQlFie&d,UPBDJh`jSj
BYd@1@'8XG,62RZ"[h(VD)bmL5a9GqPJMSUSDSfI#5[h3ed@GR5BJiFk4V46GT+S
Ma`NB`l@[ICJ%Y8hUJ4-U1-S@(@%mSS)T#aQIX%6''Y3[$V9"k[Bd$mHK2&ZXD'a
K-%A2"5!kaa82aeMq@&2jhdkjD1aU$BVpPkLbFY3Jl(md,Gj"UQ3f5V9R,arP`"m
RdZ9eFbch&c&B6UD'-G@C-qi(mEf)hmr&5VF1%I*KC@4)pDS0eN0RmkG@'A(kpjC
L-GkDRNqAiqeZhq6XR4iTJh(J!9mFRNPDD*h)h41,'@I@fSBHZ2"FeM&ZFd(jdf*
fCPSZ0X,b$`bmK*C)0rpZLa2qlHdpeZlAG5d+q,f%K&NKq5b'1!6%)`5L56-Ij8-
"rIlPE9Gb(,`dHU%(GH11",Z3!28,,UYd!,+%G!2dk@6kXeK2N!"4)CL(`m%`&a8
$l6ZF2XHMIcE$ab`p[pDSQ1SG+$$d!TQ,*RBjQp(Zak9[qCQ#RV*[-k)Qj#MB9AE
bpP$TBjV"!42Q0Z&2He[%cFNUER',a[&lEa+e`mS(3FGfffZ3!0U"heBeh1UEL1k
L4TqJe*,rEIpN3&K@iLkQ%aAR[Y)5,UXb@f#GQ%eEHblYMcK`8[cLMMTrcRid)dB
@@I`Q8@GUh`+#L!2aRX#PPMaBdSI'@lBjVc#*M-)k5V#L%KD!eQITX5S(9(h8EdD
+i[R@qPZX14bXQUehB2"L`&mHUX1"G*&rc)B6YmiD-lJ6Tbe[ap[U$6m29@RjqZJ
!fKTI'bbrr[(c2[Fc!LbLe5X*j@,4mI-``REH1PCi'[pNfSbp$ekTc)2jMZXaVaD
dH,"-D(GfAeHBFfA*`4j9AREbpkDY!(jCRZ`rjQ[VZRZH[bXNXTEj$piaiKl4#SA
Y-Z853+QC#Bq%T+"-[Z`2aq49MI[2Lc6+SSQ!G*fb&QHED`XjAZKf$$D5"S)dLN6
!q5ej1,-2qZI-MYAX&45@Zj!!54("N!#a"h6)%#DdCDbZkL+a8@IF'H$#8*'&b2i
8i1b5(@-*+SqEbY!A8pIU2J&+'4"1dYpV#$,drN#BZHhPFV#@`QG'0,&pmmE'RqJ
0,`$YqPJR[Zl,p5H*#$lkGfdIXM8hhR1a[krM[Q@F(NhRBdIZM"bb(b94!IkJQ[M
T3$QJBk#6)IjaXqr2p)AAc23!mXqlb`b)&DkY+aEeq`q88U,"2S!TmN2LN!#JIhB
B8X2LH*!!fj60G-51%#1mPPUT@MIYMQN"6C!!GI$TKdFU"!h`MS09GE&(YV3p`03
"r*-9"`Y``+'AFN59dT!!TDYRIedTp-3UhZmAScRYc+,T4dj*e*MQ8+r(T*'8L$N
YCd+@9ST-(0U+5#RZ2G5U0L%cIEYD!3VKQ@Qr9+@jJc[f#cf9(PIaR()Ne82$BIF
m0185US`GH$3lp[l[DQXLN3YdXUqcqT1B60fX[2TSH%C9324+cPE`N!#GYj!!)Zb
22qKIlTQZ5Tp%Q3AN8(RdeaD6,eraBJ8Vl-EI"iX)k-4FLe&GU+-#cC*AVq[cXcf
$A[$`AK+8LYdUd4qXTfkDh+$B)G#S6HSMpFVN%ME+*%Pl+-'L@V)IMZPZ@UKZ3l8
!p5k2a'4`Sr*N96U9R)Q,(P1hG'MZ+a8[Vf-f#*iJ)C`$rD9mF$4qAHF8JH$f(e!
*9A1UFC4cV!3Cfqk"`JdAbee*@-N143kAIJ"Z"6i+!(M,+f20@Lh[P'e%2pG5QL6
BM[Q9@SrE"d!hLMJel&B(mE%(2"CkXIZ&-MK8MPJbjVFj*1HQ!aU+"9[55@9ALFK
N8qFj2[e`VXLYLTVhM3P2l[QIVJN3SMNK$"!S*)jbP&"jClD*9cD$,1I-'Rm(-T)
VeZ#NbX"SB-!"6@GPUp,fad1e5'ce6ZM-4@3"DFHj&ErQNL)LGhmdk(&kJFQeFc`
GKG`5bf@5KG(lT+0N2Ij8e9-U&heN%@Db9ah6YQ$9JEXCRBj9p8&N@LE&XCHAbq*
i5i4jDM`f`8#"Hd2Y(RB-d$r3p+K9+ESjp9XdE*B+dV9bNQTqfeR5%a+D!JGc+aq
Me-U3!2)J0N3YY4CA"ZE'9kdmK!B@1aTH08H*)BIFYeEdDPKdcYjNJ$DIcZPp,$Y
H@Yj+"5`FCj8&0a,YPa$RdM"RliIeDiBMCepc9a+(ZCb0,BQm*"A%8!SVS2ASUTU
DIFS%6)U!j)3Bh,bBDj2PJk"9l')Gq5lTM)IQX'-k8l4lP`4i*5j`UU[q#lTF6)Z
8ac)hHkQr&aJ,9'ja*%&Ydl!a+GJ*)YG8a(+lhaSlmppa0$Sp%$%#C*&`E6fR(Dl
f0PYaXKaYTrLZ&SLZA3j8@Z$N)rY%I+YK1q+ELYR6PP[ppJDBR)h)QPj!FBfEl5D
E(k0@BS(KbH`H"Lf4M,AN3`eCA&l&ET(FAR'@Pm0V(c0D3`C9T'Q+UfP(a,)`#Ii
lV!If&#SHYjqPCFCBek5,@@YNZTd*iqP92p$R106kEd(VlTDS@XUl%Q9!1S-!#Gr
`DqMfh"pDB!lcY5)3CZ-!$5kBF'FUhpjPl,VmcH`*G!aZ*Upp,f9X-HqKUMcT1',
a65B[FQ&bXI+N(@-CPCT1D0Fl6iSDX&i3M3mjJ@4p'D%DJET-3IF%+E)r1r9`frE
09BD,-[+(3"TfkGF*e,4hEAj%H48'TP@V-[5eNK")E$EmCi`0Ehf!5E)F)d$!)15
lFk`"C06fU-SfeVFUAfjp3a88bBb8F)KP4k6(#"E+$&&TdBXiL9pAlJ4QhFUbqNm
&[D60k,FpB3c"K[T5lGCr`&QX&IAI@d8'JA)BF6JrZ-Xcm80[[38dA!,1mP$cd[4
+1Lk4[2--E,a6CMJE2fPhF5I!k&k&I!3%K4,819dVMa[iG!J3kJLppR1f!k0cY"a
dm"am,E[6,&`l(9+2VC!!@@%Jf3V#`X"9Q$I&SI51)1[-jpPGL,BdS+'85+8E44P
r[pE8$GRkN@mJ)3L%)VY"Je8R81N6&MD#L2#2NY8KYkiq*,5""K#T!Le`Hi#2RBK
h##,a(!"*SE[rA1pEZ'Re%b9bKckk1hiFIrKFlJcAZ6hhDrfJ0c9k@&XSA*k![QD
4L1!dY@1A-c!,qC8bap&N,FaB6I,`Ld"JNp,'[FYTD293TLb[KJR1IeePEU0!-6A
($f!,382SpY0T*a%'+%fKB#T+E4QfU09rN!#S"&BX`A[Y&Zqpef,jB6P#NrGDaYN
B)U3)#l4[A'8U&4%,P6)8jEIUk4+FX(dZl4rC'9Ub@dULK6eakUAJj[B&)QG51JA
!'&L5qq2!P+X&f%k-ZU1PJpqSGfVQG0qPd*%9MR3Gef1,ml[lEp2!NUk@"hLle[E
4C[09paXr!Y$4j18jIjHakB4YSG`1#PM51(DQ--RL!$"165Xjq1+S-[lXQidpq#c
ND"JEm#)2,(Y6+fP9#5Tmd9d(iTk4$#4C$A0CDM0f9#X"iUS9HeH"pQKN%ISE$ZG
!bPRe5mQ8[RmU-UC))$*PZT'(9fVFf1U0X+ZCXV"F1VbrT"BcD`0l@!K#0iV@pYH
#lL&d#G9V526qRHp%,d84XkV#0i#Fi*jYBeeE(F)r""eJDR`E2QYDj0KUPVda)%A
0,6!qARdrd+#Q+4!h)Af%[I2P@IaLFL(4"G'"%L)N(@[U%'k%8&X#F`iFdFf9RKe
$'56BC`R)412M02$%Y-49E(mrCRaeGi%C,!U632fjlXN9k1hQ0$l(99VA%1XeE9Z
+AjQFL"ID5q"@Gk9Kq'YpBU%M&0%Br6cSd"cPTMiDfJe'q3iH[F#'5(F@CA#9+Lr
S(kX4A$YHE([Z@LJ*R8km$62&jlrQr8!cdM*[8-S'DS+UMY2,`kYY"8"a(KBrhc3
F@(c1,fXAm2b2c,AA*TU4b$FrkA9d5Qp),P6I5IMeMI*p+khjmfk8#q&f2,#mIY3
H-69Z@D4FrFN*m98[q[+R6-Sf53NeY[Hi+Tl*J41+HGG1d[a#VVicJP9Q+@QPEbC
YE(hj)2`Bq#G@jTC94S"6Y4iUa1q0Tbb,$-YHb!j'Q)4`l6J[Ve-Si6AhDBP11GN
fbA8)f"3[Hb$%QiF$Hl'Leq*qAG*6)k8ce3#q3lN2@XDMkF,+PCL",i*RE1#4QHG
L58`YG+qZbT3H8QJ`MKZl[+Pi+pf[c4Yq[deVbDl!-Ac0QY#!p+'NXR0ai*P@+(l
$flYe3f2BRj[6djN"dFN@SI1PKJN8J1CmAcP4QR$'SC,$6bf*U#e@3G6[Z6TMM2A
!L-K(3IM+SA$&1G3Sm-YQXbdaP*@T(eeNU0"-aVCrq-cd0Re8HNE9%eKBG!V%9i&
HD!1"r",2q6!!LKrZ1-BD)R(pbL63FRrdD@r&f+HV8IlBicD8!GCKE)N@Id4*2&)
a5J+BFY0cjHk2X#I$4kYS,ZHL-e&qi#2lN!$D!MNqRP"lNK3J*8+j%iliVpL(N!"
ASK%IK`QJJm-,)DD@2m*@i8DK%4kaY@dGBCY`-UqP#$QjfarG6Ncr,['r*2aGXcA
960K%B+c3GXF)V6&IrZ5ifHkSA`!l*e%8&pR`RrpM6T!!'I+I#X%ZCC6M6e%p41-
L''S2ejl,kFIY2Kli%EG@$L2M,48qFP*bU*!!LM5Y&Um9)G6ik`fX98LAdTa+-lE
UMZG*VLId@KIci1lf"j+82l24reCj'#,3#ZPBV-#ISZArGB13!"J,+a9*q6LFER@
FTLV'mVE#AG4LL)+c8Jr,$f2q`TjQE8Kp"bkBSeDMQ-+KYFcieDehAjI,S39G-X$
"'bE&%HbddRb-$+eCDTlj#(HD*UqAkC46YVdTE5FUU0@,%&r66-Y-m(q%EkG`!j!
!qH,%IT&djhm(LDMcD"8!elep6"I2kqlE2j'pmG5'D*c#0lI&%VT"`Pk`#R)*BK8
V9)ALR4VLB0-j2eMp,I`ZS9G9H8CD"pAA6ZAa4PRV`eA(YMQlU&dZaLa&r(E'95E
KQQ(54HGECV6#IYCJ8RBAA1#)ejKqH0%T3GZdKDqp&JE#pCrmmX3M$2lq5)C&rQ-
)2kjqYX42FB&MJE3DZjKV0T&rE!*Ef(*-C$9N!5rScBpEb$U)`Y"6f2!2P*U3!!e
*T2B%fPTNll,(dKkq9$GZ9'8d9iZ!`DBMM&0'!@FQTi[LSNN3jRcd*+pFrXIbU,)
#H)$RV1hLaHjQGmJeUi0PNBf"JX6((8ZpfYicX!iCEpNVp)SrG&3XTBa$ZEiQr$M
KBE2A2)"IR9(#bIPLD9&')Qe&1IEGUG%aT3Jl)Q(dF*cUIdR0fT%ieP+L)Cc9jX8
X0hq#'1-K)cfIf+PP8J36A4mP4)SPM)S2NY!Sjml0!"i9k0QkUT'29q'#Z42(S(X
*RZ+keTiH9H++VmJp**K&SK&5f)4Lim(I"LHCc`L,dS1S9f3a,29FmDqN,RVX3)F
N1G[&U4A(6,Q%S-3)r`GEaRl2B-IcLaDM5dU9H2P'Nh+hUFmDmm'A[jZ++b6QD[#
VS)XjY#K%qj'Y$m$r$@N((IVJMS35h36f3)!B9QlbAQ3*Be'r6kDK+"+pk#9Se#+
iQd9Yl[)b)hqpeH)#k)#cl8"+*KTbVZ*ZmTV,8`K[[l)59&F,fLXA0Jm(R(!Z2M$
Fk24L"RUKLi1iUAlD$X#c)P(MrElj6H6YqTMZk`P9D@H,LkiIm,)")rdhZ`p8"&e
pCeERq)9,3c01*TlDG5USa!M()j2SSJp+X",6"*)$LG$j22NN1L&-5k"EUG!Aq(a
D'eTY*fQilNjk,@62iQjVaSZLLS$6lMKBd-A6pr#c)$Bk!3rXZ!+!5H-6B#UcL+B
m+P-)j3-BHAPMllldDq8q"J"Al!TFXT2U&idjHmY,P(5BA-RR-H*LH0UK55r"hJU
hLMY4@ICkH6X(pFU1Xm(9XHH%!daF3&Re+IHqr*`Y4(+3!'LTNpcT9+DNe'-#qbY
1QdS@L[m6TB#Fi9Uiaid@HcKZmlLV!KjKEY)XDD63lM!VTCN3aP%q&Km%@d$9MD-
lrH`M,C[&VD!e9T*2@ETZ*hKGF'Ua`fJ)8lS04"Aa'p6B8Nb)GJ)AREPQ9h,ID4I
BFNjNCGPfjR"BImr(Ud`9jk&BV%blUNc$+@25SLNp`kIV,%[9l4LVri-4L%d03+I
TUCZ%N!!PANpDiTiPUJbIfdfBP*l#h&$DjS[*,eI9I0)i89A9VHI3&3e&dHN2cCD
ZB)3N1HN62hmX-X)5KlZ23Y2,pA*Dq`2(V$+)$UD@h!#)kHHrrTq"ZBjc2PiU`Bc
'VVK!(NNii"m,G-Cm8l3XVeRe$HI9AlETX9BJ6YN8cAp6A``lr1A'&P$I"%0dkDP
5FKV!H&S+[ReE8Lfp!I+iC2bmr*CRc,[+dIDT$pJBrhr2`kFjq(5l2ck93-S*&k`
hiki1A`ZD0$kXYJ$1!eedXHJD*%1%BNr8jVGTNp2$fM&R!"0QkL@F,BV14`3!Mj3
`r1D)l4)QhaZcmLX%1fcerJrN@P3XRPf%ZSiBCqM$1U8Z2V3J*Zc3lc&[Bj!!I3a
G5D(qK*(appr62)a[MqcerHIM,5Fi0T640@m@,l(JpJ)2UcbGKSUkAL)qAAVXQ`l
j`iCCGM'9Llm&pN)hYMNJ&H#,hf!ZNKM3UFRA,N[(Hh,"Gpdd6E1)IpB2H!+HreD
A'@!0G$ccj-05CPFQ3h5APJ3Tk8YTeJ20c-S[TNX&`Zem#`N"bZcf-cK&)ebhrL#
P-C+&DRF$35RXbG8)MF3"+eZ0EG1$RD3XLP)D'U5+@U"69eG(2'"V9c6!1'Cherm
EQ0RBqkamR**XjQB$N!"J@*QL[84M0"Dl2@K-Qd5kVUkqD*D'K+AH(eM@289k%*c
+9B`$&5U@X,pj+dPAaFGKe[RceJi2-`lB'@fS-$X0!J1dqK-1c"cSZ@T'PUldh5b
jb"I"k#pdYA$Ri$hqk(e16@FSUF[+R9j!Mc@6NZc"(6BLqfr)SA6Uj)Ff"jhd+8A
C*arcpDHHSJ`bDhm%Va"ZCLE$dk-CQi3U'fBfaE%C$d#HN@h@4La!,L0CCaNeLVV
mR*HGm1F6U6YCr#p*%Y'#f`,VSjBAZCYDLLNjMVM-""4J@6GFf2#BH4MqG[YFl@,
*PKPN*d"QYfZJNJ29jH*K3k@iL'!`2iKVSb$p6CM3Vf4&8`*b%pUX"1PMJel*&+a
M3-`LcNKc%E3X!+ji6kj9GfHkVec!N@F`i'Cj&31TC[(9-0@l$%f0LPBCL3)"@,+
Ab4VR*Em&3Vek,5Y[1LQANcf0"JJlLB%aYbQ`-H4PX`BG#UF+l$f[8VCqC89KkSc
-JYSflNi,[eVi4JYGE%$K[2[r#@[ZAa9iPDT4PT0%Y$aDl&I@IiKb'm"IE@X5fJm
5qKmTSIF2L)G&Qd'N%HMe6SQK5X$i0qJ(8DC%&`Ga2,2+i@Xi@8d$m-!2J20bp!Z
6Fk8D6jQ0Ck,`kPcXcU+qXNd1Cid,G"5Q316)PTBq01F3X5&+JdY4h%(Rk!B&MUV
HrNqp3HEFNK9KAU0RiUaYIpVpDESpQB5iT"+*#*%G9BMM"m9*Sc48V)VPkjVNh*r
'90QZG)mrVVX4354i+V3r)5bjp64dJ!%JdPd"FcEEpmIqJ`83aPM53+8P#qB!MKZ
I*4Uh5Q-Z&VCZjLjGp!")R$FA(r1H'rAA!`p1pbAC%)aBmKHe8k#e9d3eK@h`8'S
[22CjPj@P4&NDqHR`)K6Qr$&A"2mRP$*JJT4b%JQhbR`D!i-"59BR8r8+FQ++U5Q
-R9hUhbc@p&qI,L$!2XGTQq+9jFQRHBa8C+aCk0RjIajHM%2&1d"-bP*ECAHZ12K
MiT,JU)2"a5E%CV`HElAf,ika+FIEe1da&PX([dh)&-id6`K`R2SFS+"9cBKIDIN
Em#rBE$jY93FUBSIqZ"13!*1rfU"YBr(QX!qT0`h#BA8rP!Qc$hpE#T%4diISh@a
ER#H2-&G)9mV1NPE4kQ+S[9d[SaqF4*emc&aK+3SU39C1F'VVRPSAHMcI2108"$M
`MVLPDF,Xp"SSZYAI2@dM5%c9Zaaf5`mi,efBBf44q(8ZH[jik4Y[T(A$`GaMQD3
pTVmFSf6BK3@+AXJk*I)J-'BYd89#%Qp(a-,pFm9UIaJHKFQJYL0+ZA6XpL32(#h
bp26!!93@V6[dK)cG8Z"rUamSdMBY8lhd&E4P0G!p,G8GPK'Z-r85G3KDiCj4i&)
13ZHdPqUC61f$66[lX%P"rh-T#c&%56qfDVj0%*MD'AFr6JRGcC@9[E%'l39V&RR
kp61@hf`B(,*"A4$-[2V+6Q0AZeJ2*diIZe%jd959T+1M(mRjqFUAGlM"1c59Dka
Fbd2YaH&Ei6KaHrK(*LCR(S31*CE#"[Qh%Q[XKNU@%+alFC!!!pd9AEMDKhTMP,h
,T6pdEr4@iMk8P325I2f,5VfDU[e@@d9%9f"'`HbkC1@1&[mqPZFaKdfklL[E0'"
@iU1+PDR@SU&,)FPF5j)ME+FTeDQ*rCk4(!b6!lG'1JQ#Tae+$+A(I1Ua89H[Pc*
%MMH[9((1a[cTTRD,!36kUG06jRT&'am5DT19$Q*je9,4dZ"Z-1"kDK$DRUclX$T
q!ChPiTF`2D8XZdaGYMC4FP*LSfTk(+-k+pbh)2aF1`Md*Ka5c%c4mDmpNBp%VF1
18"qC3r,AGR9fk,,A'l9KAE'+0S!F#[DkR!12d4chDAXm"qfX[BP@GLQBaPCP$3J
N,U(HC[bM%$PVcMIM1KmLCcL6Y1B&)3#5Vm1j$[XE4')*aLHZTVLrja1lmVel&(9
hJeJ#aJ6%"QqS`-&(a&(@rb2f*!cD56CL4N6Gj(h)qj%D*S1`3mQ$5KBBc*!!dQ"
qV2p"VY2NqVTf[Ykjrd1ZfqhSIbqhVG[Yl",lHc(q(6INqhYjRfpV2mqc6qI8#2K
VlGb3!'3FTh(J$`MZ#EX'Bf16Aj%,ecrfkeG$+jXccP1GC[[C8@!#2`!l)&P")D2
RQR**D"j(KhFIFJYXC*HDara-hcj'b&)S9iBCZCR4fk""%j-PC)IfL'cCP84HaV,
kSJq@$iJJG)hEd!dZX$#)Ra[-2U$D+k'jKT45Fr38TaLc'UPP(3MI1XS6!qaDGTV
QhL6hU1"fJMSq9!JJrc)`,M$QCM4Um1bf+63Tl0*cJKek9dYXr1Q)5b1f%[i8!G#
%VjQj"e8'ZHKLj*!!fcff*HXXYV[FTBACblGN(J+0`4!%aN-U`QDd4'jLT24@rCa
Z'bK@HKSTqe8LNq"G8`0'ZSPTBl$YMBYdaa4T,FVYTRGTG06b[M&(`@STr(1ZNF$
Zmrm*-BF#)fkc+S@NNaYdmAG$$$iaY#2Xb')D+1qf3#c!Hc(YM@bXDdHeX,IS-KJ
XSh+YKSKh2a!r8S`rH%!@pB2(3l*6GpDhHClFi6i)rIEf5@mh3[T`-N-4p14rlk!
a9()U2Gb8MKm&lUU0JIS9U!C3pDM,V6JTk%YKFRm&G)d9Z%QB#HPc4Hip&A5c8FY
`fc0)&Y!HV(B![4X[[MaUFT(qB,1h%P2m'aG!,aKqp8G*M"3(q1ICe44DKN58$-c
aC*Pl*QCGjcQ-"b`eAAM1aRCDlRIH[ZUMNp8,)`fSfEahqALN+ZrEl$U[(KN)I64
Xi5GD19QFKr4m4l0eS1DrY5G$f$Yj*4CJCP1&mFK3Z'JQ!h`&[G0aYLLB(K9e%`a
f)!`kJfVNdm&BmDj6[QRlRrbVk#&J1j!!)pNAQSqb6X'BeiF*Y3cF%)`i-VdlQ,)
#Yp3bK3C%+Z)V2XpCEV+`9fV*-(4"kC!!bp[2q+S'Lj[ZVIQJ3rG9%b'ASh%*0d@
pqU#GF31U5jR65(pGYNeF#J1A$'J4Y`9[%ZR0AD5D)a"4eaq"kde2B9#@835J'iN
3#!BBi02eDBJ`dRJAZJ)CLUcECKf4"HP6JDY"1CKj4ck4br`Q&2ihIqmc@X*N5b&
D)*[TlK5q8U5%U$[8(J&ELX*"jklZHY$l962%4KlAkl`&#RI*Cp"Q$+ZUhKIkKii
QmMc2R`1#iYl+qc`jAVBH-eRU41aFZ98Fi+bSXL1cA&9r2Q3aLX!2dHi6Zr@4G!5
"$!0KET0'e@Rh6%R'-Sral$XK-Lee'HNC[Lll82XY@`qK,`l296A#e-AJ9*MmE'G
[rarS#XeYq4K1YkL(65jaE8jKM$D%8U$AU!b6@6)$U,rAm(SEi"ZBr`h[a[mjq+"
!R3@f34RDL$*Q1Z)eXEV5`@YM%S%PSPi,i@#Hp0dJUSErGm1aYUd&j'IbK4KV*+M
d6$m#(M06%jkCUQhh[#M8NIeP"Jif4aZ2r$BfPfk#LAF!2Y!699-5CXS#R)IC63b
BK[)IbM6Y,MXS,&*!JZI9'Q3biPf3!%dhHJ+JkKRH[l(!('0bm[TFPPT`LiaL+36
VKah4+#Z)q1V9GVqPBCQc-$@8bXiT2#C%6Aq,Kj*h-mIKSbX%+')VD1*TSA%QG)S
$',1!846*DpAbDB%DR0qKKM)E(Mem+*qJ,,Sic%PG+LT$r30akY6U1!cPSNH$`VY
$MHkXJ`2J#ieP)Qj)h0"L#qXF$rQiRSAbL'VChi&3q6iM6J02IjVqcDNbP8pc6"m
GBlZS)*!!"25+GG&RAU+84N&A&R&cP$Uki3bE,!JmTiQ($FE(9@4@!S2(dS`BS!!
H%eEImeHjXp'Uq+l)Q2mm,DZLlPFYF5c3656b'N0(#L3l-q!DPe'9JkNk!H2ZG!q
GIN0KqkpadIH5*"APl(R(5keBZ0J`m-&IPE3cHCI%8S1ck3,Q5+G`["kS'f(B+@Z
2E-3-*`)9DqQ@$6P6cR28i#CpI4%XINVAK3de`S)pd'+PH'f1DU8$1p!d8$EMp14
jpR"[Cj-iP(Ef*H2b6KHh2`$*$BC43Y*j$Q3BIjE#Q3'MNj!!Z!D&#"`e[9j1GUS
$i3PE`6pM+UbCN!"*[kCY1ZABXM9-p1T`,eNHjUV6BklfY%X90e)PElhPUpV(B'Z
AfK69DZX0-lmPjYGFK6)D6c$+9($GFjMbki1VX+"i)')+9VAqU&HYS,C&hXY1T00
H5YC(LLDc2APj$MLdDqm$Mfe9B6qC1[*C[*p)C@SKDT(dX1KYk&8#NCYKl)jY-m`
I!+8!G9ah#3%4e%@aV'V(%rQqE$D4"[e"HRlD2rf,4N'8#eLXBlcRRCjNdm8lqL!
ifMQ'YhY'L+DN'b5GNjIp9[fCHkk4V8,dN6p%N!#0$ebcYr#Pk)Y-PMf$qe&pDD+
fjDB[jc'%IP'Q5-ReIl93$TbM9hlE!E"i-Z,f,N'3!#5RrT!!d4p['F`Tl2668-F
5-L$UPh,`2ZMl-%aF)T2DJY0*ich2JF%4CBdm"P'"cdhZ0kSTQADI`E-0q+NF&%L
ii39bdY*5P9A$mHa2d[pC5'm"Zc)KQ`TC[$b[9'fGf[$IYiplZiZCjNS-%(mpE5r
-&9lD(j@`UPDZB3qU[IRJrh@%Qq*(bP*99Up![EJMM,+MA9[K,BZV3Mhlc&BL,lF
*p'8Tq@Nejik+0+iE#rIbTp6qp#XCf&LVNf!'Pj4B)k2(&a(0%+6GL%#&XIhZ$qL
JY"9UfHf3!2,)-(BL"Z&k1fklK0jT#dSmVNc!@hj(-Sd192dYc@mZjiaVDXV[rfM
1ck$QTI`*V-$SUrY55U,h!a9VM2TIPmbeq'P8&J%lpV`SdGE'Vfr@d9d#QCfAJ&M
bATD9[Nb)"2!PTN#c&-l#`!A0[*rk,d9G[C&@XjaiR`$[lj&@34L)p@MKJ9!'06)
ST%jRK3`BC[05*MXHD65+20PfiRq+(XrCp,ZP!l58aJ8FHB`@Df4`RY[L&2,6[Jj
j"YTi5+E@"Y+mj,&Pld')2XNpm-33BT%V2LI-DkA8Yr2Xchj(+T&,8k2mmMl(6l#
`8SG6C!b1ae0N$)l(8f3-MXG6C!b1ae0N$)qGhi,1(8E'I,ZilC@Nj5%cjK9D6m"
b@HHrrdF,@pS45GTD3FB+LU$d&rU"p$f0k',2`ZJ4[-ZjKRaGIfJH,Dp*jIEV$AU
8h'Fqj26N4)MKV66T99S32-X@ihX&H4Uf6$`T+Q*3dM4bp29FIfi$KlGS8TI1U5j
C)flpQhm9&[[EcLdkG@,-,%bZB+0XRedp+4(r-ZaS[J15l2(a(#j(X@#9iZ&UZC!
!"8Ph0e4il2Ndk*`NE*bNBbMY$SZ[N[i-`l2#[5TY'#CY5jYah&*kNlXMKQemS6$
K%&3$SKaKdXlJZ$GmGZMXN`JHdZGdJUBb)Q3EUA6A8q-9%[jB(cbTPqT9hj+AMC2
S[6KDTmH+H4&Q#A)Dlcp@5ZIPJ[,N*V8[I&91,TG)GiP)mKR0V*DeZ!m[iEp63SA
'92U+2)eRf3+HZC%qPZARRc,li4LCPYq%Yjq%TLIUlX&hFY1Mlp5H`9UqlqMq0[P
iPb#B"18K4dc@%b4pL,V8hj2-%B9I&KkpbeDXEe1p8Ma%LHi)3Ekbhm#rRkj32pN
KJ9dXp1$`Z8`+0aYSU3*d-`FHClrdSNHK&'Kd93)peRD3!+8+bI0bH$J9NGDYJm-
meGNrJ0S`#N+H#S)*Z$MS18q[RmpJ5m%)E#m"IH@)Ja-p4RrDi@pZ&kKXa%l@Nkb
q[JP)!5A@*d0iEFRqm6NU!*RGkBb![BC[KQ"S[Nicq,@8D8jBe#*"8d'Z0mk*F-5
5miGB4("@K+[[MYYR%-5hcFTVAk#2)UdF[LJN02R[h&dR&40Gk1b-"N5RS%AJUdF
j+'3LAlrM4+ZSEL!c9PE&2i6cN!!#SiL*E[[ZHR36C'"bN!$'q"aPIG'4!%S@2KF
&pNb1UFQjdr&JIM*3T0eR-jY*FR([K%[Qp"EKG&YcZ6Jl[38iG&UQVmH@rE!V6q*
$&Z4+M32LaJSS0pr$h(6[AfZSMHZL'3kDr15YcaX4!dTK03&f!IefmCZ"B#UjR!9
BlQpr$FIh@l+-pL['BA%pH*KAZMYG[FlkN!!p@U+@&hm6j-KDh5*e6Y9!Jqrl0G5
Kjibc[dL![F6kdj639ac$,ZYGpb[YXF)rpmEh2Ekp6ML"KFZYFGb(c6IGUk$Q42[
mjH&cErMfq+fSIc#rNLQbQ8,kl(CDEl"KNVIDe)C8j&CRI09pk0H0GQ$!5#jF$Qh
UVqcaD@*a['%Xj+UaXqHJLp*r#N,"L[%2bk2'kP*iQNf6S&Jb@Mkl[2iDdCZEIRL
D"Mb-kj+V1[h59CS3Tm"lBQ,R*'qR#erS@pV$m&ZKIc@cekF45+2l[F0jA[A$$'B
EJl'EJF)McRIER+13!#fmeqI*5E8LFCfldMd$'IY#j`pLMACCN!$GQ[-qa[M!*-!
2r9bMh(jI,UYN,[`GJ5r%PJRa3UBBQ8SkZE6i1-[ZMZKLf[IS%p`kfKHGTEcYB89
Nf+IBAm'RJCIFr-!&+f5A-#lpP4aMeF$K,5ZphB21hS!-AF26ejN0TCF%DfM#-B`
RVhh5`K31laYIaM0V,T(#kD1Ue(Gm84pf0(0E#@BHXf4QK`J,Qr)DQJGE")!45)$
rGKb0dVaH(q(Hj$Fpm)XDk4Jj"cQ4mh)0L!6I8K6"k91"Aq6@'le+cB3qCDdBiJq
Bd2D`r[9"`l5#(H'ID((03mBEY)'ZaE+!l@fE5m3H0#q0"KXFbD5p"NYYbGihRfD
K0UaBNK2*mH(SEST'I"bR4aBFN6c1E!-Uhp#0jX-8I9b%pcARd)fjcYVEZ`A0NYl
ZlVm[aMjH[1XqmUK$86EqrZ-3"J5QQG,aD)Dl!HP8G*pY9&FT0RRE3'e!l"C4$VH
eJ)HYNVPDG@T%3%%A(ZhSl`+AC+1f,b$d"6A0-)ZYfR*Er8HpGNU,((DCA&qbmm4
!S,S,'2ZDS3NSf#YC3rM$p%1dIQJF@U$*S(pJSd$3e2+F$DFkZX3SNqRehX4R,,K
)4hjQ'"[k)M36rFV'F%4SP,fb*jFZkYqmT*(+b(5VC[MLZrRpBejF*IQSP"45E)N
[pb*MfX66fqQhG)kbPQVi`i!4dj'mrfP$MAdi(TL#VcFldd6J6Rl'U`B%X2F534q
i!UR#QUhHjGXBK%X6bjSUkF(d51rXNS+U"B,PPhEjBh`K*C9)B6D`ej!!hXEGD["
e,BcHeB0!90DDlahMGaQ9%$6988)P*mX3DRpF[#*"&jc$Ei9,KCPK)U&!L1U50@l
DZIe3!ZMjSHR%YUABXp9Q*X@2r)bP6N$VARiQ%r61EemfVerV[,@Y2A"9*FlKh8,
4Ak(-,$qAC@JCED"dDMl04T`)NDP*11[C*D)f3aSl#Ck1I`bf`h+LHSi&8r5"PHC
kpUq1HF,YP5fMkkT)F4d'f[cUENJF!d9H#YcU%)+'E5ml5m0bK"GEHc!X`PkdMBN
Z)E-1mcqMVrV#SNfLl(BpTR3&!K,0F[+"l6BrD,C,%N8e(Z``,F",P69iPQX`SPH
+YAG+83I5,V1m'EY)[&m%YeQAUiNAa4!*BmV`bXIXScdKZF#RbcFF#PE,TJ-j3T@
9&3@M-8kdmf1GSrKFP3F-M,%UDLj6[b2Rk(QTAFPH5K&d)jQ['+KJ3XLll82Cb+[
M5VKDTG8AHL5Td)4rdkaGQeibAFEPCJP"j#$)T"KJV,3N'B[Be$25mFTk&V%)f3(
-L(`q,8Nl+IJ*,HU$pRR3fhi0QLkqGqX4rPQE4!')MMSZ!h$1qc(%Xp1RjE4mi@D
+i*[UShp0[3"9LZ4A[44hmd44ip8J2c'IIX1-[EGJH&5rd8P,Z0MAVc5ir(*aalp
&KHT@T#fa49hH*-q`HaX6EJqBjf#qddZ-lrN&kjkK%pAIFKhX,LfHVlILV-+!PZb
2CSRk4deVN`N#+MAdq8!,lQ"[@FS0#lpF(d24MU38A2[M+ac+Y4UE4QTNNVC8Tq"
Lb9p#'1VpQcS0jIZFHI)PPk,YSaPM"Q2UbL9mQ3j4aP&64Ge21pVF[&"HECHQjpF
KTCY)cB"jCp(NYS4j'+qQm6RSj)"#ac2eI0N@EF0Hr2Zmq)(r8,-l!#CE6e8qR8a
N8JZKq)NL(T0KeK(61!0LBHSIh`J+j%6,2@ZIQA#D([P#GB0e"a1KBH`Y'90Mr)h
N#T[PM1&IImMkdbdR&`Kd14Qq5FrL8lET,Fr`0[V9G0B$kUAk0r'e4&9)p&ae&0R
M&f)05QQ*p3KI(rpb)HXQ2@,RMQb#XUY5m4m-D`JN9XH,)q804#)-BbFp0m12bH#
$0bc*i2D9J!jPGZ0d)-kX)`,*-rb*1jZQQBiLY0G5eEX#!TI'@F$5#0mp2LPfk#X
1%qcL16M-@!i`la9,lV@T-eRq"dp(E1(UfLjkI)+kh@r-`l5FebVZ`DJ&k1fSER2
hc5S5&GfGJpI0"'Ml3l55dFP6@Rr*kCP9$9ckUpc)B1Z[`3!(3HHG3HZP'i#D"jD
JpJU2BY+G,`%Ld@S'JN[a"J$@90m)p5ml*&C3HkH5h0DKbcAbUE)(SI(@jC86+T&
6P+Ef+h(`I)`iNF&1TAbN'QaNZXSr4Td5MSqIRACe'8A3,fE$dmii2$eqh$I$QU4
$rRAYAKB&VT1kb@F"mlPS-,+eb)Er22G(S(`-*9VZ4#Lh)4ak*`U(fa%VbI8UYNC
Me&2!VUBmp$'R1CBBS!HNREX3+-fkch'1ANI2bc1N&N%2ljTfN!#h*cABY0#a)32
4iXGC!'6lh%mFVT&Eh`ri89H6#NLU9Jpf@)c-kc+[qf,bFGdLG6i`E%-"XQpKEki
rHh(UFa&*3K[H!iNr5c'I2,IV[$m91V#kdFE6k*hf@'J[-i!BU8RJ(rSG`f$+)Nf
J`XrB-9(FhIfPL0J0)E!-MMNN`#X[,K1dFXp@d3SqVqZAdTdiV'GZ1*h@XS8%La$
R'bUIE-fR$c0J4H2,BQbmhE0&KDErEiikR-qHT,*JIbj18+e0BXkpH+ilUE(k,82
@a#m""2FD0HLjr'&PR0HR+iIZ,`B(LN8@Hm-bE+Dc$"2r,Z*!5`$AVX(%`c#RKhB
RV3!`hEq"I)(`4D31c%5%UPrY$Q,"jjhk&*N3b%b)5AD,EmlbrhN$,YGk[pbX4'P
9,ABqq5mC-0IQSLQB"r)&T,[(4-XQ'c(E)qXLY,,CX`6JhK0&'$m6qm4maY+`&9D
9c[Jf2A[RdaXIZ8`TTZ@'!#r6el1i*L'aJ[QLR6iF#HR)dB&YfhqCME4rEXm4*90
'5@8CIa1Z6ji68#d"2Mfmp2+cd'`ZP39a,PJmfR2R'f[0,HhaFIHCGm-RImkZEpB
fJaI9@h!lp"`D%m!mP8(bU[0E6rm!`2B'!(DCk6&N5'kAp2XH6Bh()[hLkId%raX
58#Bha*Iq,Ul19-P3)pL9Q$Z`qKiCj5[9BYFqpDe6SaEEr3r5h,irA5"3#+HCCP#
Gp-kZ$P@$P@(e2NfB)fc-#BQBpKr&jRZ$@ie1r"6!j!r1l@22P2DAmF,i%GALChF
NmJR!6L,$YF%,%+!jAMhIiZ%8Th#ZV-'McfMbR+IkFA%[DFIFL8YV8r!9qrB**Yp
UEV+ap[8kbjV(6Ml%Ir4lR'"93#Umkl[`UVd@8MJ+PhBeej)`ZJK-6R`2NL2+laY
f@dG3%EF6f'M*B02TR6FrHK%!083*9"M'&Nk81pM[`BU[6XlFB66Xl$#h9)m9!I8
-8S31J6[ePpN$$IfK+PK&TlPkhQdl#LCIc&"k,@5NMV,f[&M*D6H,SlVbG#Be6iA
805@,AC!!f%P-B-hXmHfJU8&lIb81%f`!U'MjeNfSBUT2qe[f[Hq(plL3!-%i1H#
ZCdrHQd*GH3ZD+0Hj$[hHf6dU@R'Yq,j+L$m$3FdL29+&4EellP8e#K)#HkC@phl
Ja4[d2l%KFE`8rBrEUb18HVAd#P9aA-)PR8$)LF3&mQK4C[08DBYSfUb$Fa&cm6[
XPYhZ"lHlcJ-DrHi05b#VJreSH!'NVJ%%VmebMIA0IU0ce[m*CYM%M)S,VVJVDe!
Di9!",6l-*VV@hqU3!!hG8GKDGZYHU)U440K!PX3J5arEb3cF#DmG-IGjf8MKlh&
Z461c5B6IU%l-ic&Tqa4E9QZ"Fa,(2S(EM*qala&BLjl'ec$Q@-T'[eM8l2(VJZj
403!a*PkDYk#Q!cLVqf1lY)C-C(5H`1k$MS+SC,(%60!Nqhr#3[h5L@XLG+i2$k2
'#f)1U#cYAL#3!+B0a1+cJFZ+XL&64%`63Y1D&-Vk!j!!4,dT$HhAF"dA@I`UbTZ
S-#D`Q8I"lK@K-GHXSCi$QCX@KX&3SPJ+-rRCKGQcl8j9jIb4a6fq29V"#02r4N1
LAENQ4Q6'P&Za*+rHUf3bHVSj)Lr`411D*0eN@8m60f@i#2"pHfK'`3DAl!PG*p2
KBP#`$q9[eEU9S!AE[6#$$&-UH98[)$Yie$GjR%N9&5TIH(%L(G9pdF&jlGjp4+(
`S%Niple+j9LjC"S)0%2&GVr`[kKe)NZQaD1&bhi&3CE)"%1"UICYD&F13hH'Q()
CGLPjqPDcDLBkS+R8mkS&+8#l$jDrBdXL8+pYM-EZpj4K4kfc%A8X9H0&EBE$bbB
+fKHT0YK%%"E%Naj)FF9jm-dL0)-j4"hfG-Ch4&"k*$9(qZ%-lS(E9eLaUpp[4i,
@h8LLRqa(R0Jj2XDSDfS(i2'[hP!jKZ85N!"d0C,pA1N6aVc[2RGM[djK)kq,kMS
0%i-EGlQ5b5QhKikd+C[UhEX3DkL6rKKrkiAUl5!68Ip-F-Yr!bZ+%p(a$lrKi1r
JB04d'"Hj0j4ma04KL1J-,jA0e1655[9h4BL%VUCNebpKHNfB#k[C@dlZSQYmT1,
%kK"5)Ck3!+IZiNKr$jb,q&X8#E3YT8@*`%H*eMUB%HdC"qMUm6qr*52fY&8*aD#
5&[T44T`S#rK1*K"b&E0U9Z-NX@i@qUHXZl$R13N+4GYm4DklaYJ6JY`"AYpA+TE
qH#U+Z(6JTJM4f@V1V6r(V1hk!R,XNI4ESFqZc4fY9#lAP5cUU3*Ha-pclD*hF$p
,VB'Gce'aR!bCLSB#MF%iESpUcU,9`dmNl)-FrD)K#piBY@Dq53#9`C(!cfBVDRP
aXAdmNAD`K03RU&AHDlfS@5L,SP!iK""q4aZAK,F!mLl60(iFRelDDb@He6DZb4b
TpcGQB[c+T'*T&(REj5*p)#Vb"l,r--!BPXU)4U+&9d`pKf&KFZcX'&`SHcR`%@h
HFl&$T@d4-!*YM[hEF*!!81kqC%fkfa%CpKU2S@e+0JBj*jG1Nl-1ap!N2arr2'e
Q[LecmI1&C%TT,9qk%@#%a8mX1'bG0i2HR(IVlDK%P6R(VkpH#jK%pCp*d9abA01
!%F@ldm&M[FcLa!Q"AE&,b-K96+[+A[0Qf4MFkqmI[FTrAKJ89VL2[GMkZ*ek5*H
`bRBfb$+%YZr0YX28ZmP(b`)N,T03jm-cXa$Xd8D8mPQ3!)([c9V#-hLk(8D9*XM
V+Fp-&CRJbN+qGVNSl)Eq3)5YKQJ0k5lQUkK-6Pm"'HKH91`EK0aLVSlI(`LHqM`
2Q%CY8c$ia5ZEAT&-1!5S3p[C5h9Q"CX2j%Yf@8d!FPDiE#qTU0,jJ+J8FITSeVZ
i`42)4R1Sk#)Sa@C[,Qf+e@@hHPG9qrd20!64b(&*4fiC`SGV$mf@X"kK46l%[Kr
PjbQbQ%q&M4ahZKN6LZVTAZbT81pc4l8%K3pTLXV2)MFb'jq)qLjP-ff)Pcihl0d
XMC`AN!$(R%,K4E%F1ifP9lC1D)LT2P[F!"'c@DIX41!lE5JR6k'+)jmrFqdA*$B
@IKM@JT()*Al3l@@+kj`i`b!P3G*GZVBD*l''QDaN&RLNc34`G!-dCKPpLYR4$a%
qABImmEqTL#Hc&HDd(Zhl4k1!Fh[!#e#$l16R,2Zia4c)L2R(cTl@2NrT!"b#V-l
pR+r+P`Sl@Xj6I96)kkmEH+ji,!k'KCBC-QBfUZ)%!4r9FP"0bp*bU%(j6baU`E@
-Z%4@rA0hqPa&-ap!ArGK(@5$L*Ur"9i9TSFePHS,KVFrY1lNhKq!M8I#$VKkNG+
5VSaNI"AL3eM5hhVA9Y*L+9YY9''Fk[pciK2KHNE8fqH++U%0#Rd`2mG2dL1aDPm
!(+SXPQ&dH[6r0'l1c@40S&SceZL4'1GCp`UXj5XVb)GMh2Xq"6drDF)9SjP4X3c
&$1bjp@$NQAH3!&S3&N"p%&[DMl'hU&3RT+S1Fe1ZeReCV,f)b,lai1IU#Y"B[ZI
8Bi`&)kJ#F6'dl1NE%ZhD)J+$@iCNr&M9BY#$CZ5c*8Ya,,d#R%rH%FejpjVcirS
Bk2piPa5Na8H0,,')HVlM'GpU$#1p[5(`2dIf2`6+Q@Zc$kh#JGFHpjdP5aTC6HK
Y*iil,kH88X)Ye!c''2"rMIVHJRV,6[[KUpp'e862I3FD,)q#U+LhB,6NjMF@#4Y
*XLXVL1Z0,9KYCpD4Lb3VAcV-CrX+bjk")p,Be`8j*!KX5YHIrK)B'2hTIZ158aZ
"8G+PP'3Ac)*+PIXeH`cRDH-UkCFI02@S!X'M4'6GmM*0Tmc&(KR2R&R'a9PN-L+
JDfF"P,XI4qASL"e+cIjRPB$4*FbjlUm$%hAchep2NQIid8L[p#5i21$bTC&dr48
j(Laq2lV("JZ0lZJ8#a!ekVH50#Q+Q"r#l%+X#0A3$GHD2B%91Ld'%'L0"Ta$2bV
jA%kjV#Pm$*lq+1B)CQcY08&K8ZPf%)'Zh!mjiNkUYrbk$%[[5JJ0Ze,Eer"03jG
Y!pbdf+fKa4LFQq99E*bC+SJIqU"q`@mXjT%$A3Ui@Ik)[rAH,0RPKk3Lf[mPH%d
[hIS+qmQBPCl+!UqAQ,ZkblAcAFYHEYQIc8d+e[F#M9C2%!iG!UA`Mk#%Ba$LZqe
#9A3M!IG(M&CHXNiBTGGFGfVpjME010@m@G3@*YXdGlcaf"V("+feP4MAA$aC*II
Q`%ic-m("'LX0QU'arCV'L(Sj((k2@mJkjpm`r!AG(@QIe%q`6K#VceCrZkR8RqC
pRcE62mZ`VcD"#VA"&fB,,@qldZ#4)Aa[8pBJ))8ceHR'Gl`dDSlccd@!k"cl(0r
A9ldbClplkM$HME`R`G"PBkqmTBaejSba'NjAkH2l25iX5GHpD85(LJl4h9GV58B
'1+!M4bj3E'C0'9`+"a[mJkZj@Lbd[qiAj-'64Qqdc2L"Kf)8*pMSX*k5[cU,Qk6
+2$UQ5m@fPNHKldL"(E)BiGaG)e)hTJ%c"Q[m+KPED2XQq3Al9K6K(81SG3kKeH"
0$lI'qSUB#%V+b9,bEA!9I83JJ(!(dJSqQC!!JUH#1JE`baLlFDj*Dah5CVkC*@)
)Xl8dJ`Tq9afJ0m"&-l6M*@0PTP(A9SGV2%-#8U1I#e,&eJU#R4"eU+@l+Ki&8@,
1+0#0p'146K(hGVPfrd++2M2`1&hC1qbIHVU&TG1TR++($K#D%kR*Cb-R%C!!2$e
i,JJBqKdm4CLZL8%XS16ar+J1dR5ld'G86TdBJeBlfcDAP33l[JjKLE%AHF1+rY2
Gf1ZEbaQf)4L)Kq5jGfbcX3AkCSZ6DhPA6BQl@m6amlC%c'd5cQ!eVK8dpl3S+"+
jYYZ!jY,q2K$jC2TXp4qT"Y#+HK0LYddq!q+3!&jJJ0-i6*V`m$QlHB,[r55bN`B
NVd6Ar`1MHJhpcfr4DK[arP,UT+Ej80XkKcF,*2(eY0-aGm)a9DKqql8m6EKMSHQ
4krppTf4eTTJ$RXMc-80Ib84M0lb4ZdFc,jTCLBCC&69M-!r4S`N,2U$9&l$5)DR
S+*Q&010dIq9R$(G&`p(a,p1jT44"`B[CqNAE5-%UX"S)bdqm32+N)Zqa$18IMa$
EhJaMSph3-SGC1[,QQ%)LDIm2j2Ul8VlHpRq(FKIEe0CIEhir`llIiGmAm1ZR*p[
IYIKk2AmqmhqIA3$iD-Z4r0fHFF%r@b*0%X"b-Ef8`4QZTb4`BC!!FN4,1NBIc6G
p`dQ(I&9PBXDHHEX18pZ2(0+lkZYFZmTbrLMLR&&G)X0%rMG#h!@h4Ie8fpd'$8@
'5FQSBSFbqF@!ae-pbKKH**!!FXS-TYi(c&rdV,qiK1!0kHq!m+pG2aJVDD1$VQ!
'$lR,%DZS[adPTA2`*4l9epbKLRF[#X"q1ScM*r!)1h0YFKDp$VhY3Y"1IlK6[Bp
[8K*,IQh1bReMbBiKR[X`,FXKYlpY@d1`$2I5#ar&SYF"CJ9&hQ%[k5c8aTkEQ!%
lNeIC6pR9V'i!Gq'V84QU-U+jPXC@A,b0jcZ6DGK,QdNB1C3m3qarefR`[Y4h-c!
C`9ULLPY,P*5(T'ddSCa-jAQ6%*QU`""!PPK+'[Z+Q'%d,Qh*BRSi!pX,cT%qj%I
$QHJKGm%4,p6K#99`,8S&$!99A!#l)H6MF24L4m4j$q('VS!#-8fb6c"P)9ea*LC
BKS1)VaD@Yc(pAANqLl306i`R@*[*Ph+h50f3!$%!Vi9Jfa2B@I)eECQemfD',Nk
hV683)UTJZb!eSXl6p(VSC3ELLIp@C2%PAaM3p%6#BVeZFMD1Y%QD0B8Z`NlUZX'
,JCU8YU$dH6a`SQQ6l)PFR3PGE"LBXY['C1b9GIXHGk80&2LbX+q3!"0+K"M`DaV
b"Ub1)`l1&k[0jh,i(jS,1[pPb-)0p4TD[X3YV$N,b1L!90L@`AE)B8ZRY')&A*U
2l'1ilEYG-Lh$&Q33ciJIAMQ2fFq9UR$E2D5'(@Gem,X9UqXER4+RJj)dm"Jaa[B
N[BB3c[C0F`4)!%)ph%4P8+!&GhJq&&UQc+1-GP'k5)"SRU4-`hAG+V$3c&N2#Cc
*hhm[qieH$6meI#MCiF,qL-'#RFC3PLlFJm3@VebU+bN64Sa,@,9FRV&KT)II3f@
!BK&1*0fQ9djRl45"jPYXml)6X"HQZ8dlXVHCa#V56`$4D24Z5K'+CBJq`Qb')[Z
25r!rdja'@6erHY'4j6eDJk5S+F@XmiD)cjVh`pG&3Z,@H4RFXN*FNkQ'5SX,@&#
lPh2X*pGCjf26Tf-*[M6"NJ1e!kpCE,K-6X&iNL8V2eAAM%*bB-N[mUV#"Fahe[c
Ifq)V2XpCEXMp6-B5'@(aD(m(YB3YK4a[0RYYk$PG!VC1ZJiVKraI"c-#Sd1@h-R
p6L!har1m,bSEDXH`A+m,0UMk)Bj)QiGN`l`i3@0IQ%UKKMCCA#NSC6G4kaq&cq$
-85#PEm+!pE8$DGj`'q(%!F43MDFEFEKlU,*k&TQpZ[d5#6bJ0ADNlaLR9IU@T0-
XNVU$`LLBTZ9e*[AQqHM@#iLPF91hrCD,9YE8JAXVlfPG[0UVAjFj`fB9ZHASf'r
ibm9j+5Aq-D[%94S*!U#VcI3[KdL9'IJ8k,##GjjcD(VdBf9NZDBX"J2S%peh*@%
3HX@iFp6Y)CH+SrfEdk+#,!0MMD+LV,1*JK@S1c@3!,QLbFVB)!J@id&dqhZKqXC
'`ph'cZdTmbHiZP'f2QYm,0)4J!04"pqCVjB6P6[mi[iNcc632k(dAcE*hM&3KfA
%-AXMNNN*2AP)1h)(LKbB8@1aDAdmp[@Bica-ll##MX@qJ+[r8(@Ci8"q1'PcLl+
IX`Uc+bP,*8BcTR(VZqHZ+P2S#dCjCYcC'%`Y6NL"mmNf0CDF-b&qZ!d4lcH3!2j
bVdjI2ff5+HR-@-d5q1lbDF(QYL#pLHRlI#*UlkLpqdBJ1'0(Ja')Y'GT*N0V&65
%r$d5#YL)TCl@'K5Xp0hU!9ZM$*8IL8Fh,&Bl0rCVF-ZiJ62L8p(TBY`TGrKTV([
V!(2'@aQ&daJ#3XVq$lPANXKYhTY3P!+%pZqFle!BAQqkFmI'AD'"CYk"ep*j'&A
f!5B9GL,aRdaR+PZ-ALjm'RS35RcA(V[YID%bH$UI10HeGa,3lP&qf)YH#JVHhLM
ZhbdH&1#XRp3D`Er'#H1@N!$ICrG6Z5q05m3p*af&M&$E$p#'"%52Q243CZ8Z#*8
85JKcb*!![S*ZqmaPSAD+[[&[QkpkhE)%3T!!cRP3LClI63Vh8QjGr$il0JMRa'E
K`J0JF*C"AP2+J&NIQIM6)A*'JCL&1E,LVrHE*Yh$ZZ),0DmL&%QMMEi-qJ2bePV
2ALFqH9UmB&"AU'`D!RqqAS4JJ5Nff+Vj"0SJ!P`QpPp6`LB36GFD#TRL0YCCdS+
L#E%hiklBI(+I3dZ,`$EcmUU%k[p(`56Q`qVe&iUYHjL"4KU$Il1em5IbpSiYMJq
mqMiq9V(,%&9CVXp"4f@[mQ!)eRje`aZV)`l$l-m#&CPjc*@VR8k*Fkh30fZ+ZCl
ZC&Ah!P'rKlFS0ED&+8)EVa2aeck,lcZNh"me+-Ci&`M60m3RV@hmQ[%3TZH664p
Hiemah*,NBbrSX$d31Il%ieqD#Hp$Y*G,e&03NhZc,qN#jNMdjCa+'@NU#XdCbN+
9llTliY$A!Th98r45@bm`hN1a#EJ069Q'0ZfDKi$0BHZr$[3c'M-`Y)96S(B1L(6
6KhepQS#3!#DV'B6RLK(M,IB&B$ijQ$QV@m#`dl@QaAe%,RJUb6dBU+BCFCJj5q9
H`4eCd%JC'rbK*++BUBVPpE#r4m2H@B-m59BmA+"F+kLXb1qa&5RCra!!Fq(3CQa
)cdY#kD0lbaMq+GrU#mm&I98mq,hccFP$ih&5Y%D)'k%d8Ti4*riX")Vl6rDr`RC
Z)DlB'IU4!e[E%LjrpSj!6*m%@DApp+S+k&i&kP$lZS#+r*5eTDMp46*'F2Bec28
*kAjj59V)j(HJQi0Qq!YQKR989bb4@R#2Sl1VHQ[ZYjci!,93H0XMJLq#h%iKkDP
1Id9cPcK4qJmC40VAQ6j&1%p#iZcIl!dV6rI,lFrfqBjcIV0N"LmA(C!!d-84SUl
`TLjlV!"(Vkk!S6+dipE`EZ3RqHZemI-Sm9a)K#j(FN+$q%km!QeNAleFc*Y4`ri
)BcXicd3J"KE83!FAVAdi0q#iHeNkI81#YXqPL![EbK+Vr,p`bHE&$ib3!)0af6Q
%Jkcfj5aI-"`jf9S"0*D,A%fAkr6,iGBV9+)GGachD#!R%aNdNB$6IB5U0!',-j!
![Ch!i6+Nf)f8T'2(6I*SMRU68+iHi5*$B*YT,HEA`NacpY[`DFk`AG`(bl4L@mN
hi3(VFEGIK45-Pa2!i5kqiH#$5$*mTXEV'Q2X0hhXcM-62KKiaSRB$$%i2)i+cL2
AP$rfdG9RUl`qZL+DfJ8(j)2SY&FEIK"U5*F0U$VFJ5j92IMd!S[$$lbjBd"LBYJ
R086''AbrFN&[AN'DJqY"iUh9F98e1$%-6`VKh6#jr@543-iiXm+P9LqqmXVNh-I
!TH,R$6-$F*%ebYJcAfhXb1f0h##94,lqr5D1@B%N4bp#-$Ga0@6aGFb@[-NB%fA
hX3&6GGf-er5fYb,8N!"a'DB,CEqrlqR5Q,p-M3e1GZHeEAqdF6Cie0S&e!8'J'2
1MPb+`!Tb(`[f-jA4YR,%V(-!SH(hfaD*-8eG$V`-pb,3BY*hTQX5e'K!h"@C6"Y
jU#JF*j6Me)YjPJq3!(kSJ'r%-AU[M`pRR@0*8qe1+#B&3MFGVR2imc,BQ$Qi4jT
&L***Zj+%VcNDV-k1T%rafXl0U$cT+H"1q"1@Y$!ADp(&hThEIiSa(5KiV%NKdY9
K(f5@@lQD'd9c#-dA1$j3Qm!'%9H,D8kpp')!!jc66qVI6()U,Gqf3'i+G[e6%Rb
J8$A'D,DNlS#rqQL*mJBHH`"G3TMB0cG,LRpKmkmU#U[r$DIpKB5+#UK&6mMa&&Y
0B"AL"E&-`6e$)Y)hp0KG-HT@i*RcBjM%@S%'"`EUjGpNEdC9MX%"Z&DYq+fh8!J
-[@$V8!C+23B-%G4QGZS%!E+XHq5Z!DeDAlbSf`)&A"[*b-5Mf@r4Y)Z8@V)&SMd
(YkPD$IprmUYITd[1(6@hLa(rHU296j-+ZfKV%Hb%dk'IT6ZR415EDMUFE*9bR!2
aFp"MhSeU)L&DVNiAAZ!jbiLlpc@`4BRNk"BBBVVaXjbA9HF"qB(0AN9Z-@6`TJ&
J#4iP9&K[BK,-J$IHKGq!5X9FDd-ijmN0-bU#JdNCCrS,U9UQc*5G#8Df03SqVjP
G6$AB'K60#!j,U$H86DfFHRUSF9FlK,B46Rj&P(R+e5G!3DRaqc0VRJeJUh'*Q3E
Ycrp0jrT"Dc5E69'cYGSMlbHK8VcK51NdIe"&L!ra!`k$[cNJ!#1d4-k0G3FK[YN
CpN"jMXXZV-'McfN-i#!NG!FKafRS+69d'CHAN!$3j%lb2'NYh1lf#eSBRJ+L`qc
!(+('f2AG"3UQZY!FHXNX-A,Bm8P#l(KT2fqB9,mcm+1*`'BSikihKD%3efFbbmI
P*e-cpqc`8lh4%mMeDG@bR`I`!E!hp*dRQmfYeHpXYamb)ciJD9'2`$-Y+U$2JB[
C3Jjch(UcG'Rj[G8!Er)hN!!)!XFN+UNfAP*FMDFe1Me31%TESGS%*jSq+f!Z#R4
RaDS'mRG6RScH`fR&NS16i8p1+PY"SNeL-`1[lV1l5!Xrmh*i1"@4eUemU"iNcY1
CJP(5BS`r&5Ge8H%ZM9U"R*4f45Eb"V*djRYZ6E(UleS3BC%Pi1[eT02lmZk!ZPh
6E[@qKpmY,PP-Ikr'GKrb"pbJC6Fd'V'deL[h,*@)Sm8"KS2&Kl"[l45A`,8XLD&
8NpEqb9UJ[ISj,FT#DXdcJ9b+@BdQGfT5)F#PVHZTlcCMTf-QQ,@3!!hU$EaQ"RU
c)BeN@!I0,1#(HjA1q'@XS4b3!"Caq$C$)p4AHKM4*j+`q6dBUXKDUMi+C(JA4Kk
,5E0MQ3qhC)kB$T-A$4V,d'2h$8K5r`fd8jYLKmpi0%0G"j*6a3C`eNca)3YD1U4
IcSb'p$2%fAa*i633aLXZ805rh$+6$4F[8bPjVrdZVJ&4A*%[rVYPEhHZLcc((ri
JJcjDb5i)@BU(f)!@Sdcf0[AMD3hXqIT*)9&G6DX58L1P3"ad@8ZP#QI)!d4LbBK
R*3c%!h2bjNm$+I(TZ4JjRh!'HD(e9UZlHE(cX`U"qSNB1+jaDf,5mG"NC$c)lNr
C2aJiVe#aP1m!9jLmT@0f*Y2`a5fLZifj'5d5IlpZ1qIVqDET3pIa&l[f[ZKNLA0
"4jD4MGFK+Y$YrTK0842JL*BD*Pe%Vcl``beZ20'h#)MCIG[&i&#K0QQZ%h#l+U-
qKkd,l3`23*XdZ6D$1Jcb%[9A"p#V(1H+A8amNLcka*kd5X8*3QK#bGV2'FYYY*B
@*[XLN!#le'NBJZpDCaFha(RrIF*R5D8USU%eZK5aPe*lbSTATC3e2AklRC9BHRk
m3KCVbTmG45rbAEQ#bfHj"LAKjj,fRX@%%@5A`&SB$be5mNBmR#f-lV[2JmMV"52
ak"hfr@kjERPJ,I%6*[NZ6KCbC,(rGK0ZXfBApHj3T&NiVD!AVP[69%UlBlE2"BR
3j@FqLFSDTHP,L'a$1"'SJ9$"Hp(fqU'MKZrK5dDhRB$H08F5-5a$pR$G0c6UF*[
@IDUiYZqlm6RAS+HL$@1(H#B-K4"D23"',46CQBqR)$#T4i[c$*q'#,$be4Q',c2
[2%rCbF"TjRkNjjMe*+Bf#PHf89D`&'SLV9#mhmAB9!3JCBh4Kd#aACf!Hk85c#U
cfjTJ"cQS'8)G&BI00)b*,-r%5b)aNrl*S3T6P'8)M9b&UB+p!$&#H#kY*L6iCEk
fQUbN&I0%A'Mk$i14j)-f#QCKjd'#Ei69CKqJZ[pq0EUXjH8,`cci$YChb92Q1ah
[18HJm,l3Hb#V6Gm+KhT*IdJBL%2fe9Lpp`kC+lpVH4mq+1QJe*qkXE`q$a'q2dK
3"6dV-ZRk3&ZX9kkHQXZ@&"r90%hm)2"rkS(L0$iNhjfQA+TI8r-$Ee3fUq*4JP$
E@kaKM#AXHHBq5YKLNVk!)f`[R4ImS@8k@9Vq&Z@Lha*9H+XL0r4iA31K2((N"JR
Zr6bY)!EkZ5D"m@5+0AM4YZJSTX!cY%[kZHEmD"951`SLpiLYULV!4fXYFXET%-'
a,S'Ufq+lja-C'-[ic-V+T"B(pL+rhr!,i$hl@J4@42M[FCi((Sh[fI2fNIBDP4f
MZ'@KP%"$eNlaBeV',@UQN9SC"Nb4(je*'@p#K0C0r&S%j(1RdGKUD#Y6`'$fQ5Y
"pSjNDjhe#U#dXi[B`dpLG-jQCT%ak(b`jNdpZM,9Z1HCHNVNkMZ9VS5HpBbD5VL
MKk*S8UrXU@6$XAd-2B+U5J0"1cL,qTiDG'Y#d[Dk&`RA[k@(U-C9$GmUP(%&UAj
`AXa""6f@`RdXeQ-IAqc2)dIp814%)9!p)08eJKe"Aa92KhV!L"!8ErID6qRJGFQ
mbV*!)SM"LP"4Ekjk%HijSFN`!jZV2Tm&@5VBjaC@9qJ-V!'hMS%iiK(DiR'FTAD
HR1[32CMH)9*kjCfEFQ('mFNRYLqSX!DdYeRr2Ca,fEhDQ"kcAAi)V"Y'KI@+MT!
!`F%`R4+@09-MHVh[[6R!)6l$Lh9'Pr'k5HAMch"KL3m8aEjEBHc**4S&LGRBbDQ
M3+!`0E(rDGBHP!Y*X00`cF[Dk"16Vm[r&"*F84ifiH$M6%+h`"dGqD`ee$I1i2(
pE'$(Da3-jM8"0G%GR2$MQqJ+`f+-Qmb2aMd5[q5d1@fR(B,ck03V[*cZbC20aj6
JU+QN#jT66Ae#Le&Sl-4D3iC'YeZh'Kj)m0j35bm,h!U+Z()!3N#F63-%lc&04R`
YQ!"`AUrFeTXppH92E#*%mMEb@d`LBrC,b,fe!jVDEEbTcZ$C3,CMPEq%%@ZfX`5
8pShc*&perf0$62HkdQMKYc)!458qfZaZh)5)&m)K[d(!KhUGhULVEM*JcNi`hPC
kP%j'42mJTD(VQDE@8A6"Ak1(X%Ak-ALGe2J,5Lj$(+IlPq@jk[*aCcm$)m,T&4`
,PY-haR%+f3c+HQ(h`P-$JZ3`Ek)NFR'J1FY%`[+Ia0$B-,Sac4J&0N$!#!MVHB$
@)KR*5reLe-!-MlBUG85GfF%RG`k"'01"MM@%J&F6Xi+b43#*8ZlN1+1G3S%pXpP
@B00BQpFBq0'Z%PKN%+9(L0%p9hX*qU#Z@l(rGXa48`Y9j"1G#qc-'@P`qB2PJ3[
Y1@fcNkehr'p5@KS*QB)a1QbX(5M-J[RP+H2C`EKi1DV,dQB(ei@4MrfrcfU%5#f
L(RK)lEq,iX+iaF[d8h2CD*!!BiPjNmr4CBd3,h%PEBCV6%Srk6V%mZ-A*`,8dqh
IQILCVmm3EDp+T%%)Q``$qU-YQ8*5Y3f`dRe&6Dki%'(h"pVA*CrhR,3)cABFPYS
J$+32lk%hTU1#r$$H,AB$4rEMC'aT`*m92bD[KRIijdP9!00(AfAE[Ia8EGRqf1c
I3&C&SRZ@qa[TP+ZIbCITQ9H(hhq-EM4`QR(eRcdL@UkGdQ-%#8j'lramPQDjbAJ
'0LP#MjA)R0R`V5$-#,H!%M+1)F!$BSLKPcc,!28hmM@#3Jk`d8T-U`VF*YcepCb
FrTGB'+Uke2V[UG5HXH23QCm9Y9BIdb%8pbTmGcR+k4Y2A4H,YI#$'I#LLhQFBd-
5UE5Ra*XV&`rDKHQ[(R*lTpXPIjN(Yh2Tc'QXX4m%l5+Q'-Q+$frThp@91eT`T2*
4-q!q,Q(YU#ESc'Y+j2!D+Bmh#'p-j$%Zh!pS1LR5KbcC$4,Ebe@Y!)Ib'%'+6'I
6eKfXXmJUjA8R+k$`+q5QdFJ`2CBDY$3[M!$CLUrqM*)*4#RajhA[IjAjFJi!0Cj
k()M'mDHZl$I%U&,*(hb*G%f$R"PqkSi3k5V2dVC6cYlpM(1Q[-b3!2DrhD6pHme
%!l(GNpbaQKT9!86e$1X1ickCl`8$N!"&dq)4RqTFCC!!KDTLU!Ec8l1N-$%d#pm
[IqP"$9TUM%8iQFMl%`(*fB3Yd4Ll#pVVdq#ha1aj4Hi+6%DjrXK@4'M!MFTrRSU
+pQqIFYp1r5BRfh'UjrV1)VB6MEBq0AE@N`eG(&1[h"Lr&b`+hJe*XC-YRp4B)D-
*!mlSITA*deqM1lQ&K&%8IQ8p@k[bKb9GM1l[-pB`pJYj%-r-D1pif+6DS56jecD
Xh*ji@882))0rce63@NK6@B'&G95DlbRlabBGUYE6hm%iMc,UPH&,Hl0#GLB3Pj9
ZAR!Q3Ip5hCJYIGbDdSV#U(*6!&r&2Y$Y5b+,@hC#HEFVKLJ9HlR`4P,DHRTjp@C
Dr"&BBPJN'I9SNra&emG,kelD&V%(ae+l46jjcLUE"3dq2)U"59cX3iI``$-dXf!
IbSFqb90D1f+a&Kp%ZmB2h2KVER!CM0DU!XF*EYIPdF2jGMC86PcjE&4m&q-J"0[
H)c("Q'VjZ[h*[+qFSpQCMME59ih-9+RD')LNKBkKNVfZ9a55ZYX["[-JH),2$al
"mM*L)+rYam)"@mYPi18kFmp%[c4*H[YRKV%YAhNBQUpbQF,TrVGLNe!e,)#AE@%
"XjMZI'AVeY(1VmpMMb#8F@j03%"EA+4-Celb"Ra'UENZQ,6%'F8!)0-"h"@q0`!
T@30[)%bZ4pBaX2j55C`TamAhZUKj)r$32rK49j-+5+YFk-KYqDX""Q#MB-1hUXC
e!@LlT4XhSZV3&HMe*rcIh,%h4-*LR'5+fa9lEqV*Ifi4'hhjmf0#jFidkH+hMXJ
!YHVE%l-'6KJG#V*ldMa)-+,Cr3A&ackqVBMbT#581X#qjl"i$J@!k2ESki[J@,r
TP#FJZGa0fP*qCT!![RPbKe$3G#a%#A!3a-Q%4PcrHL0QcQ00rCJSJ$*M`*NS-ch
*SCPq%"QAjcdVi-VfMC!!NT`MkR8MI2GcL3dp1F6B*qUeX(Ei"@U5-'9[(%Lf`@!
Z,TpZ"Uk"-cpeTH$0NKb"(FLIA("+d+E&-AA'UpZS3(3$!JJV58J)S+!#C!AqdqL
lN!"VhCac%6Y$h)ZkG9hE1jei+lM9(0ql9`bU33Ar@,2Y$Q-A%$8qFkk1jMJVp@,
kBpR[PKpQS!B6KFkEdTG+(KfF8R31jK-DEG1qF[R$Jd*6eYk4%!l5kkeV*-K4MFG
Mbp96Q8N2M%m,GA#+0A68lU!HCYrCXSDBLMaY!"JZ#&i6cqMJ5+`k0T[06I2lq",
EG+lq*SQTNE'&4YD`kp,JAP(BF%E8fiL4bSDBJ!EBY'5SX32ZRrYZ[`SlAj'%1GU
,Xe*RJj3dbGINr2UE[hRq4&R23!##bXP'''(2,qfp(UJ,bRq'+LJ5'a*m*)S+93p
*r0bhml+M1IGKS[JH-NJ[ZcNFekAAFc@iLr&D5TrYcCG*I#[X6bTM(*eYCL-pi))
GRkFGDIA*S8XF[bEVl*[+"Q*9*XSCJpi#[YkUh[afX9*lU+%GGCH1CE)`fG#&rbh
&I-Q4pM*[@G#k2(Yqj4h,6Sqr8RX6f*iC0#b9-1cCh85j(iM+I6`GrM@MQMSEQUp
X5@TcYS3QD-[q*[mVhm+9k+TjYeq[`20Ja,[E-i#EQ-f@cQ!YKEPV)q-B--+Z(A9
##q!8fP,,-N,+VF#3!+Q#Z*FX!m3fFDi#Zf!D+8HZ2#41NhdlH"&NLdHZZPHY3VR
VXeD(F2prp*()6+8#e0%K&(r&!hlCVkP5@f+C"cQf36Q,+F[00Ti-C$jkHJ[ZC))
#j$[-DVrfcQHQGA-(ZYZ'QQ+HXR8bZ)NQE*BL4hYk`1S'EJh(diKTfASb(6`ekP8
I'Q8PbKXIlGDiEE5PB[,AHXYZ+Z`YR3VbCGCrM*pHPGehM&kcQ@Gr!f12))""Lfh
A&Q*&BR3$4)R`LN,59'M'#TLkD(6N&P"0@L2+(1[*j"Q4,U8LlSk@-V6N8RfUck*
M1P)4C'%%iY2HF@+eVB&BHc1U&qC$j1KZ&[adEl-dQCmp35r0@0VBA@MaDT`j$'K
CS(Reqie#-Yp@0@+HXQVL[@M9c&5DJ(U@h(Xq-(pe)#"be9CQlr(X2[8hHm2-4pj
j[JQDKabKE6L-%hY*0CX,XX,,[@[ih&Bl[BD!b@SafPiDp*!!"rRKHd1[@+UA'Q`
TZXHrD"'j[3LSE,ZjlBV6-iT%&ld(qA)Tr6cYV8SqEBZer81-0Pk9$LCPKY'+%U%
mV0C95prI4R1reHU-f&Z`ZQU-DXJ%XFTjMZZ()TEJm0XCdUb!HJ89Ef%XG8A[R+G
(Rj2Dm1l,(fT`e!AI*V`U@Yb$IEde0%b4@-PmiLkjB5*,cU*JcENNXcGA!CU1818
lRAXLi1D)Q8(,fF'K6Z'-6T%&(,Sid31!X8rfiCbRZDd9(M#6[$X5NaEND,Jq-Xq
ZQS"N4JJ(0`r$8&`l'-`l`52H!e`La+cPj8DDHIZ$N!$CC40f2&j!AGQ[cQaUqDp
5AeV)Y!24-'G`B4h&$-Ap9N%M&-8f1EmHP&f,RmTLFV+Q2RaZ54E"P9J+&Y63C5I
bP[I%(h&&AA%'1KP2#H0&kDh6!JmLINd!%G"B`jblcSk4Y6aCT-**YBp`K(aRV)9
+Fp&Rqc8U@T`"AI2#C6#D0hf+mPQGYjAdC@T+dd(K$8'VbQH25aVCB!-LH28Pm4f
c85)4ih68ib$r*4$95U[(2,YV``HbX`C(2mFKjRXc[2pS6+PS(94eJ'BF$&La+Y0
6cZ`H-`)6+0d3bJYeEjilXLcfVI(`5hXbl$K*,B8IiaQ-Jmm9+DVlkTb9!P(MXl,
%963H0@Id9"LmMF3XkeSS5R'b3i)6djCR&fflc14B3G9UXbem'K9#TUBP5#949m"
1ZXJh$"*8MLX8Y#X5SN$N3[+-6)Y2*)`[QKGcU83P8hll$cQ'c[2UGhbqVB&"S+c
Bh,fQ&8lATB9M5Y#S+Vl@!Bpi'TRSq2eIAjScD2((eNp*U`-pA2%Phf,J3*PLKCX
a(Y$[I-0M"hpT*fRCK,qQ,*Qc-haEacP1Sd)8flQ3!!FM@p+Z-JTQ*&H%DJkP99*
Z![L-M*3H49di8+AGYZLGm`+qlcZ-)MGZQmUNT'8X2qik'dml'dTEpVdm$[)FLKe
$4VG'0"`k#qFD4006ZL@1k&Pk&[X1XQeqfPF,'ch"*"4JY&V@VQDf2Gqh@A`[Ifa
9@QhcrHY"aI&fR2(kbZ,0X8-[)C!!DreVDkXr(8al`m%FKA'$XN#kj6S`Kd!PEm2
C+@ErID5*'m9@HiEZNa%MT'NJR$N$CPJUR&kamMNl%Mi$'jF@2l9S"845#9E&i@!
%AD"QNCVBl#b&J)[0*K6*Y)PEL,`E16rT9qEC34pBiE[C`#U*Bh[$CL21B$)FhP$
eQ'mL(QA)Gepj6`@1JJe%!6*,9aJLpHN!*NPEM0[#b2hlGBLfZIHiG)-Kic65r&V
Hf@2Lqi,P'K$)rE2SDA6r-phm*bkS%q*"BGr(@SV$cSj)qf0GpR'KZNXEhMdB8)C
[CGp8I#0PZDbU6)I4#(V6NE)9l56Y1`*3lN3F'X0`VLU@3+4V'iHY`P2"6(a8akc
a+dEC0JAm0k4cNU*L!DcKl4H!!RGYN!"HL6T`&Y-G+*V@fi*EM['c,hN1med6j8q
-@,[Sj#fl1@5Z(10F8qJ!bXi(*Nre-$f-Y%ZeacJehdm&if'i20&c0!2!"V)lbhH
58jK@C$E!2A1k%"-@EQdlJ#qaBR(k2Qp1)*(ak&RXXrY'1[%SqJRiQ#)mi#RQ%qX
aYTpqSAijPM6SMk&JcZeYSMTFm0VbD!L,l4*bpfA'hAP1+QjDl'ckGIF#LV[DL+5
11!j*8mAp2hiV6eH1K',,,qaG'N'jM-H(deC&YCL3!$[6GNiALPqp#8Y"$Tc01f[
ac-4M+!Ah,ZjdZC1Y`ZF42FH!L!ID%6$ZH%!dqXSQm'iBP4,PC9J'd9)dhID!ARH
r[6cDPhCGc)'M)"hDffLFMFK8BIZfe$E@f2Da8b4'iCSj54ZP,qE[%S*BC%#56J(
Uh#eJS6DH5f(bZT@f4e`!amI1h(3*YMIDM8-MpA8hf1rJ#2eQTPq@XVBIJ`P[ELT
K-p[cU+VHTAVVd5eQ9Hp-6mbCY(c2$PC+DG'qX(@p[6TMjCG%b$XP(F)88KUpj@M
)r9kZJ"*Q03kYM'ZI+6`lNRLNJmfG-`K4dX-@&55[bSB[-d3p&8Yb[kcN(Jj&`9U
r)`N*L-fRY3(EA261hp,H2Mj`YVp)@ZD0MqrC8i-M11pdLFF%Tb&MG8Z@3,F$SDp
80KY#2Lfp[fk%S*)Z#-Dc)TKd+fI#Q$iIRE`'[AY%jHbe[hJA1B3""2k@4SqQeQ%
d3PqLa4A#13K))`a+%EMc!V-fJIQ5qijhlqR5hXQ%%Pd%9)A0Hb+JdFFEEQJXCi8
Zea8K@bKdiP,%8FP+HGe0f$fMfNIh[Td,-,1#%,9B-f0$K8*Gpa8bm)SmV!kY$S,
&K9NV*(paL(-m5p5m&6*S%MA5"f-&)i*e'MbIL42#Y'91YF1rhTkr#9d9D#b3!$d
AZE8P0hr6"VND*@0cB#b6cEA0T'Zk)afZZ2+SC-3LU`NYM&8P'Najl9Vad4%C-3L
@5PejVi&(fm593p,'4qN!)H!(h0Jj*,(YlLGqV3HR+QF,%1D1F,RV-L'&'T@hM41
GYdrb$LmC[3H$@TlT@e(S5G3PG1K,"(&92bLJVeN1',F4k"Brlq2(qIYkQ&TCZFH
2M`&hAGQadLbZ58#$Q(ec3YM0RbdmAqp*Y+E"3d``4G*-KKI*S&f&Y6+pCfb)J-L
m'8,0)fm1P(NEG+Ai,PG'F3F-6Zm23NT0[aP8,5r"AiIVCFRB$Z%IX)Rc*NjLHD&
R+lCLA6H"0a[kS'LrM$dFMRK2R68ZPa'ZIXC!9k$NT"R-)LMPT5m#l1RMHVi5ZiH
&pcYl&k%("p9hY"U2+ahk`P+c@+F![YKRmG19QE'R,iE(hbPX)b8fNT)2dAPTZMm
+A5flGbScUB1ZQENhlq`[[$8l!Q8)$h&bf66C-eApIDV+DYET5!!3''$-qcHdTMA
D$+IG1)b5A0*"IPm4Bc#C@2pca6'T+PFbb8b,6f8AK@m2!pNQ`M6Ea$44G4e0kp[
+p&CeE4IES6SUTa1@k-Za,kR9eILe@c[%$A`&RTB((+MXK16CiRY4FBUI2CST`Yf
*K2j&d1Y)HXYKLXJPeDUT"E5YbGImM&"SEhL-lerMBe9#E0N3aN-DL@5$,Y&ChF(
Hm(F,F$GbkUjJNXI+JTkfVK[iAM%A6E"Em38k-19HRZI4mBZRRGANHG)QUf)+d[P
&4Yf6Vi20GpLI'ChB6bTCc,PT&r*#ERm8TTAK0Z+"4+$N06GpMdePTZ'djQZFfR'
aTq!J'6ii*1hU4jhRH(XRbiY-+r(-i2KhZ)5A`@2l*LR4F'Slbp%m8rma6(&[Y,M
KpUM394f'-F8*EMY6NHl3[p"-X2'$F+c-2G0IleZMYK30IYQarI-(2ZhB6Tr9ZQ9
SiCBIGpKG+Ef&6BbRcr`PX*B)Ea'IQ5465bDRE)a$STYXa3qF16d9qpr,fd*Qil&
kV18!h$X,pmkQcVVITaR0h,Z$62dUrPjNh4qRj0MfQeI$Q,GPLQ8JNX(#pZ'F!a"
K*Jb4Sm`X(U'eK4+VLDXdV@P(N!#-KKmrhHeJU#H!01*HeNCBY1+ACe9IS*e6BGa
6MSAUl)qQHaUrBf*Y)2"RMREi4@frml5[icpc8m,ml`e6GXE2ZBm5h43Z9#4i[ZN
aY,)*X95(*9LjmarUf-CYIQMr92[Y'E2J2EhN!'(1HPEREBac6$dBGcLM,Am35Pk
PM%9BbI%BiLhC([[q1SPmNDcR!f5%pmi6UpLLH'3j4E8CYC9djV,H#b9-Ljr'UAX
lqBcC3D9!qPNeCLj18'cL5'[((IKdkN`iAE&rjRfI0Y-rbl#[0S%+YF%ACJXYEl[
5i*%KI'p6e+jcdHMCQMHrQ+N0Y#MF&D'@'@'@*q'2@j3h6HV9*CG&+ReMFaP$rhJ
*ZSeRrcr3"NFM46@j[TEfBqj+`HY8H'dS+*Td*FjCiPD8a3p&TFM#qGYMk(9F*-T
$!`NM`LlF`k#rPCFGC2hQQN)"Hh(qFf$p@-M!jFrFip2%j!@Kd`'"qY'ZqIB3T'm
YRVa6$(-U&pqTl2FaaBe1S9!&&G1I&hp@(C2rHN3Pm-jM8A-8cdDJ&Ti4)ILCTi,
rJ)X"LJ@8RE*KI,N3"N2r"Cl3aQqV$eXL2'Z,[i-,,GCi`+UHb8A0F'%l$l6(E@b
[44&efL6C#-"L9I[l6baf*$*Q0d-m-T9!&#[r6-0'HqHFaELq&"+QAr+F83iXVV"
&DUkdc629BVi,&0JkhMP%U`[2T8-P#eU[&Ub8m!eqkZNKM!Sl9'(6RXReAh$BYK9
hM@52QS%j*iP&[j,U"KH054TqZQdfUS`,qjqb[k3B3,lVS@E*m[3N*8+qAqqPem1
DV$TI9NeaL(I"R'Y#F4B6lCHkBR,LD#"F$Rl,$lb+$0*0mecKEJbfaDC2`#ZhRF@
NbEZ!3#QZ!Xce&HfZb8#Xj@T,E#-dJ%I9[hR3X(kIKLd9YQ-rdi[f2(T(C@'Ke8q
`BE[c1N`5i!-+S6T$jcj4T51bjX-5)SKDd3Jc2fCC5JK9T'11FYire#Lf+03qKJK
6jIR"kB9f8qTcZD3`HD!!02d!ZY3kFSKi,k-C(PM$2$d`&5#,DbVPL1K8Je(4biC
RbPJcG#EQRCMf[e*E!J&*I"cZbp5"bbQMKl&&8@LJQU*Mp*X08(C%2l$9adeAPKm
L%!I)6hRqa"Yj##J%M$$2HfH[VZXD[,#AVU!Rf"SKY2pc()640E9aLdTIFeE8Q9h
P0!9Np4Iir!,*&58`!!PNfQ`89N%MB&)#j0N(mdrYhMPj-9li[pE([9LeTKRp4F8
aTGIIj2Ul@ElHkRq(E[IEe$CIEheI`l`IiGfhm1Xc)qV[E[`p"hqIG0r2Ur$iD-Z
4r0fHF%d`lKlTY@hiG2Qf-BEFk'Kih(VN&,XJTcE@6k"j8'@9MMA56j8Hjj3e!D,
ZR1jj6B1$YSi1eFclkJ`%K'-'3$261J0`[Ff[L1FD&'dK4#Sj#'CcH#![2"rRf-c
%c8Q`dXG2ZV@K9aG#h(qd[LYHq2&V[*[a"*5RLU+QfZM![8JVM0b@eIE8lPD`1'8
BFP&l1'1+k'E8)50r20bYTS4[#EpZJ`Xk!D%*Gk9)VAP91h[EIJ*TIRr)Zcm(5TV
Qq"LU9L'eZG%LY`'IYaq,4#1-B1Thr"XmYU,A(-cj!G,KjcZ8qcK`HkE(TZ4JjRh
!'HD(e-'CpdJ,0e+jFLfYUM+I+H@!i&rcmD,IPJd`UC!!4l&3C1jF%Q,TU*@F(RP
,*UX1H`L+**R%[@f5mZj#Hq*[kX-aa@JlV$f"p-kqfQ@'HJKGm"P1bTPNI2!GY"[
+V86XH[mFpQV1q9[*m`V@j"SU-je$J!r2bb,plLSJKX`8VpX+U5TReb0ZI"'CE`R
Xr[i+T&rEM+5"0JTVNJHDE393ahkqk9J")22+AjZaqfiKc+@B+qT)d"JPVPb%-f*
1![!lZ3)U!1KGK#X2'D(#QCm0,RM+044)MG'8Fr)fR*r52dR3i[Yq)5CZi-b&a)A
-lc,pU`'TIG"D)e0m!$G"p%k@B)G,LSdrq!XH)A(rA2QGYAX#dNe0eTRU&kPiIiS
5IpSclkq'`kI5HfpfLUf&"kbaaAAPBAE#[,p`,-N@2-8CK9%V+SI$TS"Hf-aBFPU
iSB,3&eX*cAmGQ#2993)5VP,`3m`De-hf*i(Gljbi0`8NdV1p6#T+HcNkeMBTCh,
-!lpiVmK!5aFqE!`dlD@&m"$`2QiYS4h0-I*6Cr38QVIc0KKSFUq!hk+2[5Y58Ef
MK*Sf%K2i1FTj6T%62Tkbi+[V@DG!0RAqCiK5!F)h)(SE2NE#Y[F2QpdrQ$@k*iU
VDM$"4%!NFqU8a6KSGmD[kC6`k5!V%4CQ,QMbA[(%"aS#pUV*1Qr1rC!!VJkca(E
U4Be5*$rqYYfbFbm,2*5!Q`l(Ba$5&8l"QKjeq'e$bC`d-`f8)DqPB'H`CXa",b-
&28$pppNUqLNZ5ASR1cQV18NH&dVpKUS(,%m@HBR&qXcCID6dFd,IkHiP&5"0Y[i
P9#r#lX+)fVr"AVV3C0'bUDJGUkEAhr-e!*J0YZXf9Z[()1P`,i,$YEpiAV8UZ[F
*RSAZ4Fi2$dr`9VZPpe!N%m`(h1VU(F%,'V,60E219NFEP2h*+-FXeG0Zl'hfhdX
LpPJHALY,DjQqTaj0Ll+-#DdCP-5Jcm$f645j2r*IBj9!!96+0FAKaN0*(P)6bVd
dj6%'HmT3[jLIm@NhSkkdV1RFA!#Z[&ZG1-AMmN5EN!$P'lEPIp2HD&T--kP''-b
E*EPHja$eCJ8#42@,0pH9RYlS43F%3VCJrBJipDS@CU"2e84aqp4N9mFT5+T&f%9
c*BYAX"irVN@-X&PLX2(l%+rXF""Ke*VF,iYcd%Z)bLC[!CTRZ8[r#G$lXrcfIVF
(6BdK,,PfMBk"Hp'1e`Q(mYRJac)p,2N#JC)Z1U3*-3J$R5hRNA`X,)8r@ImNCcM
cK4ElcPqAeJ$Z#d9F-0T&pY%8[B5Qr2++HTZi6Y58RbG0M%6ZQ#[ZHE'2"kk6Hf-
&Q#6+-b5Tf'clC$5em&G#3PL((eR[-(SF&J6UrY*`f0c+)TeF5lNETpcQH4b@TRr
DCF#SBD(BP!#824r@UqNG#fMLJYfdDQa0G`h+`QK2(c`&X'IZHDPqedZ4fIbeU8T
PGqE9VMam85C(iEkep&B$E%Ihq9GV2$!EqjBe(elA,-`E)+hrHH0#mbqLDSCk5pl
S#HPViI$Q3M-6-98dl'#MlJ1V"1Fi)e5XJ+@@lU0ic%(&Y,0-Rj&*!B)#45YIYr#
$I1L&"DBq&ZmlAeN02`FH"GJVTVEe3q-[8ScBqKmrUV2-PAq0MB2aViNM8F#l@FJ
qimK4SC4Bj-RP%+14h0rb'aBkp41H$N&h62l%qd4N$UH@%a-9GiQ!6B!q,B[,rR-
aGPDP!VjBp6"Bi'Q3!(HRE-d@riKXH5PEJ,rV&KRVP9IIIiAMG9A*Jq)$-rC6rCf
BLL[hF+5RLVP0d+U5XpS4UVXdI#2iS6!Nkb1JB$6kIjaTYNC*mF-pbNpPIDi66&E
2d*81"X1(,NGN-EKTd#'$,P+r"Nd)HAKJ3r8FlNqkqh2)e%Ki-0@m*ahXG[Um!SL
55DL5dCq[Qq3bekj@lUEh3a`Q#MXjRkSmK91-h61@&)`L[XfQkY46"X"jID[iS4l
BpI%U!3[I(1cBURmZLD#APKPV*91M(j!!T*82JHVK9I4!-&,[q4[J2&rJl25!D)#
5!`!ePl6JDf)F4V$9&J&B'elPIqN#jX1Q+1qk8E#1(rD8+U@qCTkL"Y#+EZUF*&[
1ec&DHjC`PQ22ma+6hmfcCEB1id%ZL&QB#3UY6LV+PdpJ[Fh+qqrKG[03*-FJd+P
Jf1E[r8Sm&8Z'irXmNUURmhX,90HXa#HR'kfA5``Icckh&AGLYhe"0QY4LRQ1b"+
)1VX85HX#VrjmpG93p(KGT$JTcSIH`N(UkGlCfrZ``R34)b2eM-kH"LR8a)ak[jb
f40c8m@ccM%k+2qc%80rdZ(9`6i+hjZk3!$!F!+"R9CUhf3,"Mhr1S0Sj6Teaj9h
F3X[iBb)N,5AApbT$#05[krlP4h1'DkM'8f6r)ZUX'90T9`FE'c$fCh)kV%L8cX$
eFRKkcf@i8XbD*G&eQBjZD$4&FGUYJRKHi*R22YrKS1-R0![p"c6e+TQ[!FPpIVr
1NSmTC`F$Tkpr5S`0NB88@6,mR++h5VT1*h*YPeJpr6qiepJDG(E*d-YeJ(ERp%K
pd-mQjUh@K1*-&&'+b-X([$!K`@$,B(THNL839D)2%5"0Q)RZh3D!JpGVSGfCDeq
60RdMRTUIC'hN"dXU-Bba88rH4'1cT4f+"C!!%Y%3LE+hHa52FYMPHSM4`j9&a2K
j4LA*S*Z-)hN(M8Mj"Zei,b$$,kkdZ)d1BKGNFkmAAh84JcN6H!)FHe&!P1kC21J
Ik`5D$MKS&Y'LL"e$Al,UY)@p2F9D9rA6@E*CXQZ$3J6d[b+QJmIr@Jm&Ef9"Ifp
Rm9hIHKJAQ'8$YRDBKp"ZiKYre#+[C91r+(XG2Rfj1C)@mBRD@VXCC#!,ZN%#S3c
FY@L8i0l3BjK+a"TiXpG69%fVaBT1qTpjT4kG)ML-3K*RdV&3B-*FViFp8aKhB5P
AE6e)86Sp%lbhNeDf(+JK$a*DY"!*D$1+'0fT3da+23qBd#01i9510i2CbGqI#rX
J-Y6'Q%mhRS`6T*)PcDb-R)!8KNN&daUIa5*($9jeNl910'Tp[j3FFS&DLGrd%$k
1Q(dF5)cKXUhkQV3D`JS@C4eQY1dS9SR)CE2C!c&"mlHfE)984AUUGKlJQ2'5FbA
m,bqLH$AURS,'S#!&+4!lV-,#DeB*T-Y+mPEd6Jqk9XJlV+K26NBiBJFMcEKr(I$
,&M6Z01lR*Sk%+rmCeCF@42PqBB&([4$@0XeHEHFPMRk8'$MM!9$$aA##0Q6QN54
*pM`[aCYQK#ElP`@4de+EGYQQ1aXD)I-Vhc%H0b@e+8p0K-1Z4,@r"PM2[ESU9"6
@$b35XR1ALMSLm8Ar,a2[!)$*VC!!8Z!G6Z#UDS(I&kSi+0GR$q[E!4heFeR$f1&
`+(M(kN+9c'V1fIPBTiDmUJQeLpcch"4b+-ML1LHl$D3iC2Eff1RE1K0h1p'X@dD
YKIpMXc4#Mp51[`rr)l2alJJ"E'95DjM5!RZTfL*4k6mkYD5PpR[HIrpUI%4dXiV
m!r@hPQeX4%d8[QGVCSfiUlN1L[bFLeS@M!k%fYBAaUqJSrXpkhZ`p`%AYLMY302
DZ&*TF5bTh$5GlAY*M)&rU(A5AifSFR(aN@!$AX,aN!#rXpL0fFh1R,!%Hc%+qF&
`-Mc8i6A((cjR0ZL$,Z(MbLL9&K8dqTb!2jSCYRTbpb&C9##rf'C$QYmQ5r8iL#A
TQ8h8'Va$d*BlKQI6hI$8KKl0F3UH'*j#H[5-R+Sf54'HBKpf09Kk5CP3CC%04!b
T[bA$Ab-ZBfV$L%eFTpqRcU8I#+UT4RZ,!Y&j60ce-@2*`iMbeHHdMbeN+JIZF3i
jDC!!)1G!D`FR&3r$2"1S6i5CL(qf99GY0MjZAmjceh2KFU,THFpMDV)b,DV#UcY
XP5H9Ell*hd'c)k5!1dD(K4ZbdhIE!286XRaR+0jb`"a1CNHdN!",lM)CF*qHEbp
JUdRQ`SPMJ5lXPNEZ@U-+fp'$4,fN%3eM)BmjDG(hkNpLH"1d%VdMH+`+mMSqGlR
'mDAH-4-8b(lLeA4Kc522cq2BCe,)f)mrc*T,BdUf&B%Naf$RIcAP&A$'XA[meme
Pf5jGC3FflQm`#Y[`*fhpCCFlB-#!QIJL!fF+EGHK,8h%Ge2r3$d1!q6qF!ZkphU
K(PD2(q!q'bFFdUCJ2b,0q8XhE0151QIm#VF$&!`3`Yc,JUFM460JQMC,EeH%+ES
%BR+KY5VcVL(V0dY&V%k2eFVcPP9!cA[L@EDS0GLbJl0Z9PL8*&dl!i",LCQ)GHb
!b6Kec([RmM+B5j!!kkr@ASq3!*`a9*BZGZJ,rN1X)'!SHBrR+"D&kq15`#caj"M
C04EfZY(L!pdY+1VX4`hDi&cmA#Albf8IeVHmj"4arS*UBCjk83fk9(&`b"9CVBi
`H$$cG28k5Gi`I5A0jc(6aC1BZbFJUc("HEAPk8dFl5JhP#hGBYjDABEXJrV4pmG
m,B4YmX1PhVTS!28[bMR4+PF@GSk$'B`m@SBhVULZ[pVHY9k3!+DiiE[9%8TfqpE
Vh0JDK"Xpc!,SPQZFQ9!hpKCcA'br$[`d'T+GKP3LhZ$+UE(TZ4JjRh!'HD(eFH`
Qk3&P$@HNc"ba4XQbHfN$e#6PLK9SAJ+b+#NjBRlDE#+qjV!ke3UcMLLL8bD+l@i
e!k-b[L)6CZkRQSrKBf8Taqj+IajQc,4#`H(ImDjEFC!!e4%q#)R[bJ1'`JB3Up1
U%A`Ze1*@B6X#a5LlbmlP*E&H`1e1RD0@&QS%M28LTj'DY0+(T4bi6XXDrL,#1&S
31Hd)Dj15bA9Vdp`)j1!R8RZG"630mSGQXj)K5'cLS&CT%U-mT,XJh9m1+J9b4i5
`E3[R3"Hm9(plr3NGfiG5('%!rJblmp8fHHZ@G%"Ipa+INSJ@5YjP[VYr0M+Y828
T%Yq+ZQCTp@ZLm-G#5-R`8q9++AU1G!h50811%P4-X)DTXh$+bq2QZ%-IY"FJRL#
94a+ea`%Cp%!EbM3p$b"`[`-I-ZpD)@56L'0CVUHFSjXLBKfSr4J-F-Q2)9J%e*r
$j4MP[e1h8D304a@(CCVH!V6%dT3#kP"HX*cV[9'ZrU"dcmVdeEi5G6b9XGH3!%p
F029MBV1ALXRUA83)l'bF'P&PDS8Eap[a2E*[N6@%3P2RqY`MP"qPD@@6q$8e&JK
ak-5XCZFIUe[%c$CJ8!&MY0V5E%r14J`RN@U+1hj'X9PVd"-0jD$C[8j1TL6Id)F
IKGQPMd0X-E@+iN5bbTkF6@1h,r2U44#RV2&K8AF`$biRlpBpeL0lE!`BA9Mb488
UpC3Y)Sl0U[c@40'ADU%j2r5P+1M$UR6l*qhk'6!'URei5UETRG4eBU+3!#rTJhP
kKFXlaU9ZHq$J%U+,K-dfX%IG!Q%l9F'-H0L6lm+m2PHlc-KjcIT)BI&G1f()M2!
bBm+[Q(e1-0)0,jCdaj!!bSBXTCL9j*rc!fq)GFYamBINc@(#5"fH(3UKeZ(DppN
@+@RK%iT&cV2CCrC#YpeGiNFXS45Rf%,)djQhN!$Q@*Ai-MY'hUkVJSL$8URPE-E
ifK!pZV`qjH4KJFHrhHYMJ"Q+pJl%j3aPFLZ3!*@VV6b8221Kh4-drC@UL'0NKFC
KTPLLrJJrS*2PFb'Ic)h`Kcr60,BdaX[@NL(VELD[lGFiqj0D*c-i%BmlM!9**85
I3,HCl'MrC(e`(YC#PBP4Gjj4'i&4NGH3!(+Z#b2(P[e*,JTr)q+IQRASr8d&Shh
r3`Gc%Z'(%1R*bHAFN[($&Q)3FAd)dkZ`Yb8G+'A-%1dMMLL*qhk2EA88d8bUh2b
$B%&KcS,k%S'GA`Mp-R%#2dm9QN03phl%bNbQXp*DAl-+k8Yq$HEmDdr6VY!91rA
!q2L3!29R9U3k(SGHP(iE+UHGVFY)M8X+Tc"jC@9R0hP#Hj!!hKNBbkdXQ4Mr9YL
k%)MMqcYbDr%`44GJ+VpeKU8DQ*fCGZb&hM#%2!X5K"f*-MZl*R5%Sk&QKUm3+[N
lV'`[NI*(9*3e)IB3'`K$bC@!-AlGcH#XU9E6**E""RCjiB0'D$&dLJpFI1r(k4!
mN!#3!$`)P(N2%!Jq0jS#cd8"r6N"h)*JJQfQ55@*j9$#iijl5GpR,l(5Ppk8+iQ
NEcfpX#D[VQL#KAS(&FBA,4kYMh1i4KA*8M6eCUAq#`KdK'kF4IFhi-FjC,)LiFj
4mmFq8imPQqa'K6eYS,c`j,aG5S2FlGY&CfA,V,mYjTPCeim0d@+GS-0e1pcZlj!
!i@S82irQeai4GZF#I6#jKqF06AdLXVPh")+(*TIAP08l9&#ja)[Z65)4Ik$h%4!
!FUG5k3EqIH`Y5dlD&b@"G-Qq,&e1jCUJQ02-m0@CH`[8X6m0+DqLJKMV+AXERac
N`!R1l+fm#1mY`iT6APV'!E-hSU#V2iMQc8(c-G)(dZfFfH$Q+NUUa#C9qf0d64p
"QbV-mCc6r2K4VNVN&V4%Va%2,XN5aF'Z'jV5RPNQ*CG$E5BX2aeME''B46ZBGSP
$CK0,VYNrJG2V5)IZKI!m9p6F')rH((kM&a##0FUe%IGfdX4qNlMNeDKUBA8hLBR
G+ISe4QU2a@UDMR@hDC%-0UJp8T4IY96GB)VdMc#@2(QA)FB8rZS@H+%DqfmG+e,
Q&e+TJS@L)0+5!Tmq`&SI%Fj0k9IL)NlmF)$PAhS''!q05VlI[@YmBQr8fP&Lq-G
P`9ca$l2YGZN2))2jSImS31TAV"i&"[ldq0hL+e%VGkIT1X6c#,CMRbK,mRe("HQ
6iM!4*cRcF%[GS*-If,MiiiNfcT9C81#GcHq@"[8b04bE`)`fPbbb+aN!h(a5)GB
d2STd4m"haSkb*HA498'EIU0XVBcQBL2CUCTfHN-X"Im(e0Z#-1X4$bd'(iGr!Nk
K48Mh!q)2Dr)Xi#$F"!I[AQ"INCG5Hd(%FYDC`6CBhjccr(%(4fEF(GKieK*3Nf(
Q0G[L`GM)6H9!Ei&8IrUq*DHbb+,aB`GcCMmYHH,hl2%J&$#TRV3KB[&Y$ID)jT@
,NaC634R82RpNd0C+eiR,5dDA`#T-L)`TPXrdXp5"p#Q*2kEdQ*hX2`DikRBpIlr
fVFefZDhK*TKYXG)KB6l0e#qa1MZG!&a$6'pH@C%#U&$aK0UjVLf+Cp"rA)D2(!U
8mA+H)Ufb&18aSTaq`U%-BRbT%S`'6pEeNB&m*Mre+jVRTBpJ,IPVNA18@j6kd$m
+0P'M!'Gd3"'rf4@J6Lr'*(qqe9!XG"8B&%@(94F-,Ti2e9-$*#-I9``T9JjLCCN
"AmXaCfXA+34B)l&YMTcC(KEhZ3Y"`+IB5&K$@TTRj%**PYjaQH0"m@1jb@KRhlV
r0eK"1q[ZcpaQq3HRAS)$[reZ6T!!R)Z9#L$lI6hi3)pB$G,"p(&Vi1CE1pK9Bcl
8C,A8q5(e2jLC)#$,Ue5JcfT6VICd64jT18LbqQ$!M3jR9,%$2S+jXqCi5e6r(T1
5-lcFi1G8()mk4JZf*jeT49cj9)95SqV$ZS193I(DK%hVZX2-I(20+!IKA`lmMKh
dk$'&J%f[2SbIjrlC0a@B9Z38Z9ebTdcNi(5!ElCha[CJ)IRmTLZ(""Yc$#+!EK'
-KL'3!2pIrB18Zpd$3@Y4dkq'rL+&Z1d1Hm3+dP#F516UQ!EU[+X!6LAcXi%0#e%
"!ipF[iF%C!`m3!')dXN)EI%DUd`KkD%YEM5lH(EU#"Z6%[0%G[dQmQ43+c#!aT-
i)TQE'1'l2R*BCbq3!%'#fMDHf[p&eY(%keQdG6PTpS*PmPhdY(SkP-aEV#Ne@#)
&Fb-#rbPrE3ZVZE1j86TF9IhDKVla!#+PhpiJi3JCe,prrLTHEbDdE`"0qD"bh@e
622!`fYh0D4'%'(N[bR,l405lVVL6(1%r#0TNVm2pGj`ppQhV#X%'4)rU'eAq)pU
B[,hq`BAaYkc1#aicJeB!VNr$cSZ3!-l8lYMrBmVVprjrFa&$lfUGD@$QdNhLq28
+'-j9TfjbC"@)"EN5CL,*l%2-ZkHUk9JpH`ri89HN6,%H!`8)p1cV(9KU09JBD`E
aEKDc5D`-2-0[+DiF&6E&#AHcaZp`feJ*Za[E8843-''EIQSLrFQEdA6HIKif9RT
q8fH,BHF#G(B(m`)+B+ThYcBR"+ieUl8D)f8B,(j&R0K3d3Zdrf05eN0!K`Ej+5V
#pVehXqTZMTp6'j00$r5ArKJUM(XLE-!3*Xb%LQ,)5+[C5E%(lQ"F6C!!F$%VrCY
qZhBq%e'YHEd[K5`Jh)h-[aH*9i%'pRpE*TSfmDE-`Cl0!XbbqC8e5!&aZLPFr3a
rB2*@P0[5lHJmeXZIq%kZJJ-FrIV*-Z4Y[qIXd"A4@fLF4Cmk5$354hl)1UqMa-[
%+rp8SdqpLGQ3!(K0U*,P%*5V9eR)m*FER$KEXT6PBdkpp01rF6R@X'"JCk*$d3E
TXfPiNXTP`6,2[eLPc1)$4*hb-JA)J@-BJ#Dj0NLhm)BaJ-$a$[3024MZjUpaT%b
)UJQ5rNlJ@J$5qmY0&X2VCr#@)r3hilD%0VE)TSCBfiMd6l++P#VFYRr88j!!"DT
D&lbj1*!!,e4JjQY+R&Hj*`Pb6JAh)'XN,6i'd`B'#c&+HTNH2QpjPhfBI'(2SFZ
50ILCFG,5lIKlaiDCIi$IR"5KjKUGrbZUa!'B'Ui#(IG2IacZfC1MZaUhb4&VE%0
P9Qbm3FGE,LEX&YRR)H4R#R#55HcE6P[cRhl$A0*V3j@1JPZSL!(!JEXNe83rQ+L
P4280G34M-Cr9#edCL58-p)KML6pZi1iK5i!+Tr2L6)K,"-`-m&1,&T'4lZNF,[E
,FI-L-q)%h5VmN!$GP![r9drX@MPj@+8@-&`TXG&DFi[m!@S4Jf[)9jm[Zi0rEMr
QV-L58r-dq8bFU6VFAh#MpIMNFDdj)GdK3VN#CT9!dYXEQ%$3C`AkRX(ci%K8Tj&
PBa,"91L1N@V#0Bhp3Q1%4q$qXY'"a,6EhXfjU&l+`!$Q$&S`@6Fc9RiJdI5$*Z)
HFLIT*H#Fd@AL69TM2$SJBKmriIma('NP"+a6f[l"R!DPUZ-k0Rhl'Q+(%Z-Ae6p
A%6Y#lM@84DC`P*e1q3lTaXd,K9TUcLf'KIL-lh2Umi''hqfd5CM1D!Lj$$*,d(L
-lc5@rL(TRpTr5PeT4eCXQKmB9[Zq"M8,XH$a'1-TpdqPSFHKcZi6jpi6E@bGKCY
cZ"M#Y8T2GUC18NQjRaE6+4ES&aZ*,BV6bI[QZ,NX4h$iICr[qiQbXcM[UkMl1N9
4aQr!8lrp4b8bG&QL+DQmQ3Ej'qYYq""L-JD#Pq#[P+lFKH25I@@59#*6U[`2i@A
KNN&4A("rP@hkah&EK%4qBJ$f#f[[T+KB1@2D8h8R#k[&4l,18l-E32Ff$58A4D5
-ZA1BR24Df&Bfd`%p*k*MfIbFH1r'+Q@+J5BH`4B@JTahHXa9(k(kUe#c0,G+Z`K
V-MTP0,rq6BTRX)$kASb&PFP,0Q1erY&Fd'p!2!!R$+kG'pd6$VrU2&4,@+q89de
$Q@``'YM9bIdmQN4RV4S0d0mD-PdZ,13&a5)T6hkrXBZ+-a@8LjYk,X!!ekLFj#I
cV-)em+ViUcPeQITb(Cm00k(,q8+'IUA3fM1Sh%SEqIcANcZh1N-mhAq+dP)ES&G
*"f*`cV@eK"b1Xb!TPY-VQcd-SkkTeTh*if(a5i#1H1(c8CFd(GQLPD6AMB6N,kP
MeA[i9SaMVa[*2-qa5Lbj!d4MVFE'5KSZLdLSRKlAb1+%D!16$Z!#El$N%AM1ASH
,,fem261jb$1hRr#K,fA8Ve4f-KZeM5kDLIN1+Tj2H-aj'bEj!j'eU$-r2)8dq4D
0NHKrfLc-2PS5FE[`)iTQrc&%d1rp!$b#'Yr[VXbP8L4*m##b!&TmKD$fR'3!Xqc
0V*D#3DG!'1cpDKlqJ#`$(6RbCh3RliS&+KHAYq(fd4aI3kUB'cCJPCR(&GNa0('
hd[`LVK,RR0B5(1qHjVCJ(8-f0#6!V3aVZbQ6[eJ$+Xmr(+!2`a545e@[K"$!A%5
9aZClYT9b@#9Kfe-h"i!@me24L%befKd$,hKck9`B3pXK)qKC*A$fhT1!3E9G-,Q
NQpqf-X)Hal`KB,8ehk'#JEQFBq9BRUE)5@%1bMMR`SKQh3D-,`JE#5keK"1bQ"0
SPHfZGchNAmfl2)SDJ'kX',qGTJ(A!c1AN34!51R"-+"Ia"!`lTDd-c,@AF,4eT@
T%+)ISUF6iMV4b[a`Li*C"1cJU+Eh',m"IibA0-4ZS(kHbE+&U3S8lrlH&a`e&EG
%L'%M(iN,m`+qli,TISqC9@1eDYVM5lb&+jaGcR@TB@Q'(Qk(*$-d50Td*IJV`c#
b@+Zm[Nb#mHRjZmS-qJ9&P#iBk0%Aah-LliYC&rY*4mcfaY"@lX0b6a5k@1DL#&J
XrYjDXB%QKaE[[fc&1lCINA6`I`TD[G`5E@8N[4SmTS5ES9,NJ4fUJF9QL,XIGbV
YZ@qCGkC*5M)AZH(JL#b*cmYF*&*d,KVkZUUq+jN,UpR,*NCaEMPL6-M'%)jfVJ1
4HL"6i`C2VJEHImQ)Aih,9GEpf$`U(rUUQU[i4%!ILJ340"cTZ&91RaL%[0HTHmY
NA+&feJKXCl[IF,D6Z!k1@CZmDUm"11[0CUA15H8XfZk-591d9YbJ,MJm5F0``UK
ip+krVjPD6FaFe,h1IAX'IiN!`JR@6$&dDhrl0&b3!,(9e%,cXhV(AmI4,C%qqL3
JV"qhD(a%AZ#!e""@2339Me$#G`*83cD0,K'`d+&Xhe2h,fkNP)DeGB3Cl)f9K&X
XXVk(qe$'MR)X-hE!-+lS,)9Q5kj59JQ@lc01-3Gr'6NjAB*-U,Sir`$Ql91-rTB
UASYV@!lcQPHH#lc3M2%fb&kkkU5+3+bPMaNKh8iHf6*SFNqfDFN83L295V5eGQ*
BSZNhe$(d@TJ`k&Ql+qba$NZSSbXLC,R)PhVhhp+ZETJ*m$1S02CU!Zk4M)Ar0Q8
U[R4!LJAZ$1*5A#FLNHb$PdKJZETl4T`fJKEPA0[FViD2V8ATZQ`U3"UJEGTYmL*
ECVe#[++-94CFR@1qb5Hrp2@"da@`X3)15'e%2JLAfriRiKf0GH6r,eMr"+$$bA,
GCAe$)"01KZ55XerJJBqma`U43RJma8Mr6XHY6(dac5#5hrp4qjjCU'VdK[VN%G9
[bB0,e@alUMQm!'`MeGqrAAp3#%[e%DB1)5&)ZS@!["hE!Eb(*TlJFl9f1GBZ[`L
B8@jHF'BlY3FF,#$rDf6d',PKA,[YEJD%`d[J0d"PBB8,ZCba0P$5NbANRaER(2%
N`'ESRjENR-)1p4m0''ZJmFr@fpL1`+C*fY#rUBcLKQZGB"Gj52YjN49kl4SUi"&
4Ylpa&4!DXfp@CeRY0'j[F"G[M-%RCmJ#8Qp"M@"1KbKAH0i"32cc0kNp%J)Bha-
,aTmFH8#0km3Ej'G+ZYbEApdV4R`%28,L#P`K9"J9jh"R6#6J3,p!BL9MDCfkJY3
N368@+AGR&3G9D%,XUT-Z6+Q1B(l`lP%G-"PbP#mKT4#(&KBVj*Z0L,2!V9QiFpj
+De&dP9hI-XKX31M`DCFdEbTI,5JbpeDbF0Bb2S!k8QUQTMq'$I$fkBJ%jMZI6Gc
d$N+I"IQBZ*iIZHHF10PUpmA"c!d9D4FlHJ)6-"[%DMRILd,XiGi*(K@IHKE5*@*
V!Lm-(qN!)H!(jCCl(#K6p1JjBT2GiKJHk$2'D-di"@U8ejbPX&QC*mh6,5Vq15e
jpp5P%'#ehQ39rQAY5)6c5k-!f(*6DT["Mc%mq9S#GA5E'8*`YdJD[0*)S'!0[q`
,k&i(e`42U4$6bLES21aD4e05TR#2KPhT-VM'Q(!8`KJ`4RV",EpTSrG-'6j-e5(
[B`@!B$h4%'M!!D%%5T!!h[aY3B&FD5$1#Q3f(FEbfqaX2fZT$eUJcrRfYY3l0DK
`C6U2,UUc+AYe"$,+rdCTk`rkqH(M,a5d9L4,A(2&'q*%JbfP&IaIV2Ij`I'SrKa
ZZ$fAkL([dR1apNHZpLq[DANY0#IMhpJ+bCZKeX3#eb*1XM)ZJX`arC9bpMGV8ND
PE-0Ve5j3Skd#"",eZB$0V'5d`53l&amh0+&r%Cr,'*qHkkr)pI,Y'fUfj(&9eKG
UTJ+B[Ta*X&!%-"'DUDD%JR)Gh1-44LSir+I#),!dMqD"(pceLY[--&T!ahc6S%h
Y6*LI%*!!GhpV4Rpi0G+BCG8UKfZL8&&qjP@GGlMaja($*Y'&XAia#Bdr"$A3l3P
#2@Fkq2JkTQ`hjmUa,,QcEl!pZ0AVhV(5CHE0pK54#L0RY,K55S1%!c$r@3!YKU[
p5&$X2-eN(q"0df@,l[J3EH1N"dJ)br9#HeV@U!S+a3L5+Cjb)K5*i5q2Y(Um6))
CKTJ(flbZ6VH"rMVDrEGa@EG,@+20DbX!KAIHJjRXlJ6hVQf#0E!94(QQV&!5jl[
2ql@8(1fFpHR4Ij2MhZZCd%6eQ#hlV*e1r+BfVd906pQMGIZbbbZQj9`UZS)N564
0NahK,qTY@2IfpFG0+q2k1FkN8Y'#"bBahp5kiAh*qp(Y$,%U4Nq[r'YI$,q1hDQ
FBb[*2)RV1aqKcXL[QPZ!cGjj"mBbpAGQ5k-hL)jZ-(J[B(mlj`jpU*(ZGK!-`jh
2er$!#D[C,6(JU'db2d[9)R0[2mR1Q"6'baq3!,*HaD&$4fPQ2#KZ2AD3!)638cE
-!iriU8!9dTRF&V!H[(-$45Rd4"[N8(P[[Cd4Rq8-jTJE29Jq&D1fUXre2q0!XYZ
TL08IG!UGr0@qdm3*EJcN'S@V[)c`PI26aLGmjim2q#9k51*ZAia'N8Uf1pmTUkm
K!"iMF!Hh@,c@LRUj,RPX0r2iL3ImBiLB2J(I9q*H#Db[25Qhb*KNHp%2UiJFe+b
pU(J%I9l2[+aZX-8X%Q[e68Ybph1l'3,rIF6DP"5VjRfI0Y-rbl#[0S%+YF%ACJX
YEl[5i*%KI'p6e+jcdHMCQMHrQ+N0Y#MF&D'@'@'@*q'2F+F$T6GK3-QZUIb)U6r
k$cY9-Ke9!%5($Gd#TTY"l(HfKSc&6K+3!2b%ec#i#[T"[fMQ`BLf),r&ZicFkeI
22GfpUQdZhi3DedYi,T3k@hUKqm48&@-@p`05%%#M`hcM-Z1$CI$X'&9hq#06VIp
Z0Amf!`@Rcc8+-dUFJc$Y,b28@NarYe8)BD2AD8"1T6"JE4kYF)q@r&'G8SZ&(NH
Ki!JrUkI8N3%+lT56c+ArF1qT%((hXHr!d("e8T!!cG6l3G-2GC!!LA*ML9%q9@b
Rfd[$$*T(+!4Ib-+GlE5cLM4VB9QiGLdqD@AY#15`JM9Pq4Iq*m)2Yi5+JPb%Hkb
`D!+#b[`&+c0PJ9laarKc&aIE"ZJb*8EUlj1X5JX-@()@$QSUfrL89,4K3,PRi(p
Qh6@#$+l4+93m+Y[5HBVqGd3m52@Q9j8LHF6EhDMV2E$10CP0D*4kKlFEK5Ch&Ic
QCG%ATV`$iQH!5P@@)R+6%%+mH@h1[I,5&c-%YIce+XLLVlC$aH0&#pH4+RD9DFb
6B(@Z"I&r33X(mLpp$'H#8iS3mVD+*66Z`30`[[,SB$TFhfCC,,ZFBehep6M-a5Q
)RhY-50,r-E[*UZ3h$@h"FLI$bCHUQqcq`DBJQXCC#0"aE)5)+kmYMeppZr`)efD
ZLj0$3pUk+X!FTdGJ1jSKU5ba5@VUM#!5-i8#&dNGM(-)!6)PfA&8"#TRj9B)Li`
Gi2'#!64!2$&kcFZRqU)E"HeH`V#iJEq
Download .txt
gitextract_3komkc99/

├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── bundled/
│   └── skins/
│       ├── .gitignore
│       ├── Green-Dimension-V2.wsz
│       ├── MacOSXAqua1-5.wsz
│       ├── Skinner_Atlas.wsz
│       ├── TopazAmp1-2.wsz
│       ├── Vizor1-01.wsz
│       ├── XMMS-Turquoise.wsz
│       ├── ZaxonRemake1-0.wsz
│       ├── base-2.91/
│       │   ├── CLOSE.CUR
│       │   ├── EQSLID.CUR
│       │   ├── EQTITLE.CUR
│       │   ├── NORMAL.CUR
│       │   ├── PLEDIT.TXT
│       │   ├── PNORMAL.CUR
│       │   ├── POSBAR.CUR
│       │   ├── PSIZE.CUR
│       │   ├── PVSCROLL.CUR
│       │   ├── REGION.TXT
│       │   ├── Skining Updates.txt
│       │   ├── TITLEBAR.CUR
│       │   ├── VISCOLOR.TXT
│       │   └── VOLBAL.CUR
│       └── base-2.91.wsz
├── dist/
│   └── .gitignore
├── main.js
├── package.json
├── res/
│   ├── icon.hqx
│   ├── icon.icns
│   ├── icons/
│   │   └── icon.icns
│   └── license.txt
├── src/
│   ├── __tests__/
│   │   └── basic.spec.ts
│   ├── global.d.ts
│   ├── index.css
│   ├── index.html
│   ├── node/
│   │   ├── api-server.js
│   │   ├── preload.js
│   │   ├── protocol.js
│   │   ├── thumbar.js
│   │   ├── thumbnail.js
│   │   ├── transparency.js
│   │   ├── updates.js
│   │   └── utilities.js
│   ├── renderer.ts
│   └── webamp/
│       ├── webamp.bundle.d.ts
│       └── webamp.bundle.js
├── tsconfig.json
├── tslint.json
└── webamp/
    ├── .editorconfig
    ├── .gitattributes
    ├── .gitignore
    ├── LICENSE.txt
    ├── README.md
    ├── YAAMP_FONT/
    │   └── font.psd
    ├── netlify.toml
    ├── package.json
    └── packages/
        ├── ani-cursor/
        │   ├── .gitignore
        │   ├── README.md
        │   ├── babel.config.js
        │   ├── package.json
        │   ├── src/
        │   │   ├── __tests__/
        │   │   │   ├── __snapshots__/
        │   │   │   │   └── parser.test.ts.snap
        │   │   │   ├── fixtures/
        │   │   │   │   ├── Green Dimension v2/
        │   │   │   │   │   └── eqslid.cur
        │   │   │   │   ├── Super_Mario_Amp_2/
        │   │   │   │   │   ├── close.cur
        │   │   │   │   │   └── eqslid.cur
        │   │   │   │   └── piano.ani
        │   │   │   └── parser.test.ts
        │   │   ├── index.ts
        │   │   └── parser.ts
        │   └── tsconfig.json
        └── webamp/
            ├── .babelrc
            ├── .eslintignore
            ├── .eslintrc
            ├── .gitignore
            ├── .prettierignore
            ├── CHANGELOG.md
            ├── assets/
            │   └── skins/
            │       ├── base-2.91/
            │       │   ├── CLOSE.CUR
            │       │   ├── EQSLID.CUR
            │       │   ├── EQTITLE.CUR
            │       │   ├── NORMAL.CUR
            │       │   ├── PLEDIT.TXT
            │       │   ├── PNORMAL.CUR
            │       │   ├── POSBAR.CUR
            │       │   ├── PSIZE.CUR
            │       │   ├── PTBAR.CUR
            │       │   ├── PVSCROLL.CUR
            │       │   ├── REGION.TXT
            │       │   ├── Skining Updates.txt
            │       │   ├── TITLEBAR.CUR
            │       │   ├── VISCOLOR.TXT
            │       │   └── VOLBAL.CUR
            │       └── base-2.91.wsz
            ├── config/
            │   ├── jest.integration.js
            │   ├── jest.unit.js
            │   └── webpack.library.js
            ├── css/
            │   ├── base-skin.css
            │   ├── context-menu.css
            │   ├── equalizer-window.css
            │   ├── gen-window.css
            │   ├── main-window.css
            │   ├── milkdrop-window.css
            │   ├── mini-time.css
            │   ├── playlist-window.css
            │   └── webamp.css
            ├── demo/
            │   ├── config/
            │   │   ├── webpack.common.js
            │   │   ├── webpack.dev.js
            │   │   └── webpack.prod.js
            │   ├── css/
            │   │   └── page.css
            │   ├── index.html
            │   ├── js/
            │   │   ├── DemoDesktop.tsx
            │   │   ├── DesktopIcon.tsx
            │   │   ├── DesktopLinkIcon.tsx
            │   │   ├── IconImage.tsx
            │   │   ├── MilkIcon.tsx
            │   │   ├── Mp3Icon.tsx
            │   │   ├── SkinIcon.tsx
            │   │   ├── SuspenseImage.tsx
            │   │   ├── WebampIcon.tsx
            │   │   ├── avaliableSkins.ts
            │   │   ├── butterchurnOptions.ts
            │   │   ├── config.ts
            │   │   ├── delete-service-worker.js
            │   │   ├── dropboxFilePicker.ts
            │   │   ├── eventLogger.ts
            │   │   ├── index.js
            │   │   ├── logger.ts
            │   │   ├── mediaSession.ts
            │   │   └── screenshotInitialState.ts
            │   ├── readme.md
            │   └── skins/
            │       ├── .gitignore
            │       ├── AmigaPPC-dark.wsz
            │       ├── Green-Dimension-V2.wsz
            │       ├── Internet-Archive.wsz
            │       ├── MacOSXAqua1-5.wsz
            │       ├── My_Funny_Valentine.wsz
            │       ├── Skinner_Atlas.wsz
            │       ├── Sonic_Attitude.wsz
            │       ├── TopazAmp1-2.wsz
            │       ├── Vizor1-01.wsz
            │       ├── XMMS-Turquoise.wsz
            │       └── ZaxonRemake1-0.wsz
            ├── docs/
            │   ├── architecture.md
            │   ├── music-credits.md
            │   ├── press.md
            │   └── usage.md
            ├── index.d.ts
            ├── jest-puppeteer.config.js
            ├── js/
            │   ├── Disposable.ts
            │   ├── __mocks__/
            │   │   ├── fileMock.js
            │   │   ├── mediaMock.js
            │   │   ├── storeMock.js
            │   │   └── styleMock.js
            │   ├── __snapshots__/
            │   │   ├── regionParser.test.js.snap
            │   │   └── serialization.test.ts.snap
            │   ├── __tests__/
            │   │   ├── .eslintrc
            │   │   ├── baseline.integration-test.js
            │   │   └── fixtures/
            │   │       ├── CENTRA_VISCOLOR.TXT
            │   │       ├── PLEDIT.TXT
            │   │       ├── PLEDIT_TOPAZ.TXT
            │   │       ├── PLEDIT_WITH_EQUALS.TXT
            │   │       ├── PLEDIT_WITH_QUOTES.TXT
            │   │       ├── VISCOLOR.TXT
            │   │       ├── region.txt
            │   │       ├── region1.txt
            │   │       ├── region_empty_sections.txt
            │   │       ├── region_eva.txt
            │   │       ├── region_ituned.txt
            │   │       ├── region_leading_comma.txt
            │   │       ├── region_satellite.txt
            │   │       ├── serializedState/
            │   │       │   └── v1/
            │   │       │       ├── balance.json
            │   │       │       ├── double-mode.json
            │   │       │       ├── equalizer-auto.json
            │   │       │       ├── equalizer-band.json
            │   │       │       ├── equalizer-on.json
            │   │       │       ├── equalizer-preamp.json
            │   │       │       ├── focused-window.json
            │   │       │       ├── llama-mode.json
            │   │       │       ├── main-window-position.json
            │   │       │       ├── repeat.json
            │   │       │       ├── shuffle.json
            │   │       │       ├── volume.json
            │   │       │       ├── window-hidden.json
            │   │       │       ├── window-open.json
            │   │       │       ├── window-positions-are-relative.json
            │   │       │       ├── window-shade.json
            │   │       │       └── window-size.json
            │   │       ├── viscolor_green_dimension.txt
            │   │       └── viscolor_valgaav.txt
            │   ├── actionCreators/
            │   │   ├── equalizer.ts
            │   │   ├── files.ts
            │   │   ├── index.test.js
            │   │   ├── index.ts
            │   │   ├── media.ts
            │   │   ├── milkdrop.ts
            │   │   ├── playlist.ts
            │   │   └── windows.ts
            │   ├── actionTypes.ts
            │   ├── baseSkin.json
            │   ├── components/
            │   │   ├── App.tsx
            │   │   ├── Balance.tsx
            │   │   ├── Character.test.js
            │   │   ├── Character.tsx
            │   │   ├── CharacterString.tsx
            │   │   ├── ClickedDiv.tsx
            │   │   ├── ClipPaths.tsx
            │   │   ├── ContextMenu.tsx
            │   │   ├── ContextMenuTarget.tsx
            │   │   ├── ContextMenuWrapper.tsx
            │   │   ├── Css.tsx
            │   │   ├── DropTarget.tsx
            │   │   ├── EqualizerWindow/
            │   │   │   ├── Band.test.js
            │   │   │   ├── Band.tsx
            │   │   │   ├── EqAuto.tsx
            │   │   │   ├── EqGraph.tsx
            │   │   │   ├── EqOn.tsx
            │   │   │   ├── EqTitleButtons.tsx
            │   │   │   ├── EqualizerShade.tsx
            │   │   │   ├── PresetsContextMenu.tsx
            │   │   │   ├── index.tsx
            │   │   │   └── spline.js
            │   │   ├── FocusTarget.tsx
            │   │   ├── Fullscreen.tsx
            │   │   ├── GenWindow/
            │   │   │   └── index.tsx
            │   │   ├── MainWindow/
            │   │   │   ├── ActionButtons.tsx
            │   │   │   ├── Close.tsx
            │   │   │   ├── ClutterBar.tsx
            │   │   │   ├── Eject.tsx
            │   │   │   ├── EqToggleButton.tsx
            │   │   │   ├── Kbps.tsx
            │   │   │   ├── Khz.tsx
            │   │   │   ├── MainBalance.test.js
            │   │   │   ├── MainBalance.tsx
            │   │   │   ├── MainContextMenu.tsx
            │   │   │   ├── MainVolume.tsx
            │   │   │   ├── Marquee.test.js
            │   │   │   ├── Marquee.tsx
            │   │   │   ├── Minimize.tsx
            │   │   │   ├── MonoStereo.tsx
            │   │   │   ├── PlaylistToggleButton.tsx
            │   │   │   ├── Position.tsx
            │   │   │   ├── Repeat.tsx
            │   │   │   ├── Shade.tsx
            │   │   │   ├── Shuffle.tsx
            │   │   │   ├── Time.tsx
            │   │   │   └── index.tsx
            │   │   ├── MilkdropWindow/
            │   │   │   ├── Background.tsx
            │   │   │   ├── Desktop.tsx
            │   │   │   ├── MilkdropContextMenu.tsx
            │   │   │   ├── PresetOverlay.tsx
            │   │   │   ├── Visualizer.tsx
            │   │   │   ├── __tests__/
            │   │   │   │   └── PresetOverlay.test.js
            │   │   │   └── index.tsx
            │   │   ├── MiniTime.tsx
            │   │   ├── OptionsContextMenu.tsx
            │   │   ├── PlaybackContextMenu.tsx
            │   │   ├── PlaylistWindow/
            │   │   │   ├── AddMenu.tsx
            │   │   │   ├── ListMenu.tsx
            │   │   │   ├── MiscMenu.tsx
            │   │   │   ├── MiscOptionsContextMenu.tsx
            │   │   │   ├── PlaylistActionArea.tsx
            │   │   │   ├── PlaylistMenu.tsx
            │   │   │   ├── PlaylistMenuEntry.tsx
            │   │   │   ├── PlaylistResizeTarget.tsx
            │   │   │   ├── PlaylistScrollBar.tsx
            │   │   │   ├── PlaylistShade.test.js
            │   │   │   ├── PlaylistShade.tsx
            │   │   │   ├── RemoveMenu.tsx
            │   │   │   ├── RunningTimeDisplay.tsx
            │   │   │   ├── SelectionMenu.tsx
            │   │   │   ├── SortContextMenu.tsx
            │   │   │   ├── TrackCell.tsx
            │   │   │   ├── TrackList.tsx
            │   │   │   ├── TrackTitle.tsx
            │   │   │   ├── __snapshots__/
            │   │   │   │   └── PlaylistShade.test.js.snap
            │   │   │   └── index.tsx
            │   │   ├── ResizeTarget.tsx
            │   │   ├── Skin.tsx
            │   │   ├── SkinsContextMenu.tsx
            │   │   ├── VerticalSlider.tsx
            │   │   ├── Visualizer.tsx
            │   │   ├── Volume.tsx
            │   │   ├── WindowManager.tsx
            │   │   ├── useBarVisualizer.ts
            │   │   └── useOscilloscopeVisualizer.ts
            │   ├── constants.ts
            │   ├── emitter.test.js
            │   ├── emitter.ts
            │   ├── fileUtils.ts
            │   ├── hooks.ts
            │   ├── hotkeys.ts
            │   ├── loadQueue.js
            │   ├── marqueeUtils.test.ts
            │   ├── marqueeUtils.tsx
            │   ├── media/
            │   │   ├── StereoBalanceNode.js
            │   │   ├── elementSource.ts
            │   │   └── index.ts
            │   ├── mediaMiddleware.ts
            │   ├── playlistHtml.tsx
            │   ├── reducers/
            │   │   ├── display.ts
            │   │   ├── equalizer.ts
            │   │   ├── index.ts
            │   │   ├── media.ts
            │   │   ├── milkdrop.test.js
            │   │   ├── milkdrop.ts
            │   │   ├── network.ts
            │   │   ├── playlist.test.js
            │   │   ├── playlist.ts
            │   │   ├── settings.ts
            │   │   ├── tracks.test.ts
            │   │   ├── tracks.ts
            │   │   ├── userInput.test.js
            │   │   ├── userInput.ts
            │   │   └── windows.ts
            │   ├── regionParser.test.js
            │   ├── regionParser.ts
            │   ├── resizeUtils.test.ts
            │   ├── resizeUtils.ts
            │   ├── selectors.test.ts
            │   ├── selectors.ts
            │   ├── serialization.test.ts
            │   ├── serializedStates/
            │   │   └── v1Types.ts
            │   ├── skinParser.js
            │   ├── skinParserUtils.ts
            │   ├── skinSelectors.ts
            │   ├── skinSprites.test.js
            │   ├── skinSprites.ts
            │   ├── snapUtils.test.ts
            │   ├── snapUtils.ts
            │   ├── spinParserUtils.test.ts
            │   ├── store.ts
            │   ├── trackUtils.ts
            │   ├── types.ts
            │   ├── utils.test.ts
            │   ├── utils.ts
            │   ├── webamp.js
            │   ├── webampLazy.tsx
            │   └── winamp-eqf.d.ts
            ├── package.json
            ├── presets/
            │   ├── builtin.json
            │   └── winamp.q1
            ├── scripts/
            │   ├── compileSkin.js
            │   ├── parsePresetFiles.js
            │   ├── postcss-optimize-data-uri-pngs.js
            │   └── postcss-optimize-data-uri-pngs.test.js
            ├── static.d.ts
            └── tsconfig.json
Download .txt
Showing preview only (231K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2744 symbols across 131 files)

FILE: main.js
  constant URL_WITH_ACCESS_TOKEN_REGEX (line 31) | const URL_WITH_ACCESS_TOKEN_REGEX = 'https:\\/\\/music\\.yandex\\.(?:ru|...
  function createWindow (line 135) | function createWindow() {
  function createLogin (line 202) | function createLogin() {

FILE: src/global.d.ts
  type Window (line 4) | interface Window {

FILE: src/node/api-server.js
  function getHtmlInterface (line 7) | function getHtmlInterface() {
  function createApiServer (line 536) | function createApiServer(port, window) {
  function stopApiServer (line 749) | function stopApiServer() {

FILE: src/node/preload.js
  function getTranslateXY (line 83) | function getTranslateXY(element) {

FILE: src/node/protocol.js
  function interceptStreamProtocol (line 6) | function interceptStreamProtocol() {

FILE: src/node/thumbar.js
  function handleThumbar (line 5) | function handleThumbar(state = 'stopped', onPlay, onPause, onPrevious, o...

FILE: src/node/thumbnail.js
  function handleThumbnail (line 4) | function handleThumbnail() {

FILE: src/node/transparency.js
  function handleTransparency (line 3) | function handleTransparency() {

FILE: src/node/updates.js
  function checkForUpdatesAndNotify (line 7) | function checkForUpdatesAndNotify() {

FILE: src/node/utilities.js
  function debounce (line 1) | function debounce(fn, time = 100) {

FILE: src/renderer.ts
  constant DEFAULT_DOCUMENT_TITLE (line 6) | const DEFAULT_DOCUMENT_TITLE = document.title

FILE: src/webamp/webamp.bundle.d.ts
  type TrackInfo (line 1) | interface TrackInfo {
  type URLTrack (line 30) | interface URLTrack extends TrackInfo {
  type BlobTrack (line 41) | interface BlobTrack extends TrackInfo {
  type Track (line 53) | type Track = URLTrack | BlobTrack;
  type Options (line 55) | interface Options {
  class Webamp (line 119) | class Webamp {

FILE: src/webamp/webamp.bundle.js
  function convertAniBinaryToCSS (line 61) | function convertAniBinaryToCSS(selector, aniBinary) {
  function readAni (line 90) | function readAni(contents) {
  function base64FromDataArray (line 119) | function base64FromDataArray(dataArray) {
  function curUrlFromByteArray (line 122) | function curUrlFromByteArray(arr) {
  function sum (line 126) | function sum(values) {
  function parseAni (line 152) | function parseAni(arr) {
  function defaultNoopBatch (line 259) | function defaultNoopBatch(callback) {
  function createListenerCollection (line 277) | function createListenerCollection() {
  function Subscription_createSubscription (line 347) | function Subscription_createSubscription(store, parentSub) {
  function Provider (line 417) | function Provider(_ref) {
  function storeStateUpdatesReducer (line 481) | function storeStateUpdatesReducer(state, action) {
  function useIsomorphicLayoutEffectWithArgs (line 486) | function useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, depen...
  function captureWrapperProps (line 492) | function captureWrapperProps(lastWrapperProps, lastChildProps, renderIsS...
  function subscribeUpdates (line 504) | function subscribeUpdates(shouldHandleStateChanges, store, subscription,...
  function connectAdvanced_connectAdvanced (line 586) | function connectAdvanced_connectAdvanced(
  function bindActionCreators (line 819) | function bindActionCreators(actionCreators, dispatch) {
  function wrapMapToPropsConstant (line 840) | function wrapMapToPropsConstant(getConstant) {
  function getDependsOnOwnProps (line 859) | function getDependsOnOwnProps(mapToProps) {
  function wrapMapToPropsFunc (line 874) | function wrapMapToPropsFunc(mapToProps, methodName) {
  function whenMapDispatchToPropsIsFunction (line 906) | function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {
  function whenMapDispatchToPropsIsMissing (line 909) | function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {
  function whenMapDispatchToPropsIsObject (line 916) | function whenMapDispatchToPropsIsObject(mapDispatchToProps) {
  function whenMapStateToPropsIsFunction (line 924) | function whenMapStateToPropsIsFunction(mapStateToProps) {
  function whenMapStateToPropsIsMissing (line 927) | function whenMapStateToPropsIsMissing(mapStateToProps) {
  function extends_extends (line 934) | function extends_extends() {
  function defaultMergeProps (line 951) | function defaultMergeProps(stateProps, dispatchProps, ownProps) {
  function wrapMergePropsFunc (line 954) | function wrapMergePropsFunc(mergeProps) {
  function whenMergePropsIsFunction (line 976) | function whenMergePropsIsFunction(mergeProps) {
  function whenMergePropsIsOmitted (line 979) | function whenMergePropsIsOmitted(mergeProps) {
  function match (line 1012) | function match(arg, factories, name) {
  function strictEqual (line 1023) | function strictEqual(a, b) {
  function createConnect (line 1029) | function createConnect(_temp) {
  function useReduxContext_useReduxContext (line 1105) | function useReduxContext_useReduxContext() {
  function createStoreHook (line 1123) | function createStoreHook(context) {
  function createDispatchHook (line 1165) | function createDispatchHook(context) {
  function useSelectorWithStoreAndSubscription (line 1210) | function useSelectorWithStoreAndSubscription(selector, equalityFn, store...
  function createSelectorHook (line 1297) | function createSelectorHook(context) {
  function createThunkMiddleware (line 1373) | function createThunkMiddleware(extraArgument) {
  function imgFromUrl (line 1549) | function imgFromUrl(url) {
  function downloadURI (line 1634) | function downloadURI(uri, name) {
  function merge (line 1657) | function merge(target, source) {
  function segment (line 1671) | function segment(min, max, value, newValues) {
  function shuffle (line 1682) | function shuffle(array) {
  function sort (line 1698) | function sort(array, iteratee) {
  function moveSelected (line 1710) | function moveSelected(arr, isSelected, offset) {
  function spliceIn (line 1728) | function spliceIn(original, start, newValues) {
  function replaceAtIndex (line 1733) | function replaceAtIndex(arr, index, newValue) {
  function debounce (line 1736) | function debounce(func, delay) {
  function throttle (line 1751) | function throttle(func, delay) {
  function uniqueId (line 1765) | function uniqueId() {
  function objectForEach (line 1768) | function objectForEach(obj, cb) {
  function objectMap (line 1771) | function objectMap(obj, cb) {
  function objectFilter (line 1776) | function objectFilter(obj, predicate) {
  function findLastIndex (line 1802) | function findLastIndex(arr, cb) {
  function getWindowSize (line 1810) | function getWindowSize() {
  function getScreenSize (line 1817) | function getScreenSize() {
  function weakMapMemoize (line 1823) | function weakMapMemoize(func) {
  function ownKeys (line 1834) | function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnProper...
  function _objectSpread (line 1835) | function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) {...
  function toggleSetMembership (line 1844) | function toggleSetMembership(set, value) {
  function objectWithoutPropertiesLoose_objectWithoutPropertiesLoose (line 1956) | function objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(sourc...
  function _objectWithoutProperties (line 1970) | function _objectWithoutProperties(source, excluded) {
  function windows_ownKeys (line 1989) | function windows_ownKeys(e, r) { var t = Object.keys(e); if (Object.getO...
  function windows_objectSpread (line 1990) | function windows_objectSpread(e) { for (var r = 1; r < arguments.length;...
  function getSerializedState (line 2180) | function getSerializedState(state) {
  function media_ownKeys (line 2199) | function media_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwn...
  function media_objectSpread (line 2200) | function media_objectSpread(e) { for (var r = 1; r < arguments.length; r...
  function media_getSerializedState (line 2266) | function media_getSerializedState(state) {
  function display_ownKeys (line 2287) | function display_ownKeys(e, r) { var t = Object.keys(e); if (Object.getO...
  function display_objectSpread (line 2288) | function display_objectSpread(e) { for (var r = 1; r < arguments.length;...
  function userInput_ownKeys (line 2496) | function userInput_ownKeys(e, r) { var t = Object.keys(e); if (Object.ge...
  function userInput_objectSpread (line 2497) | function userInput_objectSpread(e) { for (var r = 1; r < arguments.lengt...
  function equalizer_ownKeys (line 2541) | function equalizer_ownKeys(e, r) { var t = Object.keys(e); if (Object.ge...
  function equalizer_objectSpread (line 2542) | function equalizer_objectSpread(e) { for (var r = 1; r < arguments.lengt...
  function migrateSliderValues (line 2561) | function migrateSliderValues(sliders) {
  function equalizer_getSerializedState (line 2607) | function equalizer_getSerializedState(state) {
  function network_ownKeys (line 2613) | function network_ownKeys(e, r) { var t = Object.keys(e); if (Object.getO...
  function network_objectSpread (line 2614) | function network_objectSpread(e) { for (var r = 1; r < arguments.length;...
  function settings_ownKeys (line 2635) | function settings_ownKeys(e, r) { var t = Object.keys(e); if (Object.get...
  function settings_objectSpread (line 2636) | function settings_objectSpread(e) { for (var r = 1; r < arguments.length...
  function genMediaTags (line 2659) | function genMediaTags(file, musicMetadata) {
  function genMediaDuration (line 2672) | function genMediaDuration(url) {
  function genArrayBufferFromFileReference (line 2693) | async function genArrayBufferFromFileReference(fileReference) {
  function genStringFromFileReference (line 2704) | async function genStringFromFileReference(fileReference) {
  function promptForFileReferences (line 2714) | async function promptForFileReferences({
  function urlIsBlobUrl (line 2749) | function urlIsBlobUrl(url) {
  function curUrlFromByteArray (line 2752) | function curUrlFromByteArray(arr) {
  function filenameFromUrl (line 2758) | function filenameFromUrl(url) {
  function tracks_ownKeys (line 2806) | function tracks_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOw...
  function tracks_objectSpread (line 2807) | function tracks_objectSpread(e) { for (var r = 1; r < arguments.length; ...
  function milkdrop_ownKeys (line 2929) | function milkdrop_ownKeys(e, r) { var t = Object.keys(e); if (Object.get...
  function milkdrop_objectSpread (line 2930) | function milkdrop_objectSpread(e) { for (var r = 1; r < arguments.length...
  function playlistHtml_ownKeys (line 3045) | function playlistHtml_ownKeys(e, r) { var t = Object.keys(e); if (Object...
  function playlistHtml_objectSpread (line 3046) | function playlistHtml_objectSpread(e) { for (var r = 1; r < arguments.le...
  function getPositionDiff (line 3252) | function getPositionDiff(graph, sizeDiff) {
  function generateGraph (line 3307) | function generateGraph(windows) {
  function selectors_ownKeys (line 3362) | function selectors_ownKeys(e, r) { var t = Object.keys(e); if (Object.ge...
  function selectors_objectSpread (line 3363) | function selectors_objectSpread(e) { for (var r = 1; r < arguments.lengt...
  function getAllTracksAreVisible (line 3528) | function getAllTracksAreVisible(state) {
  function getWPixelSize (line 3594) | function getWPixelSize(w, doubled) {
  function getFocusedWindow (line 3609) | function getFocusedWindow(state) {
  function getWindowPosition (line 3612) | function getWindowPosition(state) {
  function getPositionsAreRelative (line 3615) | function getPositionsAreRelative(state) {
  function getDoubled (line 3618) | function getDoubled(state) {
  function getLlamaMode (line 3621) | function getLlamaMode(state) {
  function getZIndex (line 3624) | function getZIndex(state) {
  function getSkinColors (line 3654) | function getSkinColors(state) {
  function getSerlializedState (line 3677) | function getSerlializedState(state) {
  function getEqualizerEnabled (line 3686) | function getEqualizerEnabled(state) {
  function getEqualizerAuto (line 3689) | function getEqualizerAuto(state) {
  function getBrowserWindowSize (line 3692) | function getBrowserWindowSize(state) {
  function getDebugData (line 3759) | function getDebugData(state) {
  function getMilkdropMessage (line 3769) | function getMilkdropMessage(state) {
  function getMilkdropWindowEnabled (line 3772) | function getMilkdropWindowEnabled(state) {
  function getMilkdropDesktopEnabled (line 3775) | function getMilkdropDesktopEnabled(state) {
  function getMilkdropFullscreenEnabled (line 3778) | function getMilkdropFullscreenEnabled(state) {
  function getMilkdropLockEnabled (line 3781) | function getMilkdropLockEnabled(state) {
  function getPresets (line 3784) | function getPresets(state) {
  function getButterchurn (line 3787) | function getButterchurn(state) {
  function getPresetTransitionType (line 3790) | function getPresetTransitionType(state) {
  function getCurrentPresetIndex (line 3793) | function getCurrentPresetIndex(state) {
  function getCurrentPreset (line 3796) | function getCurrentPreset(state) {
  function getPresetNames (line 3807) | function getPresetNames(state) {
  function getPresetOverlayOpen (line 3810) | function getPresetOverlayOpen(state) {
  function getPresetsAreCycling (line 3813) | function getPresetsAreCycling(state) {
  function getRandomizePresets (line 3816) | function getRandomizePresets(state) {
  function getClosed (line 3819) | function getClosed(state) {
  function getSkinImages (line 3822) | function getSkinImages(state) {
  function getSkinCursors (line 3825) | function getSkinCursors(state) {
  function getSkinRegion (line 3828) | function getSkinRegion(state) {
  function getSkinLetterWidths (line 3831) | function getSkinLetterWidths(state) {
  function getPreampLineUrl (line 3834) | function getPreampLineUrl(state) {
  function getLineColorsUrl (line 3837) | function getLineColorsUrl(state) {
  function getDummyVizData (line 3852) | function getDummyVizData(state) {
  function getMarqueeStep (line 3855) | function getMarqueeStep(state) {
  function getNetworkConnected (line 3858) | function getNetworkConnected(state) {
  function getTimeMode (line 3861) | function getTimeMode(state) {
  function getLoading (line 3864) | function getLoading(state) {
  function getWorking (line 3867) | function getWorking(state) {
  function getAvaliableSkins (line 3870) | function getAvaliableSkins(state) {
  function snapUtils_ownKeys (line 3875) | function snapUtils_ownKeys(e, r) { var t = Object.keys(e); if (Object.ge...
  function snapUtils_objectSpread (line 3876) | function snapUtils_objectSpread(e) { for (var r = 1; r < arguments.lengt...
  function traceConnection (line 4013) | function traceConnection(areConnected) {
  function actionCreators_windows_ownKeys (line 4045) | function actionCreators_windows_ownKeys(e, r) { var t = Object.keys(e); ...
  function actionCreators_windows_objectSpread (line 4046) | function actionCreators_windows_objectSpread(e) { for (var r = 1; r < ar...
  function withWindowGraphIntegrity (line 4058) | function withWindowGraphIntegrity(action) {
  function windows_toggleDoubleSizeMode (line 4080) | function windows_toggleDoubleSizeMode() {
  function toggleLlamaMode (line 4085) | function toggleLlamaMode() {
  function windows_toggleEqualizerShadeMode (line 4090) | function windows_toggleEqualizerShadeMode() {
  function windows_toggleMainWindowShadeMode (line 4096) | function windows_toggleMainWindowShadeMode() {
  function togglePlaylistShadeMode (line 4102) | function togglePlaylistShadeMode() {
  function windows_closeWindow (line 4108) | function windows_closeWindow(windowId) {
  function hideWindow (line 4114) | function hideWindow(windowId) {
  function showWindow (line 4121) | function showWindow(windowId) {
  function windows_setFocusedWindow (line 4128) | function windows_setFocusedWindow(window) {
  function windows_setWindowSize (line 4134) | function windows_setWindowSize(windowId, size) {
  function windows_toggleWindow (line 4141) | function windows_toggleWindow(windowId) {
  function windows_updateWindowPositions (line 4147) | function windows_updateWindowPositions(positions, absolute) {
  function centerWindowsInContainer (line 4154) | function centerWindowsInContainer(container) {
  function windows_centerWindowsInView (line 4175) | function windows_centerWindowsInView() {
  function centerWindows (line 4183) | function centerWindows(box) {
  function windows_browserWindowSizeChanged (line 4219) | function windows_browserWindowSizeChanged(size) {
  function resetWindowSizes (line 4227) | function resetWindowSizes() {
  function stackWindows (line 4232) | function stackWindows() {
  function ensureWindowsAreOnScreen (line 4237) | function ensureWindowsAreOnScreen() {
  function playTrack (line 4297) | function playTrack(id) {
  function media_playTrackNow (line 4314) | function media_playTrackNow(id) {
  function media_play (line 4320) | function media_play() {
  function media_pause (line 4332) | function media_pause() {
  function media_stop (line 4348) | function media_stop() {
  function media_nextN (line 4353) | function media_nextN(n) {
  function media_next (line 4365) | function media_next() {
  function media_previous (line 4368) | function media_previous() {
  function seekToTime (line 4371) | function seekToTime(seconds) {
  function media_seekForward (line 4384) | function media_seekForward(seconds) {
  function media_seekBackward (line 4390) | function media_seekBackward(seconds) {
  function media_setVolume (line 4393) | function media_setVolume(volume) {
  function adjustVolume (line 4399) | function adjustVolume(volumeDiff) {
  function media_scrollVolume (line 4405) | function media_scrollVolume(e) {
  function media_setBalance (line 4413) | function media_setBalance(balance) {
  function media_toggleRepeat (line 4424) | function media_toggleRepeat() {
  function media_toggleShuffle (line 4429) | function media_toggleShuffle() {
  function media_toggleTimeMode (line 4434) | function media_toggleTimeMode() {
  function _snapBandValue (line 4445) | function _snapBandValue(value) {
  function setEqBand (line 4452) | function setEqBand(band, value) {
  function _setEqTo (line 4459) | function _setEqTo(value) {
  function equalizer_setEqToMax (line 4470) | function equalizer_setEqToMax() {
  function equalizer_setEqToMid (line 4473) | function equalizer_setEqToMid() {
  function equalizer_setEqToMin (line 4476) | function equalizer_setEqToMin() {
  function setPreamp (line 4479) | function setPreamp(value) {
  function equalizer_toggleEq (line 4486) | function equalizer_toggleEq() {
  function toggleEqAuto (line 4499) | function toggleEqAuto() {
  function pointPairs (line 5983) | function pointPairs(arr) {
  function regionParser (line 5990) | function regionParser(regionStr) {
  function skinParserUtils_ownKeys (line 6030) | function skinParserUtils_ownKeys(e, r) { var t = Object.keys(e); if (Obj...
  function skinParserUtils_objectSpread (line 6031) | function skinParserUtils_objectSpread(e) { for (var r = 1; r < arguments...
  function getFilenameRegex (line 6040) | function getFilenameRegex(base, ext) {
  function getFileFromZip (line 6043) | async function getFileFromZip(zip, fileName, ext, mode) {
  function fallbackGetImgFromBlob (line 6074) | function fallbackGetImgFromBlob(blob) {
  function getImgFromBlob (line 6077) | async function getImgFromBlob(blob) {
  function getSpriteUrisFromImg (line 6091) | function getSpriteUrisFromImg(img, sprites) {
  function getImgFromFilename (line 6107) | async function getImgFromFilename(zip, fileName) {
  function getSpriteUrisFromFilename (line 6124) | async function getSpriteUrisFromFilename(zip, fileName) {
  function arrayStartsWith (line 6134) | function arrayStartsWith(arr, matcher) {
  function getCursorFromFilename (line 6137) | async function getCursorFromFilename(zip, fileName) {
  function getPlaylistStyle (line 6159) | async function getPlaylistStyle(zip) {
  function getGenExColors (line 6189) | async function getGenExColors(zip) {
  function skinParser_ownKeys (line 6259) | function skinParser_ownKeys(e, r) { var t = Object.keys(e); if (Object.g...
  function skinParser_objectSpread (line 6260) | function skinParser_objectSpread(e) { for (var r = 1; r < arguments.leng...
  function genVizColors (line 6286) | async function genVizColors(zip) {
  function genImages (line 6290) | async function genImages(zip) {
  function genCursors (line 6295) | async function genCursors(zip) {
  function genRegion (line 6301) | async function genRegion(zip) {
  function genGenTextSprites (line 6305) | async function genGenTextSprites(zip) {
  function skinParser (line 6347) | async function skinParser(zipFileBuffer, JSZip) {
  class LoadQueue (line 6372) | class LoadQueue {
    method constructor (line 6373) | constructor({
    method push (line 6384) | push(task, priority) {
    method _run (line 6402) | _run() {
  function cropPlaylist (line 6423) | function cropPlaylist() {
  function removeSelectedTracks (line 6443) | function removeSelectedTracks() {
  function playlist_removeAllTracks (line 6453) | function playlist_removeAllTracks() {
  function playlist_reverseList (line 6464) | function playlist_reverseList() {
  function playlist_randomizeList (line 6469) | function playlist_randomizeList() {
  function playlist_sortListByTitle (line 6474) | function playlist_sortListByTitle() {
  function playlist_setPlaylistScrollPosition (line 6485) | function playlist_setPlaylistScrollPosition(position) {
  function scrollNTracks (line 6491) | function scrollNTracks(n) {
  function playlist_scrollPlaylistByDelta (line 6503) | function playlist_scrollPlaylistByDelta(e) {
  function playlist_scrollUpFourTracks (line 6518) | function playlist_scrollUpFourTracks() {
  function playlist_scrollDownFourTracks (line 6521) | function playlist_scrollDownFourTracks() {
  function playlist_dragSelected (line 6524) | function playlist_dragSelected(offset) {
  function invertSelection (line 6550) | function invertSelection() {
  function playlist_selectZero (line 6555) | function playlist_selectZero() {
  function selectAll (line 6560) | function selectAll() {
  function addTracksFromReferences (line 6588) | function addTracksFromReferences(fileReferences, loadStyle, atIndex) {
  function loadFilesFromReferences (line 6597) | function loadFilesFromReferences(fileReferences, loadStyle = LOAD_STYLE....
  function setSkinFromBlob (line 6614) | function setSkinFromBlob(blob) {
  function setSkinFromClient (line 6662) | function setSkinFromClient(data) {
  function setSkinFromUrl (line 6708) | function setSkinFromUrl(url) {
  function _openFileDialog (line 6732) | function _openFileDialog(accept, expectedType) {
  function files_openEqfFileDialog (line 6747) | function files_openEqfFileDialog() {
  function files_openMediaFileDialog (line 6750) | function files_openMediaFileDialog() {
  function files_openSkinFileDialog (line 6753) | function files_openSkinFileDialog() {
  function fetchMediaDuration (line 6756) | function fetchMediaDuration(url, id) {
  function files_loadMedia (line 6775) | function files_loadMedia(e, loadStyle = LOAD_STYLE.NONE, atIndex = 0) {
  function files_loadMediaFiles (line 6792) | function files_loadMediaFiles(tracks, loadStyle = LOAD_STYLE.NONE, atInd...
  function loadMediaFile (line 6805) | function loadMediaFile(track, priority = LOAD_STYLE.NONE, atIndex = 0) {
  function queueFetchingMediaTags (line 6883) | function queueFetchingMediaTags(id) {
  function fetchMediaTags (line 6892) | function fetchMediaTags(file, id) {
  function setEqFromFileReference (line 6941) | function setEqFromFileReference(fileReference) {
  function setEqFromClient (line 6949) | function setEqFromClient(data) {
  function files_setEqFromObject (line 6956) | function files_setEqFromObject(preset) {
  function files_downloadPreset (line 6965) | function files_downloadPreset() {
  function files_downloadHtmlPlaylist (line 6981) | function files_downloadHtmlPlaylist() {
  function files_addFilesAtIndex (line 6999) | function files_addFilesAtIndex(nextIndex) {
  function files_addDirAtIndex (line 7005) | function files_addDirAtIndex(nextIndex) {
  function files_addFilesFromUrl (line 7017) | function files_addFilesFromUrl(atIndex = 0) {
  function files_addFilesFromList (line 7032) | function files_addFilesFromList() {
  function files_saveFilesToList (line 7048) | function files_saveFilesToList() {
  function files_droppedFiles (line 7059) | function files_droppedFiles(e, windowId) {
  function normalizePresetTypes (line 7076) | function normalizePresetTypes(preset) {
  function initializePresets (line 7104) | function initializePresets(presetOptions) {
  function loadPresets (line 7121) | function loadPresets(presets) {
  function milkdrop_appendPresetFileList (line 7136) | function milkdrop_appendPresetFileList(fileList) {
  function milkdrop_selectNextPreset (line 7144) | function milkdrop_selectNextPreset(transitionType = TransitionType.DEFAU...
  function milkdrop_selectPreset (line 7158) | function milkdrop_selectPreset(presetKey, transitionType = TransitionTyp...
  function milkdrop_selectPreviousPreset (line 7170) | function milkdrop_selectPreviousPreset(transitionType = TransitionType.D...
  function selectRandomPreset (line 7184) | function selectRandomPreset(transitionType = TransitionType.DEFAULT) {
  function milkdrop_requestPresetAtIndex (line 7195) | function milkdrop_requestPresetAtIndex(index, transitionType, addToHisto...
  function milkdrop_handlePresetDrop (line 7233) | function milkdrop_handlePresetDrop(e) {
  function toggleRandomizePresets (line 7236) | function toggleRandomizePresets() {
  function togglePresetCycling (line 7241) | function togglePresetCycling() {
  function milkdrop_scheduleMilkdropMessage (line 7246) | function milkdrop_scheduleMilkdropMessage(message) {
  function actionCreators_close (line 7266) | function actionCreators_close() {
  function actionCreators_open (line 7288) | function actionCreators_open() {
  function actionCreators_toggleVisualizerStyle (line 7293) | function actionCreators_toggleVisualizerStyle() {
  function actionCreators_minimize (line 7298) | function actionCreators_minimize() {
  function actionCreators_setFocus (line 7303) | function actionCreators_setFocus(input) {
  function actionCreators_unsetFocus (line 7309) | function actionCreators_unsetFocus() {
  function actionCreators_focusBand (line 7314) | function actionCreators_focusBand(band) {
  function loadSerializedState (line 7321) | function loadSerializedState(
  function actionCreators_loadDefaultSkin (line 7332) | function actionCreators_loadDefaultSkin() {
  function toggleMilkdropDesktop (line 7337) | function toggleMilkdropDesktop() {
  function setMilkdropFullscreen (line 7354) | function setMilkdropFullscreen(enabled) {
  function toggleMilkdropFullscreen (line 7363) | function toggleMilkdropFullscreen() {
  function setMilkdropLock (line 7369) | function setMilkdropLock(enabled) {
  function toggleMilkdropLock (line 7377) | function toggleMilkdropLock() {
  function actionCreators_togglePresetOverlay (line 7383) | function actionCreators_togglePresetOverlay() {
  function actionCreators_stepMarquee (line 7393) | function actionCreators_stepMarquee() {
  function store (line 7548) | function store(media, actionEmitter, customMiddlewares = [], stateOverri...
  method exitFullscreen (line 7613) | get exitFullscreen() { return fscreen_esm_document[vendor[key.exitFullsc...
  method fullscreenPseudoClass (line 7614) | get fullscreenPseudoClass() { return ":" + vendor[key.fullscreen]; }
  method fullscreenEnabled (line 7617) | get fullscreenEnabled() { return Boolean(fscreen_esm_document[vendor[key...
  method fullscreenEnabled (line 7618) | set fullscreenEnabled(val) { }
  method fullscreenElement (line 7619) | get fullscreenElement() { return fscreen_esm_document[vendor[key.fullscr...
  method fullscreenElement (line 7620) | set fullscreenElement(val) { }
  method onfullscreenchange (line 7621) | get onfullscreenchange() { return fscreen_esm_document[("on" + vendor[ke...
  method onfullscreenchange (line 7622) | set onfullscreenchange(handler) { return fscreen_esm_document[("on" + ve...
  method onfullscreenerror (line 7623) | get onfullscreenerror() { return fscreen_esm_document[("on" + vendor[key...
  method onfullscreenerror (line 7624) | set onfullscreenerror(handler) { return fscreen_esm_document[("on" + ven...
  function leaveFullScreen (line 7635) | function leaveFullScreen() {
  function enterFullScreen (line 7640) | function enterFullScreen(node) {
  function FullScreen (line 7645) | function FullScreen(props) {
  function useUnmountedRef (line 7686) | function useUnmountedRef() {
  function usePromiseValueOrNull (line 7695) | function usePromiseValueOrNull(propValue) {
  function useScreenSize (line 7711) | function useScreenSize() {
  function useWindowSize (line 7716) | function useWindowSize() {
  function useCursorPositionRef (line 7749) | function useCursorPositionRef() {
  function useIsHovered (line 7757) | function useIsHovered() {
  function useOnClickAway (line 7786) | function useOnClickAway(ref, callback) {
  function useTypedSelector (line 7818) | function useTypedSelector(selector) {
  function useActionCreator (line 7821) | function useActionCreator(actionCreator) {
  function useTypedDispatch (line 7825) | function useTypedDispatch() {
  function ResizeTarget_ownKeys (line 7837) | function ResizeTarget_ownKeys(e, r) { var t = Object.keys(e); if (Object...
  function ResizeTarget_objectSpread (line 7838) | function ResizeTarget_objectSpread(e) { for (var r = 1; r < arguments.le...
  function ResizeTarget (line 7845) | function ResizeTarget(props) {
  function FocusTarget (line 7908) | function FocusTarget({
  function Visualizer (line 8112) | function Visualizer({
  function PresetOverlay_ownKeys (line 8273) | function PresetOverlay_ownKeys(e, r) { var t = Object.keys(e); if (Objec...
  function PresetOverlay_objectSpread (line 8274) | function PresetOverlay_objectSpread(e) { for (var r = 1; r < arguments.l...
  function presetIndexFromListIndex (line 8306) | function presetIndexFromListIndex(listIndex) {
  function listIndexFromPresetIndex (line 8309) | function listIndexFromPresetIndex(listIndex) {
  function PresetOverlay (line 8312) | function PresetOverlay({
  function getRangeCenteredOnIndex (line 8435) | function getRangeCenteredOnIndex(length, maxRangeSize, indexToCenter) {
  function DropTarget_ownKeys (line 8448) | function DropTarget_ownKeys(e, r) { var t = Object.keys(e); if (Object.g...
  function DropTarget_objectSpread (line 8449) | function DropTarget_objectSpread(e) { for (var r = 1; r < arguments.leng...
  function supress (line 8454) | function supress(e) {
  function ContextMenu_ownKeys (line 8502) | function ContextMenu_ownKeys(e, r) { var t = Object.keys(e); if (Object....
  function ContextMenu_objectSpread (line 8503) | function ContextMenu_objectSpread(e) { for (var r = 1; r < arguments.len...
  function ContextMenu (line 8571) | function ContextMenu({
  function ContextMenuWrapper_ownKeys (line 8600) | function ContextMenuWrapper_ownKeys(e, r) { var t = Object.keys(e); if (...
  function ContextMenuWrapper_objectSpread (line 8601) | function ContextMenuWrapper_objectSpread(e) { for (var r = 1; r < argume...
  function ContextMenuWraper (line 8613) | function ContextMenuWraper(_ref) {
  function MilkdropWindow_ownKeys (line 8747) | function MilkdropWindow_ownKeys(e, r) { var t = Object.keys(e); if (Obje...
  function MilkdropWindow_objectSpread (line 8748) | function MilkdropWindow_objectSpread(e) { for (var r = 1; r < arguments....
  function useKeyHandler (line 8766) | function useKeyHandler() {
  function Milkdrop (line 8814) | function Milkdrop({
  function WindowManager_ownKeys (line 9356) | function WindowManager_ownKeys(e, r) { var t = Object.keys(e); if (Objec...
  function WindowManager_objectSpread (line 9357) | function WindowManager_objectSpread(e) { for (var r = 1; r < arguments.l...
  function useHandleMouseDown (line 9375) | function useHandleMouseDown(propsWindows) {
  function WindowManager (line 9465) | function WindowManager({
  function Character_ownKeys (line 9560) | function Character_ownKeys(e, r) { var t = Object.keys(e); if (Object.ge...
  function Character_objectSpread (line 9561) | function Character_objectSpread(e) { for (var r = 1; r < arguments.lengt...
  function ClickedDiv_ownKeys (line 9656) | function ClickedDiv_ownKeys(e, r) { var t = Object.keys(e); if (Object.g...
  function ClickedDiv_objectSpread (line 9657) | function ClickedDiv_objectSpread(e) { for (var r = 1; r < arguments.leng...
  function ClickedDiv (line 9667) | function ClickedDiv(props) {
  function ContextMenuTarget_ownKeys (line 9687) | function ContextMenuTarget_ownKeys(e, r) { var t = Object.keys(e); if (O...
  function ContextMenuTarget_objectSpread (line 9688) | function ContextMenuTarget_objectSpread(e) { for (var r = 1; r < argumen...
  function getNodeOffset (line 9693) | function getNodeOffset(node) {
  function ContextMenuTarget (line 9714) | function ContextMenuTarget(props) {
  function sliceAverage (line 9780) | function sliceAverage(dataArray, sliceWidth, sliceNumber) {
  function usePaintOscilloscopeFrame (line 9789) | function usePaintOscilloscopeFrame({
  function octaveBucketsForBufferLength (line 9846) | function octaveBucketsForBufferLength(bufferLength) {
  function preRenderBar (line 9863) | function preRenderBar(height, colors, renderHeight) {
  function usePaintBar (line 9898) | function usePaintBar({
  function usePaintBarFrame (line 9928) | function usePaintBarFrame({
  function preRenderBg (line 9983) | function preRenderBg(width, height, bgColor, fgColor, windowShade) {
  function Visualizer_Visualizer (line 10005) | function Visualizer_Visualizer({
  function Balance (line 10144) | function Balance({
  function setFocusDouble (line 10218) | function setFocusDouble() {
  function mouseUp (line 10221) | function mouseUp() {
  function toggleEqualizer (line 10286) | function toggleEqualizer() {
  function togglePlaylist (line 10309) | function togglePlaylist() {
  function useStepper (line 10405) | function useStepper({
  function useDragX (line 10432) | function useDragX() {
  function usePosition (line 10539) | function usePosition() {
  function Volume (line 10731) | function Volume({
  function loadMediaAndPlay (line 10816) | function loadMediaAndPlay(e) {
  function PlaylistResizeTarget (line 10910) | function PlaylistResizeTarget({
  function PlaylistShade (line 10938) | function PlaylistShade() {
  function PlaylistMenuEntry (line 11003) | function PlaylistMenuEntry({
  function PlaylistMenu (line 11026) | function PlaylistMenu(props) {
  function SelectionMenu (line 11120) | function SelectionMenu() {
  function SortContextMenu (line 11148) | function SortContextMenu() {
  function ListMenu (line 11221) | function ListMenu() {
  function rightPad (line 11249) | function rightPad(str, len, fillChar) {
  function TrackCell (line 11317) | function TrackCell({
  function getNumberLength (line 11397) | function getNumberLength(number) {
  function TrackList (line 11400) | function TrackList() {
  function VerticalSlider (line 11491) | function VerticalSlider({
  function PlaylistScrollBar (line 11585) | function PlaylistScrollBar() {
  function _maxTrackIndex (line 11633) | function _maxTrackIndex(state) {
  function PlaylistWindow_PlaylistWindow (line 11636) | function PlaylistWindow_PlaylistWindow({
  function Band (line 11791) | function Band({
  function spline (line 11879) | function spline(xs, ys) {
  function getNaturalKs (line 11894) | function getNaturalKs(xs, ys) {
  function solve (line 11913) | function solve(matrix, ks) {
  function zerosMatrix (line 11944) | function zerosMatrix(rows, columns) {
  function swapRows (line 11954) | function swapRows(m, k, l) {
  function EqGraph (line 11969) | function EqGraph() {
  function useColorPattern (line 12000) | function useColorPattern(canvasCtx) {
  function drawEqLine (line 12010) | function drawEqLine({
  function EqTitleButtons (line 12091) | function EqTitleButtons() {
  function Css (line 12478) | function Css({
  function ClipPaths (line 12500) | function ClipPaths({
  function normalizeCursorSelector (line 12560) | function normalizeCursorSelector(selector) {
  function Skin (line 12630) | function Skin() {
  function App (line 12669) | function App({
  function bindHotkeys (line 12773) | function bindHotkeys(dispatch) {
  class Emitter (line 12944) | class Emitter {
    method constructor (line 12945) | constructor() {
    method on (line 12949) | on(event, callback) {
    method trigger (line 12958) | trigger(event, ...args) {
    method dispose (line 12964) | dispose() {
  function StereoBalanceNode (line 12972) | function StereoBalanceNode(context, options = {
  class ElementSource (line 13058) | class ElementSource {
    method on (line 13059) | on(eventType, cb) {
    method constructor (line 13062) | constructor(context, destination) {
    method _setStalled (line 13134) | _setStalled(stalled) {
    method disconnect (line 13138) | disconnect() {
    method loadUrl (line 13144) | async loadUrl(url) {
    method play (line 13153) | async play() {
    method pause (line 13165) | pause() {
    method stop (line 13169) | stop() {
    method seekToTime (line 13174) | seekToTime(time) {
    method getStalled (line 13184) | getStalled() {
    method getStatus (line 13187) | getStatus() {
    method getDuration (line 13190) | getDuration() {
    method getTimeElapsed (line 13199) | getTimeElapsed() {
    method _setStatus (line 13202) | _setStatus(status) {
    method dispose (line 13206) | dispose() {
  class Media (line 13222) | class Media {
    method constructor (line 13223) | constructor() {
    method getAnalyser (line 13340) | getAnalyser() {
    method duration (line 13345) | duration() {
    method timeElapsed (line 13348) | timeElapsed() {
    method timeRemaining (line 13351) | timeRemaining() {
    method percentComplete (line 13354) | percentComplete() {
    method play (line 13359) | async play() {
    method pause (line 13362) | pause() {
    method stop (line 13365) | stop() {
    method seekToPercentComplete (line 13370) | seekToPercentComplete(percent) {
    method setVolume (line 13376) | setVolume(volume) {
    method setPreamp (line 13384) | setPreamp(value) {
    method setBalance (line 13390) | setBalance(balance) {
    method setEqBand (line 13394) | setEqBand(band, value) {
    method disableEq (line 13398) | disableEq() {
    method enableEq (line 13402) | enableEq() {
    method on (line 13408) | on(event, callback) {
    method seekToTime (line 13411) | seekToTime(time) {
    method loadFromUrl (line 13416) | async loadFromUrl(url, autoPlay) {
    method dispose (line 13425) | dispose() {
  class Disposable (line 13434) | class Disposable {
    method constructor (line 13435) | constructor() {
    method add (line 13440) | add(...teardowns) {
    method dispose (line 13446) | dispose() {
  class Winamp (line 13494) | class Winamp {
    method browserIsSupported (line 13496) | static browserIsSupported() {
    method constructor (line 13504) | constructor(options) {
    method play (line 13637) | play() {
    method pause (line 13640) | pause() {
    method stop (line 13643) | stop() {
    method seekBackward (line 13646) | seekBackward(seconds) {
    method seekForward (line 13649) | seekForward(seconds) {
    method seekToTime (line 13652) | seekToTime(seconds) {
    method nextTrack (line 13655) | nextTrack() {
    method centerWindowsInView (line 13658) | centerWindowsInView() {
    method previousTrack (line 13661) | previousTrack() {
    method _bufferTracks (line 13664) | _bufferTracks(tracks) {
    method appendTracks (line 13670) | appendTracks(tracks) {
    method setTracksToPlay (line 13676) | setTracksToPlay(tracks) {
    method getMediaStatus (line 13679) | getMediaStatus() {
    method onWillClose (line 13682) | onWillClose(cb) {
    method onClose (line 13687) | onClose(cb) {
    method close (line 13690) | close() {
    method reopen (line 13693) | reopen() {
    method onTrackDidChange (line 13696) | onTrackDidChange(cb) {
    method onMinimize (line 13709) | onMinimize(cb) {
    method setSkinFromUrl (line 13712) | setSkinFromUrl(url) {
    method setSkinFromClient (line 13715) | setSkinFromClient(data) {
    method setEqFromClient (line 13718) | setEqFromClient(data) {
    method skinIsLoaded (line 13721) | async skinIsLoaded() {
    method __loadSerializedState (line 13734) | __loadSerializedState(serializedState) {
    method __getSerializedState (line 13737) | __getSerializedState() {
    method __onStateChange (line 13740) | __onStateChange(cb) {
    method renderWhenReady (line 13744) | async renderWhenReady(node) {
    method dispose (line 13766) | dispose() {
  function t (line 13781) | function t(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{...
  function a (line 13781) | function a(a,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.en...
  function _ (line 13781) | function _(a){return a&&a.__esModule?a:{default:a}}
  function a (line 13781) | function a(){(0,r.default)(this,a)}
  function __nested_webpack_require_562__ (line 13798) | function __nested_webpack_require_562__(moduleId) {
  function _classCallCheck (line 13963) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 13965) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 13967) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function AudioLevels (line 13972) | function AudioLevels(audio) {
  function _classCallCheck (line 14117) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 14119) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 14121) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function AudioProcessor (line 14128) | function AudioProcessor(context) {
  function _classCallCheck (line 14246) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 14248) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 14250) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function FFT (line 14255) | function FFT(samplesIn, samplesOut) {
  function _classCallCheck (line 14750) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 14752) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 14754) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function PresetEquationRunner (line 14761) | function PresetEquationRunner(preset, globalVars, opts) {
  function _classCallCheck (line 14961) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 14963) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 14965) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function ImageTextures (line 14970) | function ImageTextures(gl) {
  function _classCallCheck (line 15077) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 15079) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 15081) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function Butterchurn (line 15090) | function Butterchurn() {
  function _classCallCheck (line 15118) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 15120) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 15122) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function Noise (line 15127) | function Noise(gl) {
  function isFiniteNumber (line 15466) | function isFiniteNumber(num) {
  function _classCallCheck (line 15574) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 15576) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 15578) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function BlendPattern (line 15583) | function BlendPattern(opts) {
  function _classCallCheck (line 15800) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 15802) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 15804) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function MotionVectors (line 15811) | function MotionVectors(gl, opts) {
  function _classCallCheck (line 16008) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 16010) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 16012) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function Renderer (line 16037) | function Renderer(gl, audio, opts) {
  function _classCallCheck (line 16874) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 16876) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 16878) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function BlurShader (line 16886) | function BlurShader(blurLevel, blurRatios, gl) {
  function _classCallCheck (line 16994) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 16996) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 16998) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function BlurHorizontal (line 17005) | function BlurHorizontal(gl, blurLevel) {
  function _classCallCheck (line 17117) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 17119) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 17121) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function BlurVertical (line 17128) | function BlurVertical(gl, blurLevel) {
  function _classCallCheck (line 17209) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 17211) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 17213) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function CompShader (line 17220) | function CompShader(gl, noise, image) {
  function _classCallCheck (line 17688) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 17690) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 17692) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function OutputShader (line 17699) | function OutputShader(gl, opts) {
  function _classCallCheck (line 17809) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 17811) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 17813) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function ResampleShader (line 17820) | function ResampleShader(gl) {
  function _classCallCheck (line 17880) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 17882) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 17884) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function ShaderUtils (line 17892) | function ShaderUtils() {
  function _classCallCheck (line 17964) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 17966) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 17968) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function WarpShader (line 17975) | function WarpShader(gl, noise, image) {
  function _classCallCheck (line 18362) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 18364) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 18366) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function CustomShape (line 18374) | function CustomShape(index, gl, opts) {
  function _classCallCheck (line 18674) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 18676) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 18678) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function Border (line 18685) | function Border(gl) {
  function _classCallCheck (line 18820) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 18822) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 18824) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function CustomShape (line 18831) | function CustomShape(gl, opts) {
  function _classCallCheck (line 18915) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 18917) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 18919) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function TitleText (line 18926) | function TitleText(gl) {
  function _classCallCheck (line 19146) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 19148) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 19150) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function BasicWaveform (line 19158) | function BasicWaveform(gl) {
  function _classCallCheck (line 19771) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 19773) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 19775) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function CustomWaveform (line 19784) | function CustomWaveform(index, gl, opts) {
  function _classCallCheck (line 20040) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 20042) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 20044) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function WaveUtils (line 20049) | function WaveUtils() {
  function _toConsumableArray (line 20169) | function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _it...
  function _nonIterableSpread (line 20171) | function _nonIterableSpread() { throw new TypeError("Invalid attempt to ...
  function _iterableToArray (line 20173) | function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) ||...
  function _arrayWithoutHoles (line 20175) | function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i ...
  function _classCallCheck (line 20177) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 20179) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 20181) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function Utils (line 20186) | function Utils() {
  function _classCallCheck (line 20264) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _defineProperties (line 20266) | function _defineProperties(target, props) { for (var i = 0; i < props.le...
  function _createClass (line 20268) | function _createClass(Constructor, protoProps, staticProps) { if (protoP...
  function Visualizer (line 20276) | function Visualizer(audioContext, canvas, opts) {
  function endianness (line 20586) | function endianness(bytes, offset, start=0, end=bytes.length) {
  function swap (line 20602) | function swap(bytes, offset, index) {
  function unpack (line 20658) | function unpack(buffer, start=0, end=buffer.length) {
  function pack (line 20728) | function pack(str, buffer, index=0) {
  class IntParser (line 20796) | class IntParser {
    method constructor (line 20803) | constructor(bits, signed=false, clamp=false) {
    method pack (line 20853) | pack(buffer, num, index=0) {
    method unpack_ (line 20879) | unpack_(buffer, index=0) {
    method unpackUnsigned_ (line 20888) | unpackUnsigned_(buffer, index=0) {
    method unpackSigned_ (line 20898) | unpackSigned_(buffer, index=0) {
    method overflow_ (line 20907) | overflow_(num) {
    method overflowClamp_ (line 20919) | overflowClamp_(num) {
    method sign_ (line 20934) | sign_(num) {
  class IEEE754Buffer (line 20983) | class IEEE754Buffer {
    method constructor (line 20990) | constructor(ebits, fbits) {
    method pack (line 21036) | pack(buffer, num, index) {
    method unpack (line 21091) | unpack(buffer, index) {
    method packFloatBits_ (line 21134) | packFloatBits_(buffer, index, sign, exp, fraction) {
  function roundToEven (line 21173) | function roundToEven(n) {
  function unpackString (line 21230) | function unpackString(buffer, index=0, end=buffer.length) {
  function packString (line 21239) | function packString(str) {
  function packStringTo (line 21253) | function packStringTo(str, buffer, index=0) {
  function packArrayTo (line 21274) | function packArrayTo(values, theType, buffer, index=0, clamp=false) {
  function unpackArrayTo (line 21316) | function unpackArrayTo(
  function packTo (line 21361) | function packTo(value, theType, buffer, index=0, clamp=false) {
  function byte_data_pack (line 21378) | function byte_data_pack(value, theType, clamp=false) {
  function packArray (line 21398) | function packArray(values, theType, clamp=false) {
  function unpackArray (line 21423) | function unpackArray(
  function byte_data_unpack (line 21445) | function byte_data_unpack(buffer, theType, index=0, clamp=false) {
  function throwValueError_ (line 21459) | function throwValueError_(err, value, index) {
  function getUnpackLen_ (line 21476) | function getUnpackLen_(buffer, start, end, offset, safe) {
  function getParser_ (line 21494) | function getParser_(bits, fp, signed, clamp) {
  function validateFloatType (line 21523) | function validateFloatType(bits) {
  function validateIntType (line 21535) | function validateIntType(bits) {
  function classNames (line 21560) | function classNames() {
  function format (line 21678) | function format (obj) {
  function parse (line 21719) | function parse (string) {
  function getcontenttype (line 21790) | function getcontenttype (obj) {
  function qstring (line 21816) | function qstring (val) {
  function ContentType (line 21835) | function ContentType (type) {
  function cssWithMappingToString (line 22015) | function cssWithMappingToString(item, useSourceMap) {
  function toComment (line 22035) | function toComment(sourceMap) {
  function getStatics (line 22099) | function getStatics(component) {
  function hoistNonReactStatics (line 22115) | function hoistNonReactStatics(targetComponent, sourceComponent, blacklis...
  function u (line 22317) | function u(r,e){if(!o[r]){if(!a[r]){var t=undefined;if(!e&&t)return requ...
  function o (line 22317) | function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this...
  function h (line 22317) | function h(e,t){a.call(this,"FlateWorker/"+e),this._pako=null,this._pako...
  function A (line 22317) | function A(e,t){var r,n="";for(r=0;r<t;r++)n+=String.fromCharCode(255&e)...
  function n (line 22317) | function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8enc...
  function s (line 22317) | function s(e,t,r,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,thi...
  function n (line 22317) | function n(){if(!(this instanceof n))return new n;if(arguments.length)th...
  function f (line 22317) | function f(n){return new i.Promise(function(e,t){var r=n.decompressed.ge...
  function s (line 22317) | function s(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._...
  function n (line 22317) | function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on("data",f...
  function s (line 22317) | function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.da...
  function h (line 22317) | function h(e){return"[object RegExp]"===Object.prototype.toString.call(e)}
  function i (line 22317) | function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255...
  function i (line 22317) | function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}
  function i (line 22317) | function i(e){n.call(this,e)}
  function i (line 22317) | function i(e){n.call(this,e)}
  function i (line 22317) | function i(e){n.call(this,e)}
  function s (line 22317) | function s(e){n.call(this,"ConvertWorker to "+e),this.destType=e}
  function s (line 22317) | function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}
  function s (line 22317) | function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this...
  function s (line 22317) | function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,t...
  function n (line 22317) | function n(e){this.name=e||"default",this.streamInfo={},this.generatedEr...
  function l (line 22317) | function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._interna...
  function f (line 22317) | function f(e,t,r){var n=t;switch(t){case"blob":case"arraybuffer":n="uint...
  function a (line 22317) | function a(){n.call(this,"utf-8 decode"),this.leftOver=null}
  function l (line 22317) | function l(){n.call(this,"utf-8 encode")}
  function n (line 22317) | function n(e){return e}
  function l (line 22317) | function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);retu...
  function s (line 22317) | function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if("uint8array"===r?n=i....
  function f (line 22317) | function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}
  function r (line 22317) | function r(){}
  function h (line 22317) | function h(e){this.files=[],this.loadOptions=e}
  function l (line 22317) | function l(e,t){this.options=e,this.loadOptions=t}
  function n (line 22317) | function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comme...
  function u (line 22317) | function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r...
  function u (line 22317) | function u(){}
  function o (line 22317) | function o(e){if("function"!=typeof e)throw new TypeError("resolver must...
  function h (line 22317) | function h(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled...
  function f (line 22317) | function f(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return l.reject...
  function c (line 22317) | function c(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typ...
  function d (line 22317) | function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e))}function ...
  function p (line 22317) | function p(e,t){var r={};try{r.value=e(t),r.status="success"}catch(e){r....
  function h (line 22317) | function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l...
  function p (line 22317) | function p(e){if(!(this instanceof p))return new p(e);this.options=o.ass...
  function n (line 22317) | function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.er...
  function a (line 22317) | function a(e){if(!(this instanceof a))return new a(e);this.options=d.ass...
  function o (line 22317) | function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.er...
  function l (line 22317) | function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return Strin...
  function R (line 22317) | function R(e,t){return e.msg=n[t],t}
  function T (line 22317) | function T(e){return(e<<1)-(4<e?9:0)}
  function D (line 22317) | function D(e){for(var t=e.length;0<=--t;)e[t]=0}
  function F (line 22317) | function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0...
  function N (line 22317) | function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e....
  function U (line 22317) | function U(e,t){e.pending_buf[e.pending++]=t}
  function P (line 22317) | function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pen...
  function L (line 22317) | function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_lengt...
  function j (line 22317) | function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e...
  function Z (line 22317) | function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&...
  function W (line 22317) | function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z...
  function M (line 22317) | function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_lengt...
  function H (line 22317) | function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pen...
  function G (line 22317) | function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_t...
  function K (line 22317) | function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_s...
  function Y (line 22317) | function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,...
  function L (line 22317) | function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<...
  function s (line 22317) | function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this....
  function a (line 22317) | function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=...
  function o (line 22317) | function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.w...
  function h (line 22317) | function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1...
  function u (line 22317) | function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e...
  function j (line 22317) | function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t...
  function Z (line 22317) | function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<...
  function n (line 22317) | function n(e){for(var t=e.length;0<=--t;)e[t]=0}
  function D (line 22317) | function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_ba...
  function F (line 22317) | function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}
  function N (line 22317) | function N(e){return e<256?E[e]:E[256+(e>>>7)]}
  function U (line 22317) | function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending...
  function P (line 22317) | function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi...
  function L (line 22317) | function L(e,t,r){P(e,r[2*t],r[2*t+1])}
  function j (line 22317) | function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}
  function Z (line 22317) | function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a...
  function W (line 22317) | function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e...
  function M (line 22317) | function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e....
  function H (line 22317) | function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<...
  function G (line 22317) | function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_le...
  function K (line 22317) | function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf...
  function Y (line 22317) | function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.sta...
  function X (line 22317) | function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3)...
  function V (line 22317) | function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3)...
  function J (line 22317) | function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e...
  function f (line 22317) | function f(e){delete h[e]}
  function c (line 22317) | function c(e){if(u)setTimeout(c,0,e);else{var t=h[e];if(t){u=!0;try{!fun...
  function d (line 22317) | function d(e){e.source===r&&"string"==typeof e.data&&0===e.data.indexOf(...
  function arrayMap (line 22346) | function arrayMap(array, iteratee) {
  function baseGetTag (line 22383) | function baseGetTag(value) {
  function basePropertyOf (line 22407) | function basePropertyOf(object) {
  function baseToString (line 22441) | function baseToString(value) {
  function getRawTag (line 22579) | function getRawTag(value) {
  function objectToString (line 22624) | function objectToString(value) {
  function deburr (line 22691) | function deburr(string) {
  function isObjectLike (line 22761) | function isObjectLike(value) {
  function isSymbol (line 22796) | function isSymbol(value) {
  function apply (line 23294) | function apply(func, thisArg, args) {
  function arrayAggregator (line 23314) | function arrayAggregator(array, setter, iteratee, accumulator) {
  function arrayEach (line 23334) | function arrayEach(array, iteratee) {
  function arrayEachRight (line 23355) | function arrayEachRight(array, iteratee) {
  function arrayEvery (line 23376) | function arrayEvery(array, predicate) {
  function arrayFilter (line 23397) | function arrayFilter(array, predicate) {
  function arrayIncludes (line 23421) | function arrayIncludes(array, value) {
  function arrayIncludesWith (line 23435) | function arrayIncludesWith(array, value, comparator) {
  function arrayMap (line 23456) | function arrayMap(array, iteratee) {
  function arrayPush (line 23475) | function arrayPush(array, values) {
  function arrayReduce (line 23498) | function arrayReduce(array, iteratee, accumulator, initAccum) {
  function arrayReduceRight (line 23523) | function arrayReduceRight(array, iteratee, accumulator, initAccum) {
  function arraySome (line 23544) | function arraySome(array, predicate) {
  function asciiToArray (line 23572) | function asciiToArray(string) {
  function asciiWords (line 23583) | function asciiWords(string) {
  function baseFindKey (line 23598) | function baseFindKey(collection, predicate, eachFunc) {
  function baseFindIndex (line 23620) | function baseFindIndex(array, predicate, fromIndex, fromRight) {
  function baseIndexOf (line 23641) | function baseIndexOf(array, value, fromIndex) {
  function baseIndexOfWith (line 23657) | function baseIndexOfWith(array, value, fromIndex, comparator) {
  function baseIsNaN (line 23676) | function baseIsNaN(value) {
  function baseMean (line 23689) | function baseMean(array, iteratee) {
  function baseProperty (line 23701) | function baseProperty(key) {
  function basePropertyOf (line 23714) | function basePropertyOf(object) {
  function baseReduce (line 23733) | function baseReduce(collection, iteratee, accumulator, initAccum, eachFu...
  function baseSortBy (line 23752) | function baseSortBy(array, comparer) {
  function baseSum (line 23771) | function baseSum(array, iteratee) {
  function baseTimes (line 23794) | function baseTimes(n, iteratee) {
  function baseToPairs (line 23813) | function baseToPairs(object, props) {
  function baseTrim (line 23826) | function baseTrim(string) {
  function baseUnary (line 23839) | function baseUnary(func) {
  function baseValues (line 23855) | function baseValues(object, props) {
  function cacheHas (line 23869) | function cacheHas(cache, key) {
  function charsStartIndex (line 23882) | function charsStartIndex(strSymbols, chrSymbols) {
  function charsEndIndex (line 23899) | function charsEndIndex(strSymbols, chrSymbols) {
  function countHolders (line 23914) | function countHolders(array, placeholder) {
  function escapeStringChar (line 23952) | function escapeStringChar(chr) {
  function getValue (line 23964) | function getValue(object, key) {
  function hasUnicode (line 23975) | function hasUnicode(string) {
  function hasUnicodeWord (line 23986) | function hasUnicodeWord(string) {
  function iteratorToArray (line 23997) | function iteratorToArray(iterator) {
  function mapToArray (line 24014) | function mapToArray(map) {
  function overArg (line 24032) | function overArg(func, transform) {
  function replaceHolders (line 24047) | function replaceHolders(array, placeholder) {
  function setToArray (line 24070) | function setToArray(set) {
  function setToPairs (line 24087) | function setToPairs(set) {
  function strictIndexOf (line 24107) | function strictIndexOf(array, value, fromIndex) {
  function strictLastIndexOf (line 24129) | function strictLastIndexOf(array, value, fromIndex) {
  function stringSize (line 24146) | function stringSize(string) {
  function stringToArray (line 24159) | function stringToArray(string) {
  function trimmedEndIndex (line 24173) | function trimmedEndIndex(string) {
  function unicodeSize (line 24196) | function unicodeSize(string) {
  function unicodeToArray (line 24211) | function unicodeToArray(string) {
  function unicodeWords (line 24222) | function unicodeWords(string) {
  function lodash (line 24499) | function lodash(value) {
  function object (line 24520) | function object() {}
  function baseLodash (line 24540) | function baseLodash() {
  function LodashWrapper (line 24551) | function LodashWrapper(value, chainAll) {
  function LazyWrapper (line 24636) | function LazyWrapper(value) {
  function lazyClone (line 24654) | function lazyClone() {
  function lazyReverse (line 24673) | function lazyReverse() {
  function lazyValue (line 24693) | function lazyValue() {
  function Hash (line 24755) | function Hash(entries) {
  function hashClear (line 24773) | function hashClear() {
  function hashDelete (line 24788) | function hashDelete(key) {
  function hashGet (line 24803) | function hashGet(key) {
  function hashHas (line 24821) | function hashHas(key) {
  function hashSet (line 24836) | function hashSet(key, value) {
  function ListCache (line 24859) | function ListCache(entries) {
  function listCacheClear (line 24877) | function listCacheClear() {
  function listCacheDelete (line 24891) | function listCacheDelete(key) {
  function listCacheGet (line 24917) | function listCacheGet(key) {
  function listCacheHas (line 24933) | function listCacheHas(key) {
  function listCacheSet (line 24947) | function listCacheSet(key, value) {
  function MapCache (line 24976) | function MapCache(entries) {
  function mapCacheClear (line 24994) | function mapCacheClear() {
  function mapCacheDelete (line 25012) | function mapCacheDelete(key) {
  function mapCacheGet (line 25027) | function mapCacheGet(key) {
  function mapCacheHas (line 25040) | function mapCacheHas(key) {
  function mapCacheSet (line 25054) | function mapCacheSet(key, value) {
  function SetCache (line 25080) | function SetCache(values) {
  function setCacheAdd (line 25100) | function setCacheAdd(value) {
  function setCacheHas (line 25114) | function setCacheHas(value) {
  function Stack (line 25131) | function Stack(entries) {
  function stackClear (line 25143) | function stackClear() {
  function stackDelete (line 25157) | function stackDelete(key) {
  function stackGet (line 25174) | function stackGet(key) {
  function stackHas (line 25187) | function stackHas(key) {
  function stackSet (line 25201) | function stackSet(key, value) {
  function arrayLikeKeys (line 25234) | function arrayLikeKeys(value, inherited) {
  function arraySample (line 25268) | function arraySample(array) {
  function arraySampleSize (line 25281) | function arraySampleSize(array, n) {
  function arrayShuffle (line 25292) | function arrayShuffle(array) {
  function assignMergeValue (line 25305) | function assignMergeValue(object, key, value) {
  function assignValue (line 25322) | function assignValue(object, key, value) {
  function assocIndexOf (line 25338) | function assocIndexOf(array, key) {
  function baseAggregator (line 25359) | function baseAggregator(collection, setter, iteratee, accumulator) {
  function baseAssign (line 25375) | function baseAssign(object, source) {
  function baseAssignIn (line 25388) | function baseAssignIn(object, source) {
  function baseAssignValue (line 25401) | function baseAssignValue(object, key, value) {
  function baseAt (line 25422) | function baseAt(object, paths) {
  function baseClamp (line 25443) | function baseClamp(number, lower, upper) {
  function baseClone (line 25471) | function baseClone(value, bitmask, customizer, key, object, stack) {
  function baseConforms (line 25554) | function baseConforms(source) {
  function baseConformsTo (line 25569) | function baseConformsTo(object, source, props) {
  function baseDelay (line 25597) | function baseDelay(func, wait, args) {
  function baseDifference (line 25615) | function baseDifference(array, values, iteratee, comparator) {
  function baseEvery (line 25689) | function baseEvery(collection, predicate) {
  function baseExtremum (line 25708) | function baseExtremum(array, iteratee, comparator) {
  function baseFill (line 25737) | function baseFill(array, value, start, end) {
  function baseFilter (line 25763) | function baseFilter(collection, predicate) {
  function baseFlatten (line 25784) | function baseFlatten(array, depth, predicate, isStrict, result) {
  function baseForOwn (line 25840) | function baseForOwn(object, iteratee) {
  function baseForOwnRight (line 25852) | function baseForOwnRight(object, iteratee) {
  function baseFunctions (line 25865) | function baseFunctions(object, props) {
  function baseGet (line 25879) | function baseGet(object, path) {
  function baseGetAllKeys (line 25902) | function baseGetAllKeys(object, keysFunc, symbolsFunc) {
  function baseGetTag (line 25914) | function baseGetTag(value) {
  function baseGt (line 25932) | function baseGt(value, other) {
  function baseHas (line 25944) | function baseHas(object, key) {
  function baseHasIn (line 25956) | function baseHasIn(object, key) {
  function baseInRange (line 25969) | function baseInRange(number, start, end) {
  function baseIntersection (line 25983) | function baseIntersection(arrays, iteratee, comparator) {
  function baseInverter (line 26047) | function baseInverter(object, setter, iteratee, accumulator) {
  function baseInvoke (line 26064) | function baseInvoke(object, path, args) {
  function baseIsArguments (line 26078) | function baseIsArguments(value) {
  function baseIsArrayBuffer (line 26089) | function baseIsArrayBuffer(value) {
  function baseIsDate (line 26100) | function baseIsDate(value) {
  function baseIsEqual (line 26118) | function baseIsEqual(value, other, bitmask, customizer, stack) {
  function baseIsEqualDeep (line 26142) | function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, ...
  function baseIsMap (line 26194) | function baseIsMap(value) {
  function baseIsMatch (line 26208) | function baseIsMatch(object, source, matchData, customizer) {
  function baseIsNative (line 26260) | function baseIsNative(value) {
  function baseIsRegExp (line 26275) | function baseIsRegExp(value) {
  function baseIsSet (line 26286) | function baseIsSet(value) {
  function baseIsTypedArray (line 26297) | function baseIsTypedArray(value) {
  function baseIteratee (line 26309) | function baseIteratee(value) {
  function baseKeys (line 26333) | function baseKeys(object) {
  function baseKeysIn (line 26353) | function baseKeysIn(object) {
  function baseLt (line 26377) | function baseLt(value, other) {
  function baseMap (line 26389) | function baseMap(collection, iteratee) {
  function baseMatches (line 26406) | function baseMatches(source) {
  function baseMatchesProperty (line 26424) | function baseMatchesProperty(path, srcValue) {
  function baseMerge (line 26447) | function baseMerge(object, source, srcIndex, customizer, stack) {
  function baseMergeDeep (line 26484) | function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customi...
  function baseNth (line 26554) | function baseNth(array, n) {
  function baseOrderBy (line 26572) | function baseOrderBy(collection, iteratees, orders) {
  function basePick (line 26610) | function basePick(object, paths) {
  function basePickBy (line 26625) | function basePickBy(object, paths, predicate) {
  function basePropertyDeep (line 26648) | function basePropertyDeep(path) {
  function basePullAll (line 26665) | function basePullAll(array, values, iteratee, comparator) {
  function basePullAt (line 26701) | function basePullAt(array, indexes) {
  function baseRandom (line 26728) | function baseRandom(lower, upper) {
  function baseRange (line 26743) | function baseRange(start, end, step, fromRight) {
  function baseRepeat (line 26763) | function baseRepeat(string, n) {
  function baseRest (line 26791) | function baseRest(func, start) {
  function baseSample (line 26802) | function baseSample(collection) {
  function baseSampleSize (line 26814) | function baseSampleSize(collection, n) {
  function baseSet (line 26829) | function baseSet(object, path, value, customizer) {
  function baseShuffle (line 26900) | function baseShuffle(collection) {
  function baseSlice (line 26913) | function baseSlice(array, start, end) {
  function baseSome (line 26943) | function baseSome(collection, predicate) {
  function baseSortedIndex (line 26965) | function baseSortedIndex(array, value, retHighest) {
  function baseSortedIndexBy (line 26999) | function baseSortedIndexBy(array, value, iteratee, retHighest) {
  function baseSortedUniq (line 27051) | function baseSortedUniq(array, iteratee) {
  function baseToNumber (line 27077) | function baseToNumber(value) {
  function baseToString (line 27095) | function baseToString(value) {
  function baseUniq (line 27120) | function baseUniq(array, iteratee, comparator) {
  function baseUnset (line 27180) | function baseUnset(object, path) {
  function baseUpdate (line 27196) | function baseUpdate(object, path, updater, customizer) {
  function baseWhile (line 27211) | function baseWhile(array, predicate, isDrop, fromRight) {
  function baseWrapperValue (line 27233) | function baseWrapperValue(value, actions) {
  function baseXor (line 27253) | function baseXor(arrays, iteratee, comparator) {
  function baseZipObject (line 27283) | function baseZipObject(props, values, assignFunc) {
  function castArrayLikeObject (line 27303) | function castArrayLikeObject(value) {
  function castFunction (line 27314) | function castFunction(value) {
  function castPath (line 27326) | function castPath(value, object) {
  function castSlice (line 27353) | function castSlice(array, start, end) {
  function cloneBuffer (line 27377) | function cloneBuffer(buffer, isDeep) {
  function cloneArrayBuffer (line 27395) | function cloneArrayBuffer(arrayBuffer) {
  function cloneDataView (line 27409) | function cloneDataView(dataView, isDeep) {
  function cloneRegExp (line 27421) | function cloneRegExp(regexp) {
  function cloneSymbol (line 27434) | function cloneSymbol(symbol) {
  function cloneTypedArray (line 27446) | function cloneTypedArray(typedArray, isDeep) {
  function compareAscending (line 27459) | function compareAscending(value, other) {
  function compareMultiple (line 27503) | function compareMultiple(object, other, orders) {
  function composeArgs (line 27541) | function composeArgs(args, partials, holders, isCurried) {
  function composeArgsRight (line 27576) | function composeArgsRight(args, partials, holders, isCurried) {
  function copyArray (line 27610) | function copyArray(source, array) {
  function copyObject (line 27631) | function copyObject(source, props, object, customizer) {
  function copySymbols (line 27665) | function copySymbols(source, object) {
  function copySymbolsIn (line 27677) | function copySymbolsIn(source, object) {
  function createAggregator (line 27689) | function createAggregator(setter, initializer) {
  function createAssigner (line 27705) | function createAssigner(assigner) {
  function createBaseEach (line 27739) | function createBaseEach(eachFunc, fromRight) {
  function createBaseFor (line 27767) | function createBaseFor(fromRight) {
  function createBind (line 27794) | function createBind(func, bitmask, thisArg) {
  function createCaseFirst (line 27812) | function createCaseFirst(methodName) {
  function createCompounder (line 27839) | function createCompounder(callback) {
  function createCtor (line 27853) | function createCtor(Ctor) {
  function createCurry (line 27887) | function createCurry(func, bitmask, arity) {
  function createFind (line 27922) | function createFind(findIndexFunc) {
  function createFlow (line 27942) | function createFlow(fromRight) {
  function createHybrid (line 28015) | function createHybrid(func, bitmask, thisArg, partials, holders, partial...
  function createInverter (line 28077) | function createInverter(setter, toIteratee) {
  function createMathOperation (line 28091) | function createMathOperation(operator, defaultValue) {
  function createOver (line 28124) | function createOver(arrayFunc) {
  function createPadding (line 28145) | function createPadding(length, chars) {
  function createPartial (line 28170) | function createPartial(func, bitmask, thisArg, partials) {
  function createRange (line 28200) | function createRange(fromRight) {
  function createRelationalOperation (line 28225) | function createRelationalOperation(operator) {
  function createRecurry (line 28252) | function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, pa...
  function createRound (line 28285) | function createRound(methodName) {
  function createToPairs (line 28321) | function createToPairs(keysFunc) {
  function createWrap (line 28359) | function createWrap(func, bitmask, thisArg, partials, holders, argPos, a...
  function customDefaultsAssignIn (line 28426) | function customDefaultsAssignIn(objValue, srcValue, key, object) {
  function customDefaultsMerge (line 28448) | function customDefaultsMerge(objValue, srcValue, key, object, source, st...
  function customOmitClone (line 28467) | function customOmitClone(value) {
  function equalArrays (line 28484) | function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
  function equalByTag (line 28563) | function equalByTag(object, other, tag, bitmask, customizer, equalFunc, ...
  function equalObjects (line 28641) | function equalObjects(object, other, bitmask, customizer, equalFunc, sta...
  function flatRest (line 28713) | function flatRest(func) {
  function getAllKeys (line 28724) | function getAllKeys(object) {
  function getAllKeysIn (line 28736) | function getAllKeysIn(object) {
  function getFuncName (line 28758) | function getFuncName(func) {
  function getHolder (line 28780) | function getHolder(func) {
  function getIteratee (line 28796) | function getIteratee() {
  function getMapData (line 28810) | function getMapData(map, key) {
  function getMatchData (line 28824) | function getMatchData(object) {
  function getNative (line 28845) | function getNative(object, key) {
  function getRawTag (line 28857) | function getRawTag(value) {
  function getView (line 28953) | function getView(start, end, transforms) {
  function getWrapDetails (line 28978) | function getWrapDetails(source) {
  function hasPath (line 28992) | function hasPath(object, path, hasFunc) {
  function initCloneArray (line 29021) | function initCloneArray(array) {
  function initCloneObject (line 29040) | function initCloneObject(object) {
  function initCloneByTag (line 29058) | function initCloneByTag(object, tag, isDeep) {
  function insertWrapDetails (line 29102) | function insertWrapDetails(source, details) {
  function isFlattenable (line 29120) | function isFlattenable(value) {
  function isIndex (line 29133) | function isIndex(value, length) {
  function isIterateeCall (line 29153) | function isIterateeCall(value, index, object) {
  function isKey (line 29175) | function isKey(value, object) {
  function isKeyable (line 29195) | function isKeyable(value) {
  function isLaziable (line 29210) | function isLaziable(func) {
  function isMasked (line 29231) | function isMasked(func) {
  function isPrototype (line 29251) | function isPrototype(value) {
  function isStrictComparable (line 29266) | function isStrictComparable(value) {
  function matchesStrictComparable (line 29279) | function matchesStrictComparable(key, srcValue) {
  function memoizeCapped (line 29297) | function memoizeCapped(func) {
  function mergeData (line 29325) | function mergeData(data, source) {
  function nativeKeysIn (line 29389) | function nativeKeysIn(object) {
  function objectToString (line 29406) | function objectToString(value) {
  function overRest (line 29419) | function overRest(func, start, transform) {
  function parent (line 29448) | function parent(object, path) {
  function reorder (line 29462) | function reorder(array, indexes) {
  function safeGet (line 29482) | function safeGet(object, key) {
  function setWrapToString (line 29542) | function setWrapToString(wrapper, reference, bitmask) {
  function shortOut (line 29556) | function shortOut(func) {
  function shuffleSelf (line 29584) | function shuffleSelf(array, size) {
  function toKey (line 29626) | function toKey(value) {
  function toSource (line 29641) | function toSource(func) {
  function updateWrapDetails (line 29661) | function updateWrapDetails(details, bitmask) {
  function wrapperClone (line 29678) | function wrapperClone(wrapper) {
  function chunk (line 29712) | function chunk(array, size, guard) {
  function compact (line 29747) | function compact(array) {
  function concat (line 29784) | function concat() {
  function drop (line 29920) | function drop(array, n, guard) {
  function dropRight (line 29954) | function dropRight(array, n, guard) {
  function dropRightWhile (line 29999) | function dropRightWhile(array, predicate) {
  function dropWhile (line 30040) | function dropWhile(array, predicate) {
  function fill (line 30075) | function fill(array, value, start, end) {
  function findIndex (line 30122) | function findIndex(array, predicate, fromIndex) {
  function findLastIndex (line 30169) | function findLastIndex(array, predicate, fromIndex) {
  function flatten (line 30198) | function flatten(array) {
  function flattenDeep (line 30217) | function flattenDeep(array) {
  function flattenDepth (line 30242) | function flattenDepth(array, depth) {
  function fromPairs (line 30266) | function fromPairs(pairs) {
  function head (line 30296) | function head(array) {
  function indexOf (line 30323) | function indexOf(array, value, fromIndex) {
  function initial (line 30349) | function initial(array) {
  function join (line 30464) | function join(array, separator) {
  function last (line 30482) | function last(array) {
  function lastIndexOf (line 30508) | function lastIndexOf(array, value, fromIndex) {
  function nth (line 30544) | function nth(array, n) {
  function pullAll (line 30593) | function pullAll(array, values) {
  function pullAllBy (line 30622) | function pullAllBy(array, values, iteratee) {
  function pullAllWith (line 30651) | function pullAllWith(array, values, comparator) {
  function remove (line 30720) | function remove(array, predicate) {
  function reverse (line 30764) | function reverse(array) {
  function slice (line 30784) | function slice(array, start, end) {
  function sortedIndex (line 30817) | function sortedIndex(array, value) {
  function sortedIndexBy (line 30846) | function sortedIndexBy(array, value, iteratee) {
  function sortedIndexOf (line 30866) | function sortedIndexOf(array, value) {
  function sortedLastIndex (line 30895) | function sortedLastIndex(array, value) {
  function sortedLastIndexBy (line 30924) | function sortedLastIndexBy(array, value, iteratee) {
  function sortedLastIndexOf (line 30944) | function sortedLastIndexOf(array, value) {
  function sortedUniq (line 30970) | function sortedUniq(array) {
  function sortedUniqBy (line 30992) | function sortedUniqBy(array, iteratee) {
  function tail (line 31012) | function tail(array) {
  function take (line 31042) | function take(array, n, guard) {
  function takeRight (line 31075) | function takeRight(array, n, guard) {
  function takeRightWhile (line 31120) | function takeRightWhile(array, predicate) {
  function takeWhile (line 31161) | function takeWhile(array, predicate) {
  function uniq (line 31263) | function uniq(array) {
  function uniqBy (line 31290) | function uniqBy(array, iteratee) {
  function uniqWith (line 31314) | function uniqWith(array, comparator) {
  function unzip (line 31338) | function unzip(array) {
  function unzipWith (line 31375) | function unzipWith(array, iteratee) {
  function zipObject (line 31528) | function zipObject(props, values) {
  function zipObjectDeep (line 31547) | function zipObjectDeep(props, values) {
  function chain (line 31610) | function chain(value) {
  function tap (line 31639) | function tap(value, interceptor) {
  function thru (line 31667) | function thru(value, interceptor) {
  function wrapperChain (line 31738) | function wrapperChain() {
  function wrapperCommit (line 31768) | function wrapperCommit() {
  function wrapperNext (line 31794) | function wrapperNext() {
  function wrapperToIterator (line 31822) | function wrapperToIterator() {
  function wrapperPlant (line 31850) | function wrapperPlant(value) {
  function wrapperReverse (line 31890) | function wrapperReverse() {
  function wrapperValue (line 31922) | function wrapperValue() {
  function every (line 31999) | function every(collection, predicate, guard) {
  function filter (line 32048) | function filter(collection, predicate) {
  function flatMap (line 32133) | function flatMap(collection, iteratee) {
  function flatMapDeep (line 32157) | function flatMapDeep(collection, iteratee) {
  function flatMapDepth (line 32182) | function flatMapDepth(collection, iteratee, depth) {
  function forEach (line 32217) | function forEach(collection, iteratee) {
  function forEachRight (line 32242) | function forEachRight(collection, iteratee) {
  function includes (line 32308) | function includes(collection, value, fromIndex, guard) {
  function map (line 32429) | function map(collection, iteratee) {
  function orderBy (line 32463) | function orderBy(collection, iteratees, orders, guard) {
  function reduce (line 32554) | function reduce(collection, iteratee, accumulator) {
  function reduceRight (line 32583) | function reduceRight(collection, iteratee, accumulator) {
  function reject (line 32624) | function reject(collection, predicate) {
  function sample (line 32643) | function sample(collection) {
  function sampleSize (line 32668) | function sampleSize(collection, n, guard) {
  function shuffle (line 32693) | function shuffle(collection) {
  function size (line 32719) | function size(collection) {
  function some (line 32769) | function some(collection, predicate, guard) {
  function after (line 32867) | function after(n, func) {
  function ary (line 32896) | function ary(func, n, guard) {
  function before (line 32919) | function before(n, func) {
  function curry (line 33075) | function curry(func, arity, guard) {
  function curryRight (line 33120) | function curryRight(func, arity, guard) {
  function debounce (line 33181) | function debounce(func, wait, options) {
  function flip (line 33369) | function flip(func) {
  function memoize (line 33417) | function memoize(func, resolver) {
  function negate (line 33460) | function negate(predicate) {
  function once (line 33494) | function once(func) {
  function rest (line 33672) | function rest(func, start) {
  function spread (line 33714) | function spread(func, start) {
  function throttle (line 33774) | function throttle(func, wait, options) {
  function unary (line 33807) | function unary(func) {
  function wrap (line 33833) | function wrap(value, wrapper) {
  function castArray (line 33872) | function castArray() {
  function clone (line 33906) | function clone(value) {
  function cloneWith (line 33941) | function cloneWith(value, customizer) {
  function cloneDeep (line 33964) | function cloneDeep(value) {
  function cloneDeepWith (line 33996) | function cloneDeepWith(value, customizer) {
  function conformsTo (line 34025) | function conformsTo(object, source) {
  function eq (line 34061) | function eq(value, other) {
  function isArrayLike (line 34209) | function isArrayLike(value) {
  function isArrayLikeObject (line 34238) | function isArrayLikeObject(value) {
  function isBoolean (line 34259) | function isBoolean(value) {
  function isElement (line 34319) | function isElement(value) {
  function isEmpty (line 34356) | function isEmpty(value) {
  function isEqual (line 34408) | function isEqual(value, other) {
  function isEqualWith (line 34444) | function isEqualWith(value, other, customizer) {
  function isError (line 34468) | function isError(value) {
  function isFinite (line 34503) | function isFinite(value) {
  function isFunction (line 34524) | function isFunction(value) {
  function isInteger (line 34560) | function isInteger(value) {
  function isLength (line 34590) | function isLength(value) {
  function isObject (line 34620) | function isObject(value) {
  function isObjectLike (line 34649) | function isObjectLike(value) {
  function isMatch (line 34700) | function isMatch(object, source) {
  function isMatchWith (line 34736) | function isMatchWith(object, source, customizer) {
  function isNaN (line 34769) | function isNaN(value) {
  function isNative (line 34802) | function isNative(value) {
  function isNull (line 34826) | function isNull(value) {
  function isNil (line 34850) | function isNil(value) {
  function isNumber (line 34880) | function isNumber(value) {
  function isPlainObject (line 34913) | function isPlainObject(value) {
  function isSafeInteger (line 34972) | function isSafeInteger(value) {
  function isString (line 35012) | function isString(value) {
  function isSymbol (line 35034) | function isSymbol(value) {
  function isUndefined (line 35075) | function isUndefined(value) {
  function isWeakMap (line 35096) | function isWeakMap(value) {
  function isWeakSet (line 35117) | function isWeakSet(value) {
  function toArray (line 35196) | function toArray(value) {
  function toFinite (line 35235) | function toFinite(value) {
  function toInteger (line 35273) | function toInteger(value) {
  function toLength (line 35307) | function toLength(value) {
  function toNumber (line 35334) | function toNumber(value) {
  function toPlainObject (line 35379) | function toPlainObject(value) {
  function toSafeInteger (line 35407) | function toSafeInteger(value) {
  function toString (line 35434) | function toString(value) {
  function create (line 35637) | function create(prototype, properties) {
  function findKey (line 35753) | function findKey(object, predicate) {
  function findLastKey (line 35792) | function findLastKey(object, predicate) {
  function forIn (line 35824) | function forIn(object, iteratee) {
  function forInRight (line 35856) | function forInRight(object, iteratee) {
  function forOwn (line 35890) | function forOwn(object, iteratee) {
  function forOwnRight (line 35920) | function forOwnRight(object, iteratee) {
  function functions (line 35947) | function functions(object) {
  function functionsIn (line 35974) | function functionsIn(object) {
  function get (line 36003) | function get(object, path, defaultValue) {
  function has (line 36035) | function has(object, path) {
  function hasIn (line 36065) | function hasIn(object, path) {
  function keys (line 36183) | function keys(object) {
  function keysIn (line 36210) | function keysIn(object) {
  function mapKeys (line 36235) | function mapKeys(object, iteratee) {
  function mapValues (line 36273) | function mapValues(object, iteratee) {
  function omitBy (line 36415) | function omitBy(object, predicate) {
  function pickBy (line 36458) | function pickBy(object, predicate) {
  function result (line 36500) | function result(object, path, defaultValue) {
  function set (line 36550) | function set(object, path, value) {
  function setWith (line 36578) | function setWith(object, path, value, customizer) {
  function transform (line 36665) | function transform(object, iteratee, accumulator) {
  function unset (line 36715) | function unset(object, path) {
  function update (line 36746) | function update(object, path, updater) {
  function updateWith (line 36774) | function updateWith(object, path, updater, customizer) {
  function values (line 36805) | function values(object) {
  function valuesIn (line 36833) | function valuesIn(object) {
  function clamp (line 36858) | function clamp(number, lower, upper) {
  function inRange (line 36912) | function inRange(number, start, end) {
  function random (line 36955) | function random(lower, upper, floating) {
  function capitalize (line 37036) | function capitalize(string) {
  function deburr (line 37058) | function deburr(string) {
  function endsWith (line 37086) | function endsWith(string, target, position) {
  function escape (line 37128) | function escape(string) {
  function escapeRegExp (line 37150) | function escapeRegExp(string) {
  function pad (line 37248) | function pad(string, length, chars) {
  function padEnd (line 37287) | function padEnd(string, length, chars) {
  function padStart (line 37320) | function padStart(string, length, chars) {
  function parseInt (line 37354) | function parseInt(string, radix, guard) {
  function repeat (line 37385) | function repeat(string, n, guard) {
  function replace (line 37413) | function replace() {
  function split (line 37464) | function split(string, separator, limit) {
  function startsWith (line 37533) | function startsWith(string, target, position) {
  function template (line 37647) | function template(string, options, guard) {
  function toLower (line 37785) | function toLower(value) {
  function toUpper (line 37810) | function toUpper(value) {
  function trim (line 37836) | function trim(string, chars, guard) {
  function trimEnd (line 37871) | function trimEnd(string, chars, guard) {
  function trimStart (line 37904) | function trimStart(string, chars, guard) {
  function truncate (line 37955) | function truncate(string, options) {
  function unescape (line 38030) | function unescape(string) {
  function words (line 38099) | function words(string, pattern, guard) {
  function cond (line 38204) | function cond(pairs) {
  function conforms (line 38250) | function conforms(source) {
  function constant (line 38273) | function constant(value) {
  function defaultTo (line 38299) | function defaultTo(value, defaultValue) {
  function identity (line 38366) | function identity(value) {
  function iteratee (line 38412) | function iteratee(func) {
  function matches (line 38451) | function matches(source) {
  function matchesProperty (line 38488) | function matchesProperty(path, srcValue) {
  function mixin (line 38587) | function mixin(object, source, options) {
  function noConflict (line 38636) | function noConflict() {
  function noop (line 38655) | function noop() {
  function nthArg (line 38679) | function nthArg(n) {
  function property (line 38791) | function property(path) {
  function propertyOf (line 38816) | function propertyOf(object) {
  function stubArray (line 38921) | function stubArray() {
  function stubFalse (line 38938) | function stubFalse() {
  function stubObject (line 38960) | function stubObject() {
  function stubString (line 38977) | function stubString() {
  function stubTrue (line 38994) | function stubTrue() {
  function times (line 39017) | function times(n, iteratee) {
  function toPath (line 39052) | function toPath(value) {
  function uniqueId (line 39076) | function uniqueId(prefix) {
  function max (line 39185) | function max(array) {
  function maxBy (line 39214) | function maxBy(array, iteratee) {
  function mean (line 39234) | function mean(array) {
  function meanBy (line 39261) | function meanBy(array, iteratee) {
  function min (line 39283) | function min(array) {
  function minBy (line 39312) | function minBy(array, iteratee) {
  function sum (line 39393) | function sum(array) {
  function sumBy (line 39422) | function sumBy(array, iteratee) {
  function toString (line 40041) | function toString(value) {
  function format (line 40099) | function format (obj) {
  function test (line 40139) | function test (string) {
  function parse (line 40159) | function parse (string) {
  function MediaType (line 40193) | function MediaType (type, subtype, suffix) {
  function useColors (line 40319) | function useColors() {
  function formatArgs (line 40353) | function formatArgs(args) {
  function save (line 40404) | function save(namespaces) {
  function load (line 40423) | function load() {
  function localstorage (line 40451) | function localstorage() {
  function setup (line 40490) | function setup(env) {
  function parse (line 40830) | function parse(str) {
  function fmtShort (line 40895) | function fmtShort(ms) {
  function fmtLong (line 40920) | function fmtLong(ms) {
  function plural (line 40941) | function plural(ms, msAbs, n, name) {
  function toObject (line 40965) | function toObject(val) {
  function shouldUseNative (line 40973) | function shouldUseNative() {
  function y (line 41062) | function y(a){for(var b="https://reactjs.org/docs/error-decoder.html?inv...
  function da (line 41062) | function da(a,b){ea(a,b);ea(a+"Capture",b)}
  function ea (line 41063) | function ea(a,b){ca[a]=b;for(a=0;a<b.length;a++)ba.add(b[a])}
  function la (line 41065) | function la(a){if(ia.call(ka,a))return!0;if(ia.call(ja,a))return!1;if(ha...
  function ma (line 41065) | function ma(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){c...
  function na (line 41066) | function na(a,b,c,d){if(null===b||"undefined"===typeof b||ma(a,b,c,d))re...
  function B (line 41066) | function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this....
  function pa (line 41069) | function pa(a){return a[1].toUpperCase()}
  function qa (line 41073) | function qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?...
  function La (line 41076) | function La(a){if(null===a||"object"!==typeof a)return null;a=Ka&&a[Ka]|...
  function Na (line 41076) | function Na(a){if(void 0===Ma)try{throw Error();}catch(c){var b=c.stack....
  function Pa (line 41077) | function Pa(a,b){if(!a||Oa)return"";Oa=!0;var c=Error.prepareStackTrace;...
  function Qa (line 41079) | function Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(...
  function Ra (line 41080) | function Ra(a){if(null==a)return null;if("function"===typeof a)return a....
  function Sa (line 41081) | function Sa(a){switch(typeof a){case "boolean":case "number":case "objec...
  function Ta (line 41081) | function Ta(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCas...
  function Ua (line 41082) | function Ua(a){var b=Ta(a)?"checked":"value",c=Object.getOwnPropertyDesc...
  function Va (line 41083) | function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}
  function Wa (line 41083) | function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c...
  function Xa (line 41083) | function Xa(a){a=a||("undefined"!==typeof document?document:void 0);if("...
  function Ya (line 41084) | function Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,de...
  function Za (line 41084) | function Za(a,b){var c=null==b.defaultValue?"":b.defaultValue,d=null!=b....
  function $a (line 41084) | function $a(a,b){b=b.checked;null!=b&&qa(a,"checked",b,!1)}
  function ab (line 41085) | function ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if("numbe...
  function cb (line 41086) | function cb(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defau...
  function bb (line 41087) | function bb(a,b,c){if("number"!==b||Xa(a.ownerDocument)!==a)null==c?a.de...
  function db (line 41087) | function db(a){var b="";aa.Children.forEach(a,function(a){null!=a&&(b+=a...
  function eb (line 41087) | function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children...
  function fb (line 41088) | function fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b...
  function gb (line 41089) | function gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(y(91));r...
  function hb (line 41089) | function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue...
  function ib (line 41090) | function ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=""+c...
  function jb (line 41090) | function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&""!...
  function lb (line 41091) | function lb(a){switch(a){case "svg":return"http://www.w3.org/2000/svg";c...
  function mb (line 41091) | function mb(a,b){return null==a||"http://www.w3.org/1999/xhtml"===a?lb(b...
  function pb (line 41093) | function pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.n...
  function sb (line 41095) | function sb(a,b,c){return null==b||"boolean"===typeof b||""===b?"":c||"n...
  function tb (line 41096) | function tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=...
  function vb (line 41097) | function vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslyS...
  function wb (line 41098) | function wb(a,b){if(-1===a.indexOf("-"))return"string"===typeof b.is;swi...
  function xb (line 41098) | function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElemen...
  function Bb (line 41099) | function Bb(a){if(a=Cb(a)){if("function"!==typeof yb)throw Error(y(280))...
  function Eb (line 41099) | function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}
  function Fb (line 41099) | function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.len...
  function Gb (line 41099) | function Gb(a,b){return a(b)}
  function Hb (line 41099) | function Hb(a,b,c,d,e){return a(b,c,d,e)}
  function Ib (line 41099) | function Ib(){}
  function Mb (line 41099) | function Mb(){if(null!==zb||null!==Ab)Ib(),Fb()}
  function Nb (line 41100) | function Nb(a,b,c){if(Lb)return a(b,c);Lb=!0;try{return Jb(a,b,c)}finall...
  function Ob (line 41101) | function Ob(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);i...
  function Rb (line 41102) | function Rb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(argument...
  function Xb (line 41102) | function Xb(a,b,c,d,e,f,g,h,k){Sb=!1;Tb=null;Rb.apply(Wb,arguments)}
  function Yb (line 41103) | function Yb(a,b,c,d,e,f,g,h,k){Xb.apply(this,arguments);if(Sb){if(Sb){va...
  function Zb (line 41103) | function Zb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else...
  function $b (line 41103) | function $b(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alter...
  function ac (line 41103) | function ac(a){if(Zb(a)!==a)throw Error(y(188));}
  function bc (line 41104) | function bc(a){var b=a.alternate;if(!b){b=Zb(a);if(null===b)throw Error(...
  function cc (line 41105) | function cc(a){a=bc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6=...
  function dc (line 41106) | function dc(a,b){for(var c=a.alternate;null!==b;){if(b===a||b===c)return...
  function rc (line 41107) | function rc(a,b,c,d,e){return{blockedOn:a,domEventName:b,eventSystemFlag...
  function sc (line 41107) | function sc(a,b){switch(a){case "focusin":case "focusout":kc=null;break;...
  function tc (line 41108) | function tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=rc(b,c,...
  function uc (line 41109) | function uc(a,b,c,d,e){switch(b){case "focusin":return kc=tc(kc,a,b,c,d,...
  function vc (line 41110) | function vc(a){var b=wc(a.target);if(null!==b){var c=Zb(b);if(null!==c)i...
  function xc (line 41111) | function xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContaine...
  function zc (line 41111) | function zc(a,b,c){xc(a)&&c.delete(b)}
  function Ac (line 41112) | function Ac(){for(ic=!1;0<jc.length;){var a=jc[0];if(null!==a.blockedOn)...
  function Bc (line 41113) | function Bc(a,b){a.blockedOn===b&&(a.blockedOn=null,ic||(ic=!0,r.unstabl...
  function Cc (line 41114) | function Cc(a){function b(b){return Bc(b,a)}if(0<jc.length){Bc(jc[0],a);...
  function Dc (line 41115) | function Dc(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c["Webkit"+...
  function Hc (line 41116) | function Hc(a){if(Fc[a])return Fc[a];if(!Ec[a])return a;var b=Ec[a],c;fo...
  function Pc (line 41118) | function Pc(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1];e="on"...
  function Rc (line 41119) | function Rc(a){if(0!==(1&a))return F=15,1;if(0!==(2&a))return F=14,2;if(...
  function Sc (line 41120) | function Sc(a){switch(a){case 99:return 15;case 98:return 10;case 97:cas...
  function Tc (line 41120) | function Tc(a){switch(a){case 15:case 14:return 99;case 13:case 12:case ...
  function Uc (line 41121) | function Uc(a,b){var c=a.pendingLanes;if(0===c)return F=0;var d=0,e=0,f=...
  function Wc (line 41122) | function Wc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?...
  function Xc (line 41122) | function Xc(a,b){switch(a){case 15:return 1;case 14:return 2;case 12:ret...
  function Yc (line 41122) | function Yc(a){return a&-a}
  function Zc (line 41122) | function Zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}
  function $c (line 41123) | function $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pin...
  function ad (line 41123) | function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}
  function gd (line 41123) | function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}fina...
  function id (line 41123) | function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}
  function hd (line 41124) | function hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0<jc.length&&-1<qc.i...
  function yc (line 41125) | function yc(a,b,c,d){var e=xb(d);e=wc(e);if(null!==e){var f=Zb(e);if(nul...
  function nd (line 41126) | function nd(){if(md)return md;var a,b=ld,c=b.length,d,e="value"in kd?kd....
  function od (line 41126) | function od(a){var b=a.keyCode;"charCode"in a?(a=a.charCode,0===a&&13===...
  function pd (line 41126) | function pd(){return!0}
  function qd (line 41126) | function qd(){return!1}
  function rd (line 41127) | function rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=...
  function Pd (line 41132) | function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getMod...
  function zd (line 41132) | function zd(){return Pd}
  function ge (line 41136) | function ge(a,b){switch(a){case "keyup":return-1!==$d.indexOf(b.keyCode)...
  function he (line 41136) | function he(a){a=a.detail;return"object"===typeof a&&"data"in a?a.data:n...
  function je (line 41136) | function je(a,b){switch(a){case "compositionend":return he(b);case "keyp...
  function ke (line 41137) | function ke(a,b){if(ie)return"compositionend"===a||!ae&&ge(a,b)?(a=nd(),...
  function me (line 41138) | function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return"inpu...
  function ne (line 41138) | function ne(a,b,c,d){Eb(d);b=oe(b,"onChange");0<b.length&&(c=new td("onC...
  function re (line 41138) | function re(a){se(a,0)}
  function te (line 41138) | function te(a){var b=ue(a);if(Wa(b))return a}
  function ve (line 41139) | function ve(a,b){if("change"===a)return b}
  function Ae (line 41139) | function Ae(){pe&&(pe.detachEvent("onpropertychange",Be),qe=pe=null)}
  function Be (line 41139) | function Be(a){if("value"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,x...
  function Ce (line 41140) | function Ce(a,b,c){"focusin"===a?(Ae(),pe=b,qe=c,pe.attachEvent("onprope...
  function De (line 41140) | function De(a){if("selectionchange"===a||"keyup"===a||"keydown"===a)retu...
  function Ee (line 41140) | function Ee(a,b){if("click"===a)return te(b)}
  function Fe (line 41140) | function Fe(a,b){if("input"===a||"change"===a)return te(b)}
  function Ge (line 41140) | function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}
  function Je (line 41141) | function Je(a,b){if(He(a,b))return!0;if("object"!==typeof a||null===a||"...
  function Ke (line 41141) | function Ke(a){for(;a&&a.firstChild;)a=a.firstChild;return a}
  function Le (line 41142) | function Le(a,b){var c=Ke(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c....
  function Me (line 41142) | function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.node...
  function Ne (line 41143) | function Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;)...
  function Oe (line 41143) | function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(...
  function Ue (line 41145) | function Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.owne...
  function Ze (line 41150) | function Ze(a,b,c){var d=a.type||"unknown-event";a.currentTarget=c;Yb(d,...
  function se (line 41151) | function se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d....
  function G (line 41152) | function G(a,b){var c=$e(b),d=a+"__bubble";c.has(d)||(af(b,a,2,!1),c.add...
  function cf (line 41152) | function cf(a){a[bf]||(a[bf]=!0,ba.forEach(function(b){Ye.has(b)||df(b,!...
  function df (line 41153) | function df(a,b,c,d){var e=4<arguments.length&&void 0!==arguments[4]?arg...
  function af (line 41154) | function af(a,b,c,d){var e=Nc.get(b);switch(void 0===e?2:e){case 0:e=gd;...
  function jd (line 41155) | function jd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;...
  function ef (line 41163) | function ef(a,b,c){return{instance:a,listener:b,currentTarget:c}}
  function oe (line 41163) | function oe(a,b){for(var c=b+"Capture",d=[];null!==a;){var e=a,f=e.state...
  function gf (line 41163) | function gf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag)...
  function hf (line 41164) | function hf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var...
  function jf (line 41164) | function jf(){}
  function mf (line 41164) | function mf(a,b){switch(a){case "button":case "input":case "select":case...
  function nf (line 41165) | function nf(a,b){return"textarea"===a||"option"===a||"noscript"===a||"st...
  function qf (line 41165) | function qf(a){1===a.nodeType?a.textContent="":9===a.nodeType&&(a=a.body...
  function rf (line 41166) | function rf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||...
  function sf (line 41166) | function sf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){va...
  function uf (line 41166) | function uf(a){return{$$typeof:Ga,toString:a,valueOf:a}}
  function wc (line 41167) | function wc(a){var b=a[wf];if(b)return b;for(var c=a.parentNode;c;){if(b...
  function Cb (line 41167) | function Cb(a){a=a[wf]||a[ff];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag...
  function ue (line 41167) | function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(y(...
  function Db (line 41167) | function Db(a){return a[xf]||null}
  function $e (line 41168) | function $e(a){var b=a[yf];void 0===b&&(b=a[yf]=new Set);return b}
  function Bf (line 41168) | function Bf(a){return{current:a}}
  function H (line 41168) | function H(a){0>Af||(a.current=zf[Af],zf[Af]=null,Af--)}
  function I (line 41168) | function I(a,b){Af++;zf[Af]=a.current;a.current=b}
  function Ef (line 41169) | function Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.state...
  function Ff (line 41169) | function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}
  function Gf (line 41169) | function Gf(){H(N);H(M)}
  function Hf (line 41169) | function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}
  function If (line 41170) | function If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if("function"...
  function Jf (line 41170) | function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildCo...
  function Kf (line 41170) | function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a...
  function eg (line 41172) | function eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:r...
  function fg (line 41172) | function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:ret...
  function gg (line 41172) | function gg(a,b){a=fg(a);return Nf(a,b)}
  function hg (line 41172) | function hg(a,b,c){a=fg(a);return Of(a,b,c)}
  function ig (line 41172) | function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}
  function jg (line 41173) | function jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,functi...
  function lg (line 41173) | function lg(a,b){if(a&&a.defaultProps){b=m({},b);a=a.defaultProps;for(va...
  function qg (line 41173) | function qg(){pg=og=ng=null}
  function rg (line 41174) | function rg(a){var b=mg.current;H(mg);a.type._context._currentValue=b}
  function sg (line 41174) | function sg(a,b){for(;null!==a;){var c=a.alternate;if((a.childLanes&b)==...
  function tg (line 41174) | function tg(a,b){ng=a;pg=og=null;a=a.dependencies;null!==a&&null!==a.fir...
  function vg (line 41175) | function vg(a,b){if(pg!==a&&!1!==b&&0!==b){if("number"!==typeof b||10737...
  function xg (line 41175) | function xg(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:...
  function yg (line 41176) | function yg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={base...
  function zg (line 41176) | function zg(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:n...
  function Ag (line 41176) | function Ag(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending...
  function Bg (line 41177) | function Bg(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.upd...
  function Cg (line 41179) | function Cg(a,b,c,d){var e=a.updateQueue;wg=!1;var f=e.firstBaseUpdate,g...
  function Eg (line 41181) | function Eg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.le...
  function Gg (line 41182) | function Gg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b...
  function Lg (line 41184) | function Lg(a,b,c,d,e,f,g){a=a.stateNode;return"function"===typeof a.sho...
  function Mg (line 41185) | function Mg(a,b,c){var d=!1,e=Cf;var f=b.contextType;"object"===typeof f...
  function Ng (line 41186) | function Ng(a,b,c,d){a=b.state;"function"===typeof b.componentWillReceiv...
  function Og (line 41187) | function Og(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState...
  function Qg (line 41189) | function Qg(a,b,c){a=c.ref;if(null!==a&&"function"!==typeof a&&"object"!...
  function Rg (line 41190) | function Rg(a,b){if("textarea"!==a.type)throw Error(y(31,"[object Object...
  function Sg (line 41191) | function Sg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.next...
  function dh (line 41201) | function dh(a){if(a===$g)throw Error(y(174));return a}
  function eh (line 41201) | function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:...
  function fh (line 41201) | function fh(){H(ah);H(bh);H(ch)}
  function gh (line 41201) | function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!...
  function hh (line 41201) | function hh(a){bh.current===a&&(H(ah),H(bh))}
  function ih (line 41202) | function ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedSta...
  function mh (line 41203) | function mh(a,b){var c=nh(5,null,null,0);c.elementType="DELETED";c.type=...
  function oh (line 41203) | function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.t...
  function ph (line 41204) | function ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSib...
  function qh (line 41204) | function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag...
  function rh (line 41205) | function rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.t...
  function sh (line 41206) | function sh(){kh=jh=null;lh=!1}
  function uh (line 41206) | function uh(){for(var a=0;a<th.length;a++)th[a]._workInProgressVersionPr...
  function Ah (line 41206) | function Ah(){throw Error(y(321));}
  function Bh (line 41206) | function Bh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length...
  function Ch (line 41207) | function Ch(a,b,c,d,e,f){xh=f;R=b;b.memoizedState=null;b.updateQueue=nul...
  function Hh (line 41207) | function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,qu...
  function Ih (line 41208) | function Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:...
  function Jh (line 41208) | function Jh(a,b){return"function"===typeof b?b(a):b}
  function Kh (line 41209) | function Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.la...
  function Lh (line 41211) | function Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.la...
  function Mh (line 41212) | function Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInPro...
  function Nh (line 41213) | function Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._ge...
  function Ph (line 41215) | function Ph(a,b,c){var d=Ih();return Nh(d,a,b,c)}
  function Qh (line 41215) | function Qh(a){var b=Hh();"function"===typeof a&&(a=a());b.memoizedState...
  function Rh (line 41216) | function Rh(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=R.u...
  function Sh (line 41216) | function Sh(a){var b=Hh();a={current:a};return b.memoizedState=a}
  function Th (line 41216) | function Th(){return Ih().memoizedState}
  function Uh (line 41216) | function Uh(a,b,c,d){var e=Hh();R.flags|=a;e.memoizedState=Rh(1|b,c,void...
  function Vh (line 41217) | function Vh(a,b,c,d){var e=Ih();d=void 0===d?null:d;var f=void 0;if(null...
  function Wh (line 41217) | function Wh(a,b){return Uh(516,4,a,b)}
  function Xh (line 41217) | function Xh(a,b){return Vh(516,4,a,b)}
  function Yh (line 41217) | function Yh(a,b){return Vh(4,2,a,b)}
  function Zh (line 41217) | function Zh(a,b){if("function"===typeof b)return a=a(),b(a),function(){b...
  function $h (line 41218) | function $h(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Vh(4...
  function ai (line 41218) | function ai(){}
  function bi (line 41218) | function bi(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if...
  function ci (line 41218) | function ci(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if...
  function di (line 41219) | function di(a,b){var c=eg();gg(98>c?98:c,function(){a(!0)});gg(97<c?97:c...
  function Oh (line 41220) | function Oh(a,b,c){var d=Hg(),e=Ig(a),f={lane:e,action:c,eagerReducer:nu...
  function fi (line 41226) | function fi(a,b,c,d){b.child=null===a?Zg(b,null,c,d):Yg(b,a.child,c,d)}
  function gi (line 41226) | function gi(a,b,c,d,e){c=c.render;var f=b.ref;tg(b,e);d=Ch(a,b,c,d,f,e);...
  function ii (line 41227) | function ii(a,b,c,d,e,f){if(null===a){var g=c.type;if("function"===typeo...
  function ki (line 41228) | function ki(a,b,c,d,e,f){if(null!==a&&Je(a.memoizedProps,d)&&a.ref===b.r...
  function mi (line 41229) | function mi(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoiz...
  function oi (line 41230) | function oi(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)...
  function li (line 41230) | function li(a,b,c,d,e){var f=Ff(c)?Df:M.current;f=Ef(b,f);tg(b,e);c=Ch(a...
  function pi (line 41231) | function pi(a,b,c,d,e){if(Ff(c)){var f=!0;Jf(b)}else f=!1;tg(b,e);if(nul...
  function qi (line 41237) | function qi(a,b,c,d,e,f){oi(a,b);var g=0!==(b.flags&64);if(!d&&!g)return...
  function ri (line 41237) | function ri(a){var b=a.stateNode;b.pendingContext?Hf(a,b.pendingContext,...
  function ti (line 41239) | function ti(a,b,c){var d=b.pendingProps,e=P.current,f=!1,g;(g=0!==(b.fla...
  function ui (line 41241) | function ui(a,b,c,d){var e=a.mode,f=a.child;b={mode:"hidden",children:b}...
  function xi (line 41242) | function xi(a,b,c,d){var e=a.child;a=e.sibling;c=Tg(e,{mode:"visible",ch...
  function wi (line 41243) | function wi(a,b,c,d,e){var f=b.mode,g=a.child;a=g.sibling;var h={mode:"h...
  function yi (line 41243) | function yi(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);sg(...
  function zi (line 41244) | function zi(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState=...
  function Ai (line 41245) | function Ai(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;fi(a,b,...
  function hi (line 41247) | function hi(a,b,c){null!==a&&(b.dependencies=a.dependencies);Dg|=b.lanes...
  function Fi (line 41252) | function Fi(a,b){if(!lh)switch(a.tailMode){case "hidden":b=a.tail;for(va...
  function Gi (line 41253) | function Gi(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:cas...
  function Li (line 41265) | function Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;retur...
  function Mi (line 41266) | function Mi(a,b){try{var c="",d=b;do c+=Qa(d),d=d.return;while(d);var e=...
  function Ni (line 41266) | function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function...
  function Pi (line 41266) | function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.v...
  function Si (line 41267) | function Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromEr...
  function Vi (line 41268) | function Vi(a){var b=a.ref;if(null!==b)if("function"===typeof b)try{b(nu...
  function Xi (line 41268) | function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;cas...
  function Yi (line 41269) | function Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.upda...
  function aj (line 41272) | function aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d...
  function bj (line 41274) | function bj(a,b){if(Mf&&"function"===typeof Mf.onCommitFiberUnmount)try{...
  function dj (line 41275) | function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.first...
  function ej (line 41275) | function ej(a){return 5===a.tag||3===a.tag||4===a.tag}
  function fj (line 41276) | function fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.ret...
  function gj (line 41278) | function gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.sta...
  function hj (line 41279) | function hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.sta...
  function cj (line 41280) | function cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(...
  function ij (line 41282) | function ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:va...
  function kj (line 41284) | function kj(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c...
  function mj (line 41285) | function mj(a,b){return null!==a&&(a=a.memoizedState,null===a||null!==a....
  function wj (line 41285) | function wj(){Ji=O()+500}
  function Hg (line 41285) | function Hg(){return 0!==(X&48)?O():-1!==Fj?Fj:Fj=O()}
  function Ig (line 41286) | function Ig(a){a=a.mode;if(0===(a&2))return 1;if(0===(a&4))return 99===e...
  function Jg (line 41287) | function Jg(a,b,c){if(50<Dj)throw Dj=0,Ej=null,Error(y(185));a=Kj(a,b);i...
  function Kj (line 41287) | function Kj(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a...
  function Mj (line 41288) | function Mj(a,b){for(var c=a.callbackNode,d=a.suspendedLanes,e=a.pingedL...
  function Nj (line 41290) | function Nj(a){Fj=-1;Hj=Gj=0;if(0!==(X&48))throw Error(y(327));var b=a.c...
  function Ii (line 41292) | function Ii(a,b){b&=~uj;b&=~Hi;a.suspendedLanes|=b;a.pingedLanes&=~b;for...
  function Lj (line 41293) | function Lj(a){if(0!==(X&48))throw Error(y(327));Oj();if(a===U&&0!==(a.e...
  function Vj (line 41294) | function Vj(){if(null!==Cj){var a=Cj;Cj=null;a.forEach(function(a){a.exp...
  function Wj (line 41294) | function Wj(a,b){var c=X;X|=1;try{return a(b)}finally{X=c,0===X&&(wj(),i...
  function Xj (line 41294) | function Xj(a,b){var c=X;X&=-2;X|=8;try{return a(b)}finally{X=c,0===X&&(...
  function ni (line 41294) | function ni(a,b){I(rj,qj);qj|=b;tj|=b}
  function Ki (line 41294) | function Ki(){qj=rj.current;H(rj)}
  function Qj (line 41295) | function Qj(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHa...
  function Sj (line 41296) | function Sj(a,b){do{var c=Y;try{qg();vh.current=Gh;if(yh){for(var d=R.me...
  function Pj (line 41300) | function Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}
  function Tj (line 41300) | function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{a...
  function ak (line 41300) | function ak(){for(;null!==Y;)bk(Y)}
  function Rj (line 41300) | function Rj(){for(;null!==Y&&!Qf();)bk(Y)}
  function bk (line 41300) | function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps...
  function Zj (line 41301) | function Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2...
  function Uj (line 41302) | function Uj(a){var b=eg();gg(99,dk.bind(null,a,b));return null}
  function dk (line 41303) | function dk(a,b){do Oj();while(null!==yj);if(0!==(X&48))throw Error(y(32...
  function ek (line 41311) | function ek(){for(;null!==Z;){var a=Z.alternate;Jj||null===Ij||(0!==(Z.f...
  function Oj (line 41311) | function Oj(){if(90!==zj){var a=97<zj?97:zj;zj=90;return gg(a,fk)}return!1}
  function $i (line 41311) | function $i(a,b){Aj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return nu...
  function Zi (line 41311) | function Zi(a,b){Bj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return nu...
  function fk (line 41312) | function fk(){if(null===yj)return!1;var a=yj;yj=null;if(0!==(X&48))throw...
  function gk (line 41313) | function gk(a,b,c){b=Mi(c,b);b=Pi(a,b,1);Ag(a,b);b=Hg();a=Kj(a,1);null!=...
  function Wi (line 41314) | function Wi(a,b){if(3===a.tag)gk(a,a,b);else for(var c=a.return;null!==c...
  function Yj (line 41315) | function Yj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=Hg();a.ping...
  function lj (line 41315) | function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a...
  function ik (line 41325) | function ik(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this....
  function nh (line 41325) | function nh(a,b,c,d){return new ik(a,b,c,d)}
  function ji (line 41325) | function ji(a){a=a.prototype;return!(!a||!a.isReactComponent)}
  function hk (line 41326) | function hk(a){if("function"===typeof a)return ji(a)?1:0;if(void 0!==a&&...
  function Tg (line 41327) | function Tg(a,b){var c=a.alternate;null===c?(c=nh(a.tag,b,a.key,a.mode),...
  function Vg (line 41329) | function Vg(a,b,c,d,e,f){var g=2;d=a;if("function"===typeof a)ji(a)&&(g=...
  function Xg (line 41330) | function Xg(a,b,c,d){a=nh(7,a,d,b);a.lanes=c;return a}
  function vi (line 41330) | function vi(a,b,c,d){a=nh(23,a,d,b);a.elementType=Ia;a.lanes=c;return a}
  function Ug (line 41330) | function Ug(a,b,c){a=nh(6,a,null,b);a.lanes=c;return a}
  function Wg (line 41331) | function Wg(a,b,c){b=nh(4,null!==a.children?a.children:[],a.key,b);b.lan...
  function jk (line 41332) | function jk(a,b,c){this.tag=b;this.containerInfo=a;this.finishedWork=thi...
  function kk (line 41333) | function kk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?argum...
  function lk (line 41334) | function lk(a,b,c,d){var e=b.current,f=Hg(),g=Ig(e);a:if(c){c=c._reactIn...
  function mk (line 41335) | function mk(a){a=a.current;if(!a.child)return null;switch(a.child.tag){c...
  function nk (line 41335) | function nk(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var...
  function ok (line 41335) | function ok(a,b){nk(a,b);(a=a.alternate)&&nk(a,b)}
  function pk (line 41335) | function pk(){return null}
  function qk (line 41336) | function qk(a,b,c){var d=null!=c&&null!=c.hydrationOptions&&c.hydrationO...
  function rk (line 41337) | function rk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeTy...
  function sk (line 41338) | function sk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:n...
  function tk (line 41339) | function tk(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._intern...
  function uk (line 41342) | function uk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?argumen...
  function checkDCE (line 41358) | function checkDCE() {
  function z (line 41402) | function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(...
  function A (line 41402) | function A(a){return z(a)===m}
  function y (line 41438) | function y(a){if("object"===typeof a&&null!==a){var t=a.$$typeof;switch(...
  function q (line 41472) | function q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=""+k);void 0!=...
  function y (line 41491) | function y(a){if(null===a||"object"!==typeof a)return null;a=x&&a[x]||a[...
  function z (line 41491) | function z(a){for(var b="https://reactjs.org/docs/error-decoder.html?inv...
  function C (line 41492) | function C(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c...
  function D (line 41493) | function D(){}
  function E (line 41493) | function E(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c...
  function J (line 41494) | function J(a,b,c){var e,d={},k=null,h=null;if(null!=b)for(e in void 0!==...
  function K (line 41495) | function K(a,b){return{$$typeof:n,type:a.type,key:b,ref:a.ref,props:a.pr...
  function L (line 41495) | function L(a){return"object"===typeof a&&null!==a&&a.$$typeof===n}
  function escape (line 41495) | function escape(a){var b={"=":"=0",":":"=2"};return"$"+a.replace(/[=:]/g...
  function N (line 41495) | function N(a,b){return"object"===typeof a&&null!==a&&null!=a.key?escape(...
  function O (line 41496) | function O(a,b,c,e,d){var k=typeof a;if("undefined"===k||"boolean"===k)a...
  function P (line 41497) | function P(a,b,c){if(null==a)return a;var e=[],d=0;O(a,e,"","",function(...
  function Q (line 41498) | function Q(a){if(-1===a._status){var b=a._result;b=b();a._status=0;a._re...
  function S (line 41498) | function S(){var a=R.current;if(null===a)throw Error(z(321));return a}
  function ownKeys (line 41584) | function ownKeys(e, r) {
  function _objectSpread2 (line 41594) | function _objectSpread2(e) {
  function formatProdErrorMessage (line 41615) | function formatProdErrorMessage(code) {
  function isPlainObject (line 41646) | function isPlainObject(obj) {
  function miniKindOf (line 41658) | function miniKindOf(val) {
  function ctorName (line 41693) | function ctorName(val) {
  function isError (line 41697) | function isError(val) {
  function isDate (line 41701) | function isDate(val) {
  function kindOf (line 41706) | function kindOf(val) {
  function createStore (line 41740) | function createStore(reducer, preloadedState, enhancer) {
  function warning (line 42026) | function warning(message) {
  function getUnexpectedStateShapeWarningMessage (line 42043) | function getUnexpectedStateShapeWarningMessage(inputState, reducers, act...
  function assertReducerShape (line 42068) | function assertReducerShape(reducers) {
  function combineReducers (line 42104) | function combineReducers(reducers) {
  function bindActionCreator (line 42167) | function bindActionCreator(actionCreator, dispatch) {
  function bindActionCreators (line 42195) | function bindActionCreators(actionCreators, dispatch) {
  function compose (line 42227) | function compose() {
  function applyMiddleware (line 42266) | function applyMiddleware() {
  function defaultEqualityCheck (line 42312) | function defaultEqualityCheck(a, b) {
  function areArgumentsShallowlyEqual (line 42316) | function areArgumentsShallowlyEqual(equalityCheck, prev, next) {
  function defaultMemoize (line 42332) | function defaultMemoize(func) {
  function getDependencies (line 42349) | function getDependencies(funcs) {
  function createSelectorCreator (line 42364) | function createSelectorCreator(memoize) {
  function createStructuredSelector (line 42411) | function createStructuredSelector(selectors) {
  class RIFFFile (line 42479) | class RIFFFile {
    method constructor (line 42481) | constructor() {
    method setSignature (line 42535) | setSignature(buffer) {
    method findChunk (line 42562) | findChunk(chunkId, multiple=false) {
    method readString (line 42589) | readString(bytes, maxSize) {
    method readUInt32 (line 42603) | readUInt32(bytes) {
    method getSubChunksIndex_ (line 42616) | getSubChunksIndex_(buffer) {
    method getSubChunkIndex_ (line 42636) | getSubChunkIndex_(buffer, index) {
    method getChunkId_ (line 42666) | getChunkId_(buffer, index) {
    method getChunkSize_ (line 42678) | getChunkSize_(buffer, index) {
  function H (line 42703) | function H(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];...
  function J (line 42703) | function J(a){a=a[0];return void 0===a?null:a}
  function K (line 42704) | function K(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a...
  function I (line 42704) | function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}
  function T (line 42705) | function T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else i...
  function U (line 42705) | function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);n...
  function V (line 42706) | function V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null...
  function addStylesToDom (line 43058) | function addStylesToDom (styles, options) {
  function listToStyles (line 43085) | function listToStyles (list, options) {
  function insertStyleElement (line 43104) | function insertStyleElement (options, style) {
  function removeStyleElement (line 43132) | function removeStyleElement (style) {
  function createStyleElement (line 43142) | function createStyleElement (options) {
  function createLinkElement (line 43162) | function createLinkElement (options) {
  function addAttrs (line 43176) | function addAttrs (el, attrs) {
  function getNonce (line 43182) | function getNonce() {
  function addStyle (line 43188) | function addStyle (obj, options) {
  function applyToSingletonTag (line 43270) | function applyToSingletonTag (style, index, remove, obj) {
  function applyToTag (line 43289) | function applyToTag (style, obj) {
  function updateLink (line 43308) | function updateLink (link, options, obj) {
  function TinyQueue (line 43446) | function TinyQueue(data, compare) {
  function defaultCompare (line 43458) | function defaultCompare(a, b) {
  function creator (line 43568) | function creator(data) {
  function parser (line 43621) | function parser(arrayBuffer) {
  function _typeof (line 43675) | function _typeof(o) {
  function _toPrimitive (line 43686) | function _toPrimitive(input, hint) {
  function _toPropertyKey (line 43699) | function _toPropertyKey(arg) {
  function _defineProperty (line 43705) | function _defineProperty(obj, key, value) {
  method constructor (line 43736) | constructor(message) {
  class CouldNotDetermineFileTypeError (line 43743) | class CouldNotDetermineFileTypeError extends makeParseError('CouldNotDet...
  class UnsupportedFileTypeError (line 43746) | class UnsupportedFileTypeError extends makeParseError('UnsupportedFileTy...
  class UnexpectedFileContentError (line 43749) | class UnexpectedFileContentError extends makeParseError('UnexpectedFileC...
    method constructor (line 43750) | constructor(fileType, message) {
    method toString (line 43755) | toString() {
  class FieldDecodingError (line 43760) | class FieldDecodingError extends makeParseError('FieldDecodingError') {
  class InternalParserError (line 43762) | class InternalParserError extends makeParseError('InternalParserError') {
  method constructor (line 43767) | constructor(message) {
  function parseTagFlags (line 43903) | function parseTagFlags(flags) {
  function isBitSet (line 43917) | function isBitSet(num, bit) {
  class ApeContentError (line 43935) | class ApeContentError extends (0,ParseError/* makeUnexpectedFileContentE...
  class APEv2Parser (line 43937) | class APEv2Parser extends BasicParser/* BasicParser */.g {
    method constructor (line 43938) | constructor() {
    method tryParseApeHeader (line 43942) | static tryParseApeHeader(metadata, tokenizer, options) {
    method calculateDuration (line 43951) | static calculateDuration(ah) {
    method findApeFooterOffset (line 43961) | static async findApeFooterOffset(tokenizer, offset) {
    method parseTagFooter (line 43985) | static parseTagFooter(metadata, buffer, options) {
    method tryParseApeHeader (line 43996) | async tryParseApeHeader() {
    method parse (line 44015) | async parse() {
    method parseTags (line 44025) | async parseTags(footer) {
    method parseDescriptorExpansion (line 44077) | async parseDescriptorExpansion(lenExp) {
    method parseHeader (line 44081) | async parseHeader() {
  class BasicParser (line 44110) | class BasicParser {
    method constructor (line 44117) | constructor(metadata, tokenizer, options) {
  function getBit (line 44186) | function getBit(buf, off, bit) {
  function findZero (line 44197) | function findZero(uint8Array, start, end, encoding) {
  function trimRightNull (line 44214) | function trimRightNull(x) {
  function swapBytes (line 44218) | function swapBytes(uint8Array) {
  function decodeString (line 44232) | function decodeString(uint8Array, encoding) {
  function stripNulls (line 44246) | function stripNulls(str) {
  function getBitAllignedNumber (line 44260) | function getBitAllignedNumber(source, byteOffset, bitOffset, len) {
  function isBitSet (line 44284) | function isBitSet(source, byteOffset, bitOffset) {
  function a2hex (line 44287) | function a2hex(str) {
  function ratioToDb (line 44299) | function ratioToDb(ratio) {
  function dbToRatio (line 44306) | function dbToRatio(dB) {
  function toRatio (line 44313) | function toRatio(value) {
  class Id3v1StringType (line 44413) | class Id3v1StringType {
    method constructor (line 44414) | constructor(len) {
    method get (line 44418) | get(buf, off) {
  class ID3v1Parser (line 44425) | class ID3v1Parser extends _common_BasicParser_js__WEBPACK_IMPORTED_MODUL...
    method constructor (line 44426) | constructor(metadata, tokenizer, options) {
    method getGenre (line 44430) | static getGenre(genreIndex) {
    method parse (line 44436) | async parse() {
    method addTag (line 44467) | async addTag(id, value) {
  function hasID3v1Header (line 44471) | async function hasID3v1Header(tokenizer) {
  class EndOfStreamError (line 44711) | class EndOfStreamError extends Error {
    method constructor (line 44712) | constructor() {
  class Errors_AbortError (line 44717) | class Errors_AbortError extends Error {
    method constructor (line 44718) | constructor(message = "The operation was aborted") {
  class AbstractStreamReader_AbstractStreamReader (line 44726) | class AbstractStreamReader_AbstractStreamReader {
    method constructor (line 44727) | constructor() {
    method peek (line 44736) | async peek(uint8Array, mayBeLess = false) {
    method read (line 44741) | async read(buffer, mayBeLess = false) {
    method readFromPeekBuffer (line 44759) | readFromPeekBuffer(buffer) {
    method readRemainderFromStream (line 44778) | async readRemainderFromStream(buffer, mayBeLess) {
    method constructor (line 46463) | constructor() {
    method peek (line 46475) | async peek(uint8Array, offset, length) {
    method read (line 46480) | async read(buffer, offset, length) {
    method readFromPeekBuffer (line 46498) | readFromPeekBuffer(buffer, offset, length) {
    method readRemainderFromStream (line 46517) | async readRemainderFromStream(buffer, offset, initialRemaining) {
  class StreamReader_StreamReader (line 44805) | class StreamReader_StreamReader extends (/* unused pure expression or su...
    method constructor (line 44806) | constructor(s) {
    method readFromStream (line 44831) | async readFromStream(buffer, mayBeLess) {
    method readDeferred (line 44854) | readDeferred(request) {
    method reject (line 44867) | reject(err) {
    method abort (line 44874) | async abort() {
    method close (line 44877) | async close() {
    method constructor (line 46543) | constructor(s) {
    method readFromStream (line 46564) | async readFromStream(buffer, offset, length) {
    method readDeferred (line 46589) | readDeferred(request) {
    method reject (line 46602) | reject(err) {
    method abort (line 46609) | async abort() {
    method close (line 46612) | async close() {
  class WebStreamReader (line 44884) | class WebStreamReader extends AbstractStreamReader_AbstractStreamReader {
    method constructor (line 44885) | constructor(reader) {
    method abort (line 44889) | async abort() {
    method close (line 44892) | async close() {
    method constructor (line 46626) | constructor(stream) {
    method readFromStream (line 46630) | async readFromStream(buffer, offset, length) {
    method abort (line 46644) | abort() {
    method close (line 46647) | async close() {
  class WebStreamByobReader (line 44903) | class WebStreamByobReader extends WebStreamReader {
    method readFromStream (line 44910) | async readFromStream(buffer, mayBeLess) {
  class WebStreamDefaultReader (line 44929) | class WebStreamDefaultReader extends AbstractStreamReader_AbstractStream...
    method constructor (line 44930) | constructor(reader) {
    method writeChunk (line 44938) | writeChunk(target, chunk) {
    method readFromStream (line 44956) | async readFromStream(buffer, mayBeLess) {
    method abort (line 44980) | abort() {
    method close (line 44984) | async close() {
  function makeWebStreamReader (line 44993) | function makeWebStreamReader(stream) {
  class AbstractTokenizer (line 45023) | class AbstractTokenizer {
    method constructor (line 45029) | constructor(options) {
    method readToken (line 45048) | async readToken(token, position = this.position) {
    method peekToken (line 45061) | async peekToken(token, position = this.position) {
    method readNumber (line 45073) | async readNumber(token) {
    method peekNumber (line 45084) | async peekNumber(token) {
    method ignore (line 45095) | async ignore(length) {
    method close (line 45106) | async close() {
    method normalizeOptions (line 45110) | normalizeOptions(uint8Array, options) {
    method abort (line 45123) | abort() {
    method constructor (line 46669) | constructor(options) {
    method readToken (line 46688) | async readToken(token, position = this.position) {
    method peekToken (line 46701) | async peekToken(token, position = this.position) {
    method readNumber (line 46713) | async readNumber(token) {
    method peekNumber (line 46724) | async peekNumber(token) {
    method ignore (line 46735) | async ignore(length) {
    method close (line 46746) | async close() {
    method normalizeOptions (line 46750) | normalizeOptions(uint8Array, options) {
    method abort (line 46769) | abort() {
  class ReadStreamTokenizer_ReadStreamTokenizer (line 45132) | class ReadStreamTokenizer_ReadStreamTokenizer extends AbstractTokenizer {
    method constructor (line 45138) | constructor(streamReader, options) {
    method readBuffer (line 45149) | async readBuffer(uint8Array, options) {
    method peekBuffer (line 45175) | async peekBuffer(uint8Array, options) {
    method ignore (line 45206) | async ignore(length) {
    method abort (line 45221) | abort() {
    method close (line 45224) | async close() {
    method supportsRandomAccess (line 45227) | supportsRandomAccess() {
    method constructor (line 46784) | constructor(streamReader, options) {
    method readBuffer (line 46795) | async readBuffer(uint8Array, options) {
    method peekBuffer (line 46821) | async peekBuffer(uint8Array, options) {
    method ignore (line 46852) | async ignore(length) {
    method abort (line 46867) | abort() {
    method supportsRandomAccess (line 46870) | supportsRandomAccess() {
  class BufferTokenizer (line 45235) | class BufferTokenizer extends AbstractTokenizer {
    method constructor (line 45241) | constructor(uint8Array, options) {
    method readBuffer (line 45252) | async readBuffer(uint8Array, options) {
    method peekBuffer (line 45266) | async peekBuffer(uint8Array, options) {
    method close (line 45275) | close() {
    method supportsRandomAccess (line 45278) | supportsRandomAccess() {
    method setPosition (line 45281) | setPosition(position) {
    method constructor (line 46884) | constructor(uint8Array, options) {
    method readBuffer (line 46895) | async readBuffer(uint8Array, options) {
    method peekBuffer (line 46912) | async peekBuffer(uint8Array, options) {
    method close (line 46921) | close() {
    method supportsRandomAccess (line 46924) | supportsRandomAccess() {
    method setPosition (line 46927) | setPosition(position) {
  function fromStream (line 45299) | function fromStream(stream, options) {
  function fromWebStream (line 45318) | function fromWebStream(webStream, options) {
  function fromBuffer (line 45336) | function fromBuffer(uint8Array, options) {
  function dv (line 45383) | function dv(array) {
  method get (line 45391) | get(array, offset) {
  method put (line 45394) | put(array, offset, value) {
  method get (line 45404) | get(array, offset) {
  method put (line 45407) | put(array, offset, value) {
  method get (line 45417) | get(array, offset) {
  method put (line 45420) | put(array, offset, value) {
  method get (line 45430) | get(array, offset) {
  method put (line 45434) | put(array, offset, value) {
  method get (line 45446) | get(array, offset) {
  method put (line 45450) | put(array, offset, value) {
  method get (line 45462) | get(array, offset) {
  method put (line 45465) | put(array, offset, value) {
  method get (line 45475) | get(array, offset) {
  method put (line 45478) | put(array, offset, value) {
  method get (line 45488) | get(array, offset) {
  method put (line 45491) | put(array, offset, value) {
  method get (line 45501) | get(array, offset) {
  method put (line 45504) | put(array, offset, value) {
  method get (line 45514) | get(array, offset) {
  method put (line 45517) | put(array, offset, value) {
  method get (line 45527) | get(array, offset) {
  method put (line 45531) | put(array, offset, value) {
  method get (line 45543) | get(array, offset) {
  method put (line 45547) | put(array, offset, value) {
  method get (line 45559) | get(array, offset) {
  method put (line 45562) | put(array, offset, value) {
  method get (line 45572) | get(array, offset) {
  method put (line 45575) | put(array, offset, value) {
  method get (line 45585) | get(array, offset) {
  method put (line 45588) | put(array, offset, value) {
  method get (line 45598) | get(array, offset) {
  method put (line 45601) | put(array, offset, value) {
  method get (line 45611) | get(array, offset) {
  method put (line 45614) | put(array, offset, value) {
  method get (line 45624) | get(array, offset) {
  method put (line 45627) | put(array, offset, value) {
  method get (line 45637) | get(dataView, offset) {
  method put (line 45640) | put(dataView, offset, value) {
  method get (line 45650) | get(array, offset) {
  method put (line 45653) | put(array, offset, value) {
  method get (line 45663) | get(array, offset) {
  method put (line 45666) | put(array, offset, value) {
  method get (line 45676) | get(array, offset) {
  method put (line 45679) | put(array, offset, value) {
  method get (line 45689) | get(array, offset) {
  method put (line 45692) | put(array, offset, value) {
  method get (line 45702) | get(array, offset) {
  method put (line 45705) | put(array, offset, value) {
  method get (line 45715) | get(array, offset) {
  method put (line 45718) | put(array, offset, value) {
  method get (line 45728) | get(array, offset) {
  method put (line 45731) | put(array, offset, value) {
  class IgnoreType (line 45739) | class IgnoreType {
    method constructor (line 45743) | constructor(len) {
    method get (line 45748) | get(array, off) {
  class Uint8ArrayType (line 45751) | class Uint8ArrayType {
    method constructor (line 45752) | constructor(len) {
    method get (line 45755) | get(array, offset) {
  class StringType (line 45762) | class StringType {
    method constructor (line 45763) | constructor(len, encoding) {
    method get (line 45768) | get(uint8Array, offset) {
  class AnsiStringType (line 45776) | class AnsiStringType {
    method constructor (line 45777) | constructor(len) {
    method get (line 45781) | get(uint8Array, offset = 0) {
  function isType (line 45807) | function isType(value, typeConstructor, typeStringified) {
  function isUint8Array (line 45819) | function isUint8Array(value) {
  function isArrayBuffer (line 45823) | function isArrayBuffer(value) {
  function isUint8ArrayOrArrayBuffer (line 45827) | function isUint8ArrayOrArrayBuffer(value) {
  function assertUint8Array (line 45831) | function assertUint8Array(value) {
  function assertUint8ArrayOrArrayBuffer (line 45837) | function assertUint8ArrayOrArrayBuffer(value) {
  function toUint8Array (line 45843) | function toUint8Array(value) {
  function concatUint8Arrays (line 45855) | function concatUint8Arrays(arrays, totalLength) {
  function areUint8ArraysEqual (line 45874) | function areUint8ArraysEqual(a, b) {
  function compareUint8Arrays (line 45896) | function compareUint8Arrays(a, b) {
  function uint8ArrayToString (line 45918) | function uint8ArrayToString(array, encoding = 'utf8') {
  function assertString (line 45924) | function assertString(value) {
  function stringToUint8Array (line 45932) | function stringToUint8Array(string) {
  function base64ToBase64Url (line 45937) | function base64ToBase64Url(base64) {
  function base64UrlToBase64 (line 45941) | function base64UrlToBase64(base64url) {
  function uint8ArrayToBase64 (line 45948) | function uint8ArrayToBase64(array, {urlSafe = false} = {}) {
  function base64ToUint8Array (line 45968) | function base64ToUint8Array(base64String) {
  function stringToBase64 (line 45973) | function stringToBase64(string, {urlSafe = false} = {}) {
  function base64ToString (line 45978) | function base64ToString(base64String) {
  function uint8ArrayToHex (line 45985) | function uint8ArrayToHex(array) {
  function hexToUint8Array (line 46024) | function hexToUint8Array(hexString) {
  function getUintBE (line 46052) | function getUintBE(view) {
  function indexOf (line 46085) | function indexOf(array, value) {
  function includes (line 46121) | function includes(array, value) {
  function __webpack_require__ (line 46134) | function __webpack_require__(moduleId) {
  class EndOfStreamError_EndOfStreamError (line 46454) | class EndOfStreamError_EndOfStreamError extends Error {
    method constructor (line 46455) | constructor() {
  class AbstractStreamReader_AbstractStreamReader (line 46462) | class AbstractStreamReader_AbstractStreamReader {
    method constructor (line 44727) | constructor() {
    method peek (line 44736) | async peek(uint8Array, mayBeLess = false) {
    method read (line 44741) | async read(buffer, mayBeLess = false) {
    method readFromPeekBuffer (line 44759) | readFromPeekBuffer(buffer) {
    method readRemainderFromStream (line 44778) | async readRemainderFromStream(buffer, mayBeLess) {
    method constructor (line 46463) | constructor() {
    method peek (line 46475) | async peek(uint8Array, offset, length) {
    method read (line 46480) | async read(buffer, offset, length) {
    method readFromPeekBuffer (line 46498) | readFromPeekBuffer(buffer, offset, length) {
    method readRemainderFromStream (line 46517) | async readRemainderFromStream(buffer, offset, initialRemaining) {
  class StreamReader_StreamReader (line 46542) | class StreamReader_StreamReader extends (/* unused pure expression or su...
    method constructor (line 44806) | constructor(s) {
    method readFromStream (line 44831) | async readFromStream(buffer, mayBeLess) {
    method readDeferred (line 44854) | readDeferred(request) {
    method reject (line 44867) | reject(err) {
    method abort (line 44874) | async abort() {
    method close (line 44877) | async close() {
    method constructor (line 46543) | constructor(s) {
    method readFromStream (line 46564) | async readFromStream(buffer, offset, length) {
    method readDeferred (line 46589) | readDeferred(request) {
    method reject (line 46602) | reject(err) {
    method abort (line 46609) | async abort() {
    method close (line 46612) | async close() {
  class WebStreamReader (line 46625) | class WebStreamReader extends AbstractStreamReader_AbstractStreamReader {
    method constructor (line 44885) | constructor(reader) {
    method abort (line 44889) | async abort() {
    method close (line 44892) | async close() {
    method constructor (line 46626) | constructor(stream) {
    method readFromStream (line 46630) | async readFromStream(buffer, offset, length) {
    method abort (line 46644) | abort() {
    method close (line 46647) | async close() {
  class AbstractTokenizer (line 46663) | class AbstractTokenizer {
    method constructor (line 45029) | constructor(options) {
    method readToken (line 45048) | async readToken(token, position = this.position) {
    method peekToken (line 45061) | async peekToken(token, position = this.position) {
    method readNumber (line 45073) | async readNumber(token) {
    method peekNumber (line 45084) | async peekNumber(token) {
    method ignore (line 45095) | async ignore(length) {
    method close (line 45106) | async close() {
    method normalizeOptions (line 45110) | normalizeOptions(uint8Array, options) {
    method abort (line 45123) | abort() {
    method constructor (line 46669) | constructor(options) {
    method readToken (line 46688) | async readToken(token, position = this.position) {
    method peekToken (line 46701) | async peekToken(token, position = this.position) {
    method readNumber (line 46713) | async readNumber(token) {
    method peekNumber (line 46724) | async peekNumber(token) {
    method ignore (line 46735) | async ignore(length) {
    method close (line 46746) | async close() {
    method normalizeOptions (line 46750) | normalizeOptions(uint8Array, options) {
    method abort (line 46769) | abort() {
  class ReadStreamTokenizer_ReadStreamTokenizer (line 46778) | class ReadStreamTokenizer_ReadStreamTokenizer extends AbstractTokenizer {
    method constructor (line 45138) | constructor(streamReader, options) {
    method readBuffer (line 45149) | async readBuffer(uint8Array, options) {
    method peekBuffer (line 45175) | async peekBuffer(uint8Array, options) {
    method ignore (line 45206) | async ignore(length) {
    method abort (line 45221) | abort() {
    method close (line 45224) | async close() {
    method supportsRandomAccess (line 45227) | supportsRandomAccess() {
    method constructor (line 46784) | constructor(streamReader, options) {
    method readBuffer (line 46795) | async readBuffer(uint8Array, options) {
    method peekBuffer (line 46821) | async peekBuffer(uint8Array, options) {
    method ignore (line 46852) | async ignore(length) {
    method abort (line 46867) | abort() {
    method supportsRandomAccess (line 46870) | supportsRandomAccess() {
  class BufferTokenizer (line 46878) | class BufferTokenizer extends AbstractTokenizer {
    method constructor (line 45241) | constructor(uint8Array, options) {
    method readBuffer (line 45252) | async readBuffer(uint8Array, options) {
    method peekBuffer (line 45266) | async peekBuffer(uint8Array, options) {
    method close (line 45275) | close() {
    method supportsRandomAccess (line 45278) | supportsRandomAccess() {
    method setPosition (line 45281) | setPosition(position) {
    method constructor (line 46884) | constructor(uint8Array, options) {
    method readBuffer (line 46895) | async readBuffer(uint8Array, options) {
    method peekBuffer (line 46912) | async peekBuffer(uint8Array, options) {
    method close (line 46921) | close() {
    method supportsRandomAccess (line 46924) | supportsRandomAccess() {
    method setPosition (line 46927) | setPosition(position) {
  function fromStream (line 46945) | function fromStream(stream, options) {
  function fromWebStream (line 46955) | function fromWebStream(webStream, options) {
  function fromBuffer (line 46964) | function fromBuffer(uint8Array, options) {
  function stringToBytes (line 46973) | function stringToBytes(string) {
  function tarHeaderChecksumMatches (line 46984) | function tarHeaderChecksumMatches(arrayBuffer, offset = 0) {
  function fileTypeFromStream (line 47337) | async function fileTypeFromStream(stream) {
  function fileTypeFromBuffer (line 47341) | async function fileTypeFromBuffer(input) {
  function fileTypeFromBlob (line 47345) | async function fileTypeFromBlob(blob) {
  function _check (line 47349) | function _check(buffer, headers, options) {
  function fileTypeFromTokenizer (line 47370) | async function fileTypeFromTokenizer(tokenizer) {
  function fileTypeStream (line 47374) | async function fileTypeStream(webStream, options) {
  class FileTypeParser (line 47378) | class FileTypeParser {
    method constructor (line 47379) | constructor(options) {
    method fromTokenizer (line 47389) | async fromTokenizer(tokenizer) {
    method fromBuffer (line 47406) | async fromBuffer(input) {
    method fromBlob (line 47420) | async fromBlob(blob) {
    method fromStream (line 47424) | async fromStream(stream) {
    method toDetectionStream (line 47433) | async toDetectionStream(stream, options) {
    method check (line 47478) | check(header, options) {
    method checkString (line 47482) | checkString(header, options) {
    method parse (line 47486) | async parse(tokenizer) {
    method readTiffTag (line 48987) | async readTiffTag(bigEndian) {
    method readTiffIFD (line 49005) | async readTiffIFD(bigEndian) {
    method readTiffHeader (line 49015) | async readTiffHeader(bigEndian) {
  function isSingleton (line 49187) | function isSingleton(alias) {
  function isUnique (line 49194) | function isUnique(alias) {
  class CommonTagMapper (line 49199) | class CommonTagMapper {
    method toIntOrNull (line 49200) | static toIntOrNull(str) {
    method normalizeTrack (line 49207) | static normalizeTrack(origVal) {
    method constructor (line 49214) | constructor(tagTypes, tagMap) {
    method mapGenericTag (line 49225) | mapGenericTag(tag, warnings) {
    method getCommonName (line 49237) | getCommonName(tag) {
    method postMap (line 49245) | postMap(tag, warnings) {
  class ID3v1TagMapper (line 49265) | class ID3v1TagMapper extends CommonTagMapper {
    method constructor (line 49266) | constructor() {
  class CaseInsensitiveTagMap (line 49273) | class CaseInsensitiveTagMap extends CommonTagMapper {
    method constructor (line 49274) | constructor(tagTypes, tagMap) {
    method getCommonName (line 49285) | getCommonName(tag) {
  class ID3v24TagMapper (line 49434) | class ID3v24TagMapper extends CaseInsensitiveTagMap {
    method toRating (line 49435) | static toRating(popm) {
    method constructor (line 49441) | constructor() {
    method postMap (line 49449) | postMap(tag, warnings) {
  class AsfTagMapper (line 49561) | class AsfTagMapper extends CommonTagMapper {
    method toRating (line 49562) | static toRating(rating) {
    method constructor (line 49567) | constructor() {
    method postMap (line 49570) | postMap(tag) {
  class ID3v22TagMapper (line 49623) | class ID3v22TagMapper extends CaseInsensitiveTagMap {
    method constructor (line 49624) | constructor() {
  class APEv2TagMapper (line 49708) | class APEv2TagMapper extends CaseInsensitiveTagMap {
    method constructor (line 49709) | constructor() {
  class MP4TagMapper (line 49823) | class MP4TagMapper extends CaseInsensitiveTagMap {
    method constructor (line 49824) | constructor() {
    method postMap (line 49827) | postMap(tag, warnings) {
  class VorbisTagMapper (line 49951) | class VorbisTagMapper extends CommonTagMapper {
    method toRating (line 49952) | static toRating(email, rating, maxScore) {
    method constructor (line 49958) | constructor() {
    method postMap (line 49961) | postMap(tag) {
  class RiffInfoTagMapper (line 50004) | class RiffInfoTagMapper extends CommonTagMapper {
    method constructor (line 50005) | constructor() {
  class MatroskaTagMapper (line 50038) | class MatroskaTagMapper extends CaseInsensitiveTagMap {
    method constructor (line 50039) | constructor() {
  class AiffTagMapper (line 50055) | class AiffTagMapper extends CommonTagMapper {
    method constructor (line 50056) | constructor() {
  class CombinedTagMapper (line 50075) | class CombinedTagMapper {
    method constructor (line 50076) | constructor() {
    method mapTag (line 50101) | mapTag(tagType, tag, warnings) {
    method registerTagMapper (line 50108) | registerTagMapper(genericTagMapper) {
  function parseLrc (line 50124) | function parseLrc(lrcString) {
  class MetadataCollector (line 50165) | class MetadataCollector {
    method constructor (line 50166) | constructor(opts) {
    method hasAny (line 50200) | hasAny() {
    method addStreamInfo (line 50203) | addStreamInfo(streamInfo) {
    method setFormat (line 50207) | setFormat(key, value) {
    method addTag (line 50214) | async addTag(tagType, tagId, value) {
    method addWarning (line 50223) | addWarning(warning) {
    method postMap (line 50226) | async postMap(tagType, tag) {
    method toCommonMetadata (line 50350) | toCommonMetadata() {
    method postFixPicture (line 50362) | async postFixPicture(picture) {
    method toCommon (line 50386) | async toCommon(tagType, tagId, value) {
    method setGenericTag (line 50396) | setGenericTag(tagType, tag) {
  function joinArtists (line 50433) | function joinArtists(artists) {
  method load (line 50444) | async load() {
  method load (line 50453) | async load() {
  method load (line 50462) | async load() {
  method load (line 50471) | async load() {
  method load (line 50480) | async load() {
  method load (line 50489) | async load() {
  method load (line 50498) | async load() {
  method load (line 50507) | async load() {
  method load (line 50516) | async load() {
  method load (line 50525) | async load() {
  method load (line 50534) | async load() {
  method load (line 50543) | async load() {
  method load (line 50552) | async load() {
  function parseHttpContentType (line 50579) | function parseHttpContentType(contentType) {
  class ParserFactory (line 50589) | class ParserFactory {
    method constructor (line 50590) | constructor() {
    method registerParser (line 50608) | registerParser(parser) {
    method parse (line 50611) | async parse(tokenizer, parserLoader, opts) {
    method findLoaderForExtension (line 50655) | findLoaderForExtension(filePath) {
    method findLoaderForType (line 50661) | findLoaderForType(moduleName) {
  function getExtension (line 50665) | function getExtension(fname) {
  function getParserIdForMimeType (line 50673) | function getParserIdForMimeType(httpContentType) {
  function getLyricsHeaderLength (line 50763) | async function getLyricsHeaderLength(tokenizer) {
  function parseBlob (line 50797) | async function parseBlob(blob, options = {}) {
  function parseWebStream (line 50811) | async function parseWebStream(webStream, fileInfo, options = {}) {
  function parseBuffer (line 50828) | async function parseBuffer(uint8Array, fileInfo, options = {}) {
  function parseFromTokenizer (line 50838) | function parseFromTokenizer(tokenizer, options) {
  function orderTags (line 50847) | function orderTags(nativeTags) {
  function ratingToStars (line 50862) | function ratingToStars(rating) {
  function selectCover (line 50870) | function selectCover(pictures) {
  function scanAppendingHeaders (line 50877) | async function scanAppendingHeaders(tokenizer, options = {}) {
  function parseFile (line 50890) | async function parseFile(filePath, options = {}) {
  function ownKeys (line 50898) | function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnProper...
  function _objectSpread (line 50899) | function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) {...
  class Webamp (line 50903) | class Webamp extends webampLazy["default"] {
    method constructor (line 50904) | constructor(options) {

FILE: webamp/packages/ani-cursor/src/__tests__/parser.test.ts
  constant LONG_BASE_64 (line 5) | const LONG_BASE_64 = /([A-Za-z0-9+/=]{50})[A-Za-z0-9+/=]+/g;
  function readPathCss (line 9) | function readPathCss(filePath: string): string {

FILE: webamp/packages/ani-cursor/src/index.ts
  type AniCursorImage (line 3) | type AniCursorImage = {
  constant JIFFIES_PER_MS (line 11) | const JIFFIES_PER_MS = 1000 / 60;
  function convertAniBinaryToCSS (line 17) | function convertAniBinaryToCSS(
  function readAni (line 57) | function readAni(contents: Uint8Array): AniCursorImage {
  function base64FromDataArray (line 82) | function base64FromDataArray(dataArray: Uint8Array): string {
  function curUrlFromByteArray (line 86) | function curUrlFromByteArray(arr: Uint8Array) {
  function sum (line 91) | function sum(values: number[]): number {

FILE: webamp/packages/ani-cursor/src/parser.ts
  type Chunk (line 4) | type Chunk = {
  type AniMetadata (line 15) | type AniMetadata = {
  type ParsedAni (line 27) | type ParsedAni = {
  constant DWORD (line 36) | const DWORD = { bits: 32, be: false, signed: false, fp: false };
  function parseAni (line 38) | function parseAni(arr: Uint8Array): ParsedAni {

FILE: webamp/packages/webamp/demo/js/DemoDesktop.tsx
  type Props (line 13) | interface Props {
  constant ICON_WIDTH (line 17) | const ICON_WIDTH = 75;
  constant ICON_HEIGHT (line 18) | const ICON_HEIGHT = 100;
  constant VERTICAL_MARGIN (line 19) | const VERTICAL_MARGIN = 30;
  constant HORIZONTAL_MARGIN (line 20) | const HORIZONTAL_MARGIN = 10;

FILE: webamp/packages/webamp/demo/js/DesktopIcon.tsx
  type Props (line 5) | interface Props {

FILE: webamp/packages/webamp/demo/js/DesktopLinkIcon.tsx
  type Props (line 5) | interface Props {

FILE: webamp/packages/webamp/demo/js/IconImage.tsx
  type Props (line 3) | type Props = {
  function IconImage (line 6) | function IconImage({ src }: Props) {

FILE: webamp/packages/webamp/demo/js/MilkIcon.tsx
  type Props (line 12) | interface Props {

FILE: webamp/packages/webamp/demo/js/Mp3Icon.tsx
  type Props (line 12) | interface Props {
  function onOpen (line 32) | function onOpen() {

FILE: webamp/packages/webamp/demo/js/SkinIcon.tsx
  type Props (line 9) | interface Props {
  function onOpen (line 15) | function onOpen() {

FILE: webamp/packages/webamp/demo/js/SuspenseImage.tsx
  type Resource (line 4) | interface Resource<Payload> {
  type status (line 8) | type status = "pending" | "success" | "error";
  function createResource (line 13) | function createResource<Payload>(
  function loadImage (line 62) | function loadImage(source: string): Resource<string> {
  function SuspenseImage (line 90) | function SuspenseImage(

FILE: webamp/packages/webamp/demo/js/WebampIcon.tsx
  type Props (line 10) | interface Props {
  function onOpen (line 26) | function onOpen() {

FILE: webamp/packages/webamp/demo/js/butterchurnOptions.ts
  constant KNOWN_PRESET_URLS_REGEXES (line 3) | const KNOWN_PRESET_URLS_REGEXES = [
  function presetNameFromURL (line 10) | function presetNameFromURL(url: string) {
  function loadButterchurnPresetMapURL (line 23) | async function loadButterchurnPresetMapURL(url: string) {
  function getButterchurnOptions (line 31) | function getButterchurnOptions(

FILE: webamp/packages/webamp/demo/js/config.ts
  type Config (line 6) | interface Config {
  constant SHOW_DESKTOP_ICONS (line 29) | const SHOW_DESKTOP_ICONS = true;

FILE: webamp/packages/webamp/demo/js/dropboxFilePicker.ts
  type DropboxFile (line 3) | interface DropboxFile {
  function genAudioFileUrlsFromDropbox (line 9) | function genAudioFileUrlsFromDropbox(): Promise<DropboxFile[]> {

FILE: webamp/packages/webamp/demo/js/eventLogger.ts
  function logEventFromAction (line 5) | function logEventFromAction(

FILE: webamp/packages/webamp/demo/js/index.js
  constant DEFAULT_DOCUMENT_TITLE (line 41) | const DEFAULT_DOCUMENT_TITLE = document.title;
  constant NOISY_ACTION_TYPES (line 43) | const NOISY_ACTION_TYPES = new Set([
  constant MIN_MILKDROP_WIDTH (line 52) | const MIN_MILKDROP_WIDTH = 725;
  function supressDragAndDrop (line 62) | function supressDragAndDrop(e) {
  function filterBreadcrumbActions (line 75) | function filterBreadcrumbActions(action) {
  function main (line 100) | async function main() {

FILE: webamp/packages/webamp/demo/js/logger.ts
  type GoogleAnalyticsEvent (line 1) | type GoogleAnalyticsEvent = {
  function log (line 7) | function log({ category, action, label, value }: GoogleAnalyticsEvent) {

FILE: webamp/packages/webamp/demo/js/mediaSession.ts
  function enableMediaSession (line 3) | function enableMediaSession(webamp: WebampLazy) {

FILE: webamp/packages/webamp/index.d.ts
  type TrackInfo (line 1) | interface TrackInfo {
  type URLTrack (line 31) | interface URLTrack extends TrackInfo {
  type BlobTrack (line 42) | interface BlobTrack extends TrackInfo {
  type LoadedURLTrack (line 49) | interface LoadedURLTrack {
  type Track (line 64) | type Track = URLTrack | BlobTrack;
  type Options (line 66) | interface Options {
  class Webamp (line 137) | class Webamp {

FILE: webamp/packages/webamp/js/Disposable.ts
  type Teardown (line 1) | type Teardown = (() => void) | { dispose: () => void };
  class Disposable (line 3) | class Disposable {
    method constructor (line 7) | constructor() {
    method add (line 11) | add(...teardowns: Teardown[]): void {
    method dispose (line 20) | dispose() {

FILE: webamp/packages/webamp/js/__mocks__/storeMock.js
  function mockGetStore (line 5) | function mockGetStore() {

FILE: webamp/packages/webamp/js/__tests__/baseline.integration-test.js
  constant DOMAIN (line 7) | const DOMAIN = "http://localhost:8080";

FILE: webamp/packages/webamp/js/actionCreators/equalizer.ts
  constant BAND_SNAP_DISTANCE (line 11) | const BAND_SNAP_DISTANCE = 50;
  constant BAND_MID_POINT_VALUE (line 12) | const BAND_MID_POINT_VALUE = 1200;
  function _snapBandValue (line 14) | function _snapBandValue(value: number): number {
  function setEqBand (line 25) | function setEqBand(band: Band, value: number): Action {
  function _setEqTo (line 29) | function _setEqTo(value: number): Thunk {
  function setEqToMax (line 41) | function setEqToMax(): Thunk {
  function setEqToMid (line 45) | function setEqToMid(): Thunk {
  function setEqToMin (line 49) | function setEqToMin(): Thunk {
  function setPreamp (line 53) | function setPreamp(value: number): Action {
  function toggleEq (line 57) | function toggleEq(): Thunk {
  function toggleEqAuto (line 67) | function toggleEqAuto(): Thunk {

FILE: webamp/packages/webamp/js/actionCreators/files.ts
  constant DURATION_VISIBLE_PRIORITY (line 49) | const DURATION_VISIBLE_PRIORITY = 5;
  constant META_DATA_VISIBLE_PRIORITY (line 50) | const META_DATA_VISIBLE_PRIORITY = 10;
  constant DURATION_PRIORITY (line 51) | const DURATION_PRIORITY = 15;
  constant META_DATA_PRIORITY (line 52) | const META_DATA_PRIORITY = 20;
  function addTracksFromReferences (line 56) | function addTracksFromReferences(
  constant SKIN_FILENAME_MATCHER (line 68) | const SKIN_FILENAME_MATCHER = new RegExp("(wsz|zip)$", "i");
  constant EQF_FILENAME_MATCHER (line 69) | const EQF_FILENAME_MATCHER = new RegExp("eqf$", "i");
  function loadFilesFromReferences (line 70) | function loadFilesFromReferences(
  function setSkinFromBlob (line 92) | function setSkinFromBlob(blob: Blob | Promise<Blob>): Thunk {
  function setSkinFromClient (line 133) | function setSkinFromClient(data: string): Thunk {
  function setSkinFromUrl (line 173) | function setSkinFromUrl(url: string): Thunk {
  function _openFileDialog (line 193) | function _openFileDialog(
  function openEqfFileDialog (line 209) | function openEqfFileDialog(): Thunk {
  function openMediaFileDialog (line 213) | function openMediaFileDialog(): Thunk {
  function openSkinFileDialog (line 217) | function openSkinFileDialog() {
  function fetchMediaDuration (line 221) | function fetchMediaDuration(url: string, id: number): Thunk {
  function loadMedia (line 243) | function loadMedia(
  function loadMediaFiles (line 262) | function loadMediaFiles(
  function loadMediaFile (line 280) | function loadMediaFile(
  function queueFetchingMediaTags (line 347) | function queueFetchingMediaTags(id: number): Thunk {
  function fetchMediaTags (line 362) | function fetchMediaTags(file: string | Blob, id: number): Thunk {
  function setEqFromFileReference (line 394) | function setEqFromFileReference(fileReference: File): Thunk {
  function setEqFromClient (line 403) | function setEqFromClient(data: string): Thunk {
  function setEqFromObject (line 411) | function setEqFromObject(preset: EqfPreset): Thunk {
  function downloadPreset (line 421) | function downloadPreset(): Thunk {
  function downloadHtmlPlaylist (line 435) | function downloadHtmlPlaylist(): Thunk {
  constant DIR_SUPPORT (line 445) | const DIR_SUPPORT =
  function addFilesAtIndex (line 455) | function addFilesAtIndex(nextIndex: number): Thunk {
  function addDirAtIndex (line 464) | function addDirAtIndex(nextIndex: number): Thunk {
  function addFilesFromUrl (line 477) | function addFilesFromUrl(atIndex = 0): Thunk {
  function addFilesFromList (line 492) | function addFilesFromList(): Thunk {
  function saveFilesToList (line 509) | function saveFilesToList(): Thunk {
  function droppedFiles (line 519) | function droppedFiles(e: React.DragEvent, windowId: WindowId): Thunk {

FILE: webamp/packages/webamp/js/actionCreators/index.ts
  function close (line 138) | function close(): Thunk {
  function open (line 154) | function open(): Action {
  function toggleVisualizerStyle (line 158) | function toggleVisualizerStyle(): Action {
  function minimize (line 162) | function minimize(): Action {
  function setFocus (line 166) | function setFocus(input: string): Action {
  function unsetFocus (line 170) | function unsetFocus(): Action {
  function focusBand (line 174) | function focusBand(band: Slider): Action {
  function loadSerializedState (line 178) | function loadSerializedState(
  function loadDefaultSkin (line 188) | function loadDefaultSkin(): Action {
  function toggleMilkdropDesktop (line 192) | function toggleMilkdropDesktop(): Thunk {
  function setMilkdropFullscreen (line 204) | function setMilkdropFullscreen(enabled: boolean): Thunk {
  function toggleMilkdropFullscreen (line 211) | function toggleMilkdropFullscreen(): Thunk {
  function setMilkdropLock (line 218) | function setMilkdropLock(enabled: boolean): Thunk {
  function toggleMilkdropLock (line 224) | function toggleMilkdropLock(): Thunk {
  function togglePresetOverlay (line 231) | function togglePresetOverlay(): Thunk {
  function stepMarquee (line 241) | function stepMarquee(): Action {

FILE: webamp/packages/webamp/js/actionCreators/media.ts
  function playTrack (line 22) | function playTrack(id: number): Thunk {
  function playTrackNow (line 34) | function playTrackNow(id: number): Action {
  function play (line 38) | function play(): Thunk {
  function pause (line 53) | function pause(): Thunk {
  function stop (line 64) | function stop(): Action {
  function nextN (line 68) | function nextN(n: number): Thunk {
  function next (line 79) | function next(): Thunk {
  function previous (line 83) | function previous(): Thunk {
  function seekToTime (line 87) | function seekToTime(seconds: number): Thunk {
  function seekForward (line 100) | function seekForward(seconds: number): Thunk {
  function seekBackward (line 107) | function seekBackward(seconds: number): Thunk {
  function setVolume (line 111) | function setVolume(volume: number): Action {
  function adjustVolume (line 118) | function adjustVolume(volumeDiff: number): Thunk {
  function scrollVolume (line 125) | function scrollVolume(e: React.WheelEvent<HTMLDivElement>): Thunk {
  function setBalance (line 134) | function setBalance(balance: number): Action {
  function toggleRepeat (line 146) | function toggleRepeat(): Action {
  function toggleShuffle (line 150) | function toggleShuffle(): Action {
  function toggleTimeMode (line 154) | function toggleTimeMode(): Action {

FILE: webamp/packages/webamp/js/actionCreators/milkdrop.ts
  function normalizePresetTypes (line 24) | function normalizePresetTypes(preset: Preset): StatePreset {
  function initializePresets (line 51) | function initializePresets(presetOptions: ButterchurnOptions): Thunk {
  function loadPresets (line 64) | function loadPresets(presets: StatePreset[]): Thunk {
  function appendPresetFileList (line 79) | function appendPresetFileList(fileList: FileList): Thunk {
  function selectNextPreset (line 86) | function selectNextPreset(
  function selectPreset (line 103) | function selectPreset(
  function selectPreviousPreset (line 115) | function selectPreviousPreset(
  function selectRandomPreset (line 131) | function selectRandomPreset(
  function requestPresetAtIndex (line 146) | function requestPresetAtIndex(
  function handlePresetDrop (line 173) | function handlePresetDrop(e: React.DragEvent): Thunk {
  function toggleRandomizePresets (line 177) | function toggleRandomizePresets(): Action {
  function togglePresetCycling (line 181) | function togglePresetCycling(): Action {
  function scheduleMilkdropMessage (line 185) | function scheduleMilkdropMessage(message: string): Action {

FILE: webamp/packages/webamp/js/actionCreators/playlist.ts
  function cropPlaylist (line 20) | function cropPlaylist(): Thunk {
  function removeSelectedTracks (line 39) | function removeSelectedTracks(): Thunk {
  function removeAllTracks (line 50) | function removeAllTracks(): Thunk {
  function reverseList (line 58) | function reverseList(): Action {
  function randomizeList (line 62) | function randomizeList(): Action {
  function sortListByTitle (line 66) | function sortListByTitle(): Thunk {
  function setPlaylistScrollPosition (line 77) | function setPlaylistScrollPosition(position: number): Action {
  function scrollNTracks (line 81) | function scrollNTracks(n: number): Thunk {
  function scrollPlaylistByDelta (line 94) | function scrollPlaylistByDelta(
  function scrollUpFourTracks (line 116) | function scrollUpFourTracks(): Thunk {
  function scrollDownFourTracks (line 120) | function scrollDownFourTracks(): Thunk {
  function dragSelected (line 124) | function dragSelected(offset: number): Thunk {
  function invertSelection (line 153) | function invertSelection(): Action {
  function selectZero (line 156) | function selectZero(): Action {
  function selectAll (line 160) | function selectAll(): Action {

FILE: webamp/packages/webamp/js/actionCreators/windows.ts
  function withWindowGraphIntegrity (line 28) | function withWindowGraphIntegrity(action: Action): Thunk {
  function toggleDoubleSizeMode (line 58) | function toggleDoubleSizeMode(): Thunk {
  function toggleLlamaMode (line 62) | function toggleLlamaMode(): Action {
  function toggleEqualizerShadeMode (line 66) | function toggleEqualizerShadeMode(): Thunk {
  function toggleMainWindowShadeMode (line 73) | function toggleMainWindowShadeMode(): Thunk {
  function togglePlaylistShadeMode (line 80) | function togglePlaylistShadeMode(): Thunk {
  function closeWindow (line 87) | function closeWindow(windowId: WindowId): Action {
  function hideWindow (line 91) | function hideWindow(windowId: WindowId): Action {
  function showWindow (line 95) | function showWindow(windowId: WindowId): Action {
  function setFocusedWindow (line 99) | function setFocusedWindow(window: WindowId | null): Action {
  function setWindowSize (line 103) | function setWindowSize(
  function toggleWindow (line 110) | function toggleWindow(windowId: WindowId): Action {
  function updateWindowPositions (line 114) | function updateWindowPositions(
  function centerWindowsInContainer (line 121) | function centerWindowsInContainer(container: HTMLElement): Thunk {
  function centerWindowsInView (line 132) | function centerWindowsInView(): Thunk {
  function centerWindows (line 141) | function centerWindows(box: {
  function browserWindowSizeChanged (line 187) | function browserWindowSizeChanged(size: {
  function resetWindowSizes (line 197) | function resetWindowSizes(): Action {
  function stackWindows (line 201) | function stackWindows(): Thunk {
  function ensureWindowsAreOnScreen (line 209) | function ensureWindowsAreOnScreen(): Thunk {

FILE: webamp/packages/webamp/js/actionTypes.ts
  constant ADD_TRACK_FROM_URL (line 1) | const ADD_TRACK_FROM_URL = "ADD_TRACK_FROM_URL";
  constant CLOSE_WINAMP (line 2) | const CLOSE_WINAMP = "CLOSE_WINAMP";
  constant OPEN_WINAMP (line 3) | const OPEN_WINAMP = "OPEN_WINAMP";
  constant MINIMIZE_WINAMP (line 4) | const MINIMIZE_WINAMP = "MINIMIZE_WINAMP";
  constant IS_PLAYING (line 5) | const IS_PLAYING = "IS_PLAYING";
  constant IS_STOPPED (line 6) | const IS_STOPPED = "IS_STOPPED";
  constant PAUSE (line 7) | const PAUSE = "PAUSE";
  constant PLAY (line 8) | const PLAY = "PLAY";
  constant SEEK_TO_PERCENT_COMPLETE (line 9) | const SEEK_TO_PERCENT_COMPLETE = "SEEK_TO_PERCENT_COMPLETE";
  constant SET_BALANCE (line 10) | const SET_BALANCE = "SET_BALANCE";
  constant SET_BAND_VALUE (line 11) | const SET_BAND_VALUE = "SET_BAND_VALUE";
  constant SET_FOCUS (line 12) | const SET_FOCUS = "SET_FOCUS";
  constant SET_BAND_FOCUS (line 13) | const SET_BAND_FOCUS = "SET_BAND_FOCUS";
  constant SET_FOCUSED_WINDOW (line 14) | const SET_FOCUSED_WINDOW = "SET_FOCUSED_WINDOW";
  constant SET_MEDIA (line 15) | const SET_MEDIA = "SET_MEDIA";
  constant SET_SCRUB_POSITION (line 16) | const SET_SCRUB_POSITION = "SET_SCRUB_POSITION";
  constant SET_SKIN_DATA (line 17) | const SET_SKIN_DATA = "SET_SKIN_DATA";
  constant SET_VOLUME (line 18) | const SET_VOLUME = "SET_VOLUME";
  constant START_WORKING (line 19) | const START_WORKING = "START_WORKING";
  constant STEP_MARQUEE (line 20) | const STEP_MARQUEE = "STEP_MARQUEE";
  constant STOP (line 21) | const STOP = "STOP";
  constant STOP_WORKING (line 22) | const STOP_WORKING = "STOP_WORKING";
  constant TOGGLE_DOUBLESIZE_MODE (line 23) | const TOGGLE_DOUBLESIZE_MODE = "TOGGLE_DOUBLESIZE_MODE";
  constant SET_EQ_AUTO (line 24) | const SET_EQ_AUTO = "SET_EQ_AUTO";
  constant SET_EQ_ON (line 25) | const SET_EQ_ON = "SET_EQ_ON";
  constant SET_EQ_OFF (line 26) | const SET_EQ_OFF = "SET_EQ_OFF";
  constant TOGGLE_LLAMA_MODE (line 27) | const TOGGLE_LLAMA_MODE = "TOGGLE_LLAMA_MODE";
  constant TOGGLE_REPEAT (line 28) | const TOGGLE_REPEAT = "TOGGLE_REPEAT";
  constant TOGGLE_SHUFFLE (line 29) | const TOGGLE_SHUFFLE = "TOGGLE_SHUFFLE";
  constant TOGGLE_TIME_MODE (line 30) | const TOGGLE_TIME_MODE = "TOGGLE_TIME_MODE";
  constant TOGGLE_VISUALIZER_STYLE (line 31) | const TOGGLE_VISUALIZER_STYLE = "TOGGLE_VISUALIZER_STYLE";
  constant UNSET_FOCUS (line 32) | const UNSET_FOCUS = "UNSET_FOCUS";
  constant UPDATE_TIME_ELAPSED (line 33) | const UPDATE_TIME_ELAPSED = "UPDATE_TIME_ELAPSED";
  constant SET_USER_MESSAGE (line 34) | const SET_USER_MESSAGE = "SET_USER_MESSAGE";
  constant UNSET_USER_MESSAGE (line 35) | const UNSET_USER_MESSAGE = "UNSET_USER_MESSAGE";
  constant SET_PLAYLIST_SCROLL_POSITION (line 36) | const SET_PLAYLIST_SCROLL_POSITION = "SET_PLAYLIST_SCROLL_POSITION";
  constant CLICKED_TRACK (line 37) | const CLICKED_TRACK = "CLICKED_TRACK";
  constant CTRL_CLICKED_TRACK (line 38) | const CTRL_CLICKED_TRACK = "CTRL_CLICKED_TRACK";
  constant SHIFT_CLICKED_TRACK (line 39) | const SHIFT_CLICKED_TRACK = "SHIFT_CLICKED_TRACK";
  constant SELECT_ALL (line 40) | const SELECT_ALL = "SELECT_ALL";
  constant SELECT_ZERO (line 41) | const SELECT_ZERO = "SELECT_ZERO";
  constant INVERT_SELECTION (line 42) | const INVERT_SELECTION = "INVERT_SELECTION";
  constant REMOVE_ALL_TRACKS (line 43) | const REMOVE_ALL_TRACKS = "REMOVE_ALL_TRACKS";
  constant CROP_TRACKS (line 44) | const CROP_TRACKS = "CROP_TRACKS";
  constant FILE_INFO (line 45) | const FILE_INFO = "FILE_INFO";
  constant REMOVE_TRACKS (line 46) | const REMOVE_TRACKS = "REMOVE_TRACKS";
  constant SET_AVAILABLE_SKINS (line 47) | const SET_AVAILABLE_SKINS = "SET_AVAILABLE_SKINS";
  constant REVERSE_LIST (line 48) | const REVERSE_LIST = "REVERSE_LIST";
  constant RANDOMIZE_LIST (line 49) | const RANDOMIZE_LIST = "RANDOMIZE_LIST";
  constant SET_TRACK_ORDER (line 50) | const SET_TRACK_ORDER = "SET_TRACK_ORDER";
  constant PLAY_TRACK (line 51) | const PLAY_TRACK = "PLAY_TRACK";
  constant BUFFER_TRACK (line 52) | const BUFFER_TRACK = "BUFFER_TRACK";
  constant DRAG_SELECTED (line 53) | const DRAG_SELECTED = "DRAG_SELECTED";
  constant SET_MEDIA_TAGS (line 54) | const SET_MEDIA_TAGS = "SET_MEDIA_TAGS";
  constant SET_MEDIA_DURATION (line 55) | const SET_MEDIA_DURATION = "SET_MEDIA_DURATION";
  constant TOGGLE_WINDOW (line 56) | const TOGGLE_WINDOW = "TOGGLE_WINDOW";
  constant CLOSE_WINDOW (line 57) | const CLOSE_WINDOW = "CLOSE_WINDOW";
  constant MEDIA_TAG_REQUEST_INITIALIZED (line 58) | const MEDIA_TAG_REQUEST_INITIALIZED = "MEDIA_TAG_REQUEST_INITIALIZED";
  constant MEDIA_TAG_REQUEST_FAILED (line 59) | const MEDIA_TAG_REQUEST_FAILED = "MEDIA_TAG_REQUEST_FAILED";
  constant NETWORK_CONNECTED (line 60) | const NETWORK_CONNECTED = "NETWORK_CONNECTED";
  constant NETWORK_DISCONNECTED (line 61) | const NETWORK_DISCONNECTED = "NETWORK_DISCONNECTED";
  constant UPDATE_WINDOW_POSITIONS (line 62) | const UPDATE_WINDOW_POSITIONS = "UPDATE_WINDOW_POSITIONS";
  constant WINDOW_SIZE_CHANGED (line 63) | const WINDOW_SIZE_CHANGED = "WINDOW_SIZE_CHANGED";
  constant TOGGLE_WINDOW_SHADE_MODE (line 64) | const TOGGLE_WINDOW_SHADE_MODE = "TOGGLE_WINDOW_SHADE_MODE";
  constant LOADED (line 65) | const LOADED = "LOADED";
  constant SET_Z_INDEX (line 66) | const SET_Z_INDEX = "SET_Z_INDEX";
  constant DISABLE_MARQUEE (line 67) | const DISABLE_MARQUEE = "DISABLE_MARQUEE";
  constant SET_DUMMY_VIZ_DATA (line 68) | const SET_DUMMY_VIZ_DATA = "SET_DUMMY_VIZ_DATA";
  constant SET_WINDOW_VISIBILITY (line 69) | const SET_WINDOW_VISIBILITY = "SET_WINDOW_VISIBILITY";
  constant LOADING (line 70) | const LOADING = "LOADING";
  constant CLOSE_REQUESTED (line 71) | const CLOSE_REQUESTED = "CLOSE_REQUESTED";
  constant LOAD_SERIALIZED_STATE (line 72) | const LOAD_SERIALIZED_STATE = "LOAD_SERIALIZED_STATE";
  constant RESET_WINDOW_SIZES (line 73) | const RESET_WINDOW_SIZES = "RESET_WINDOW_SIZES";
  constant BROWSER_WINDOW_SIZE_CHANGED (line 74) | const BROWSER_WINDOW_SIZE_CHANGED = "BROWSER_WINDOW_SIZE_CHANGED";
  constant LOAD_DEFAULT_SKIN (line 75) | const LOAD_DEFAULT_SKIN = "LOAD_DEFAULT_SKIN";
  constant ENABLE_MILKDROP (line 76) | const ENABLE_MILKDROP = "ENABLE_MILKDROP";
  constant SET_MILKDROP_DESKTOP (line 77) | const SET_MILKDROP_DESKTOP = "SET_MILKDROP_DESKTOP";
  constant SET_VISUALIZER_STYLE (line 78) | const SET_VISUALIZER_STYLE = "SET_VISUALIZER_STYLE";
  constant GOT_BUTTERCHURN_PRESETS (line 79) | const GOT_BUTTERCHURN_PRESETS = "GOT_BUTTERCHURN_PRESETS";
  constant GOT_BUTTERCHURN (line 80) | const GOT_BUTTERCHURN = "GOT_BUTTERCHURN";
  constant RESOLVE_PRESET_AT_INDEX (line 81) | const RESOLVE_PRESET_AT_INDEX = "RESOLVE_PRESET_AT_INDEX";
  constant SELECT_PRESET_AT_INDEX (line 82) | const SELECT_PRESET_AT_INDEX = "SELECT_PRESET_AT_INDEX";
  constant TOGGLE_PRESET_OVERLAY (line 83) | const TOGGLE_PRESET_OVERLAY = "TOGGLE_PRESET_OVERLAY";
  constant PRESET_REQUESTED (line 84) | const PRESET_REQUESTED = "PRESET_REQUESTED";
  constant TOGGLE_RANDOMIZE_PRESETS (line 85) | const TOGGLE_RANDOMIZE_PRESETS = "TOGGLE_RANDOMIZE_PRESETS";
  constant TOGGLE_PRESET_CYCLING (line 86) | const TOGGLE_PRESET_CYCLING = "TOGGLE_PRESET_CYCLING";
  constant SCHEDULE_MILKDROP_MESSAGE (line 87) | const SCHEDULE_MILKDROP_MESSAGE = "SCHEDULE_MILKDROP_MESSAGE";
  constant SET_MILKDROP_FULLSCREEN (line 88) | const SET_MILKDROP_FULLSCREEN = "SET_MILKDROP_FULLSCREEN";
  constant SET_MILKDROP_LOCK (line 89) | const SET_MILKDROP_LOCK = "SET_MILKDROP_LOCK";

FILE: webamp/packages/webamp/js/components/App.tsx
  type Props (line 27) | interface Props {
  function App (line 35) | function App({ media, filePickers }: Props) {

FILE: webamp/packages/webamp/js/components/Balance.tsx
  type Props (line 7) | interface Props {
  function Balance (line 13) | function Balance({ style, className, id }: Props) {

FILE: webamp/packages/webamp/js/components/Character.tsx
  type Props (line 4) | interface Props extends React.HTMLAttributes<HTMLSpanElement> {

FILE: webamp/packages/webamp/js/components/CharacterString.tsx
  type Props (line 4) | interface Props {

FILE: webamp/packages/webamp/js/components/ClickedDiv.tsx
  type Props (line 4) | interface Props extends React.HTMLAttributes<HTMLDivElement> {
  function ClickedDiv (line 15) | function ClickedDiv(props: Props) {

FILE: webamp/packages/webamp/js/components/ClipPaths.tsx
  type Props (line 4) | type Props = {
  function ClipPaths (line 10) | function ClipPaths({ children }: Props) {

FILE: webamp/packages/webamp/js/components/ContextMenu.tsx
  type PortalProps (line 9) | interface PortalProps {
  type ParentProps (line 48) | interface ParentProps {
  type LinkNodeProps (line 60) | interface LinkNodeProps {
  type NodeProps (line 72) | interface NodeProps {
  type ContextMenuProps (line 90) | interface ContextMenuProps {
  function ContextMenu (line 100) | function ContextMenu({

FILE: webamp/packages/webamp/js/components/ContextMenuTarget.tsx
  type Props (line 4) | interface Props extends React.HTMLAttributes<HTMLDivElement> {
  function getNodeOffset (line 10) | function getNodeOffset(node: HTMLDivElement | null) {
  function ContextMenuTarget (line 26) | function ContextMenuTarget(props: Props) {

FILE: webamp/packages/webamp/js/components/ContextMenuWrapper.tsx
  type Props (line 4) | interface Props {
  function ContextMenuWraper (line 16) | function ContextMenuWraper({

FILE: webamp/packages/webamp/js/components/Css.tsx
  type Props (line 4) | type Props = {
  function Css (line 9) | function Css({ children, id }: Props) {

FILE: webamp/packages/webamp/js/components/DropTarget.tsx
  type Coord (line 6) | interface Coord {
  type Props (line 11) | interface Props extends React.HTMLAttributes<HTMLDivElement> {
  function supress (line 16) | function supress(e: React.DragEvent<HTMLDivElement>) {

FILE: webamp/packages/webamp/js/components/EqualizerWindow/Band.tsx
  type Props (line 8) | interface Props {
  constant MAX_VALUE (line 14) | const MAX_VALUE = 2400;
  function Band (line 34) | function Band({ id, onChange, band }: Props) {

FILE: webamp/packages/webamp/js/components/EqualizerWindow/EqGraph.tsx
  constant GRAPH_HEIGHT (line 9) | const GRAPH_HEIGHT = 19;
  constant GRAPH_WIDTH (line 10) | const GRAPH_WIDTH = 113;
  function EqGraph (line 12) | function EqGraph() {
  function useColorPattern (line 50) | function useColorPattern(canvasCtx: CanvasRenderingContext2D | null) {
  function drawEqLine (line 61) | function drawEqLine({

FILE: webamp/packages/webamp/js/components/EqualizerWindow/EqTitleButtons.tsx
  function EqTitleButtons (line 7) | function EqTitleButtons() {

FILE: webamp/packages/webamp/js/components/EqualizerWindow/spline.js
  function spline (line 3) | function spline(xs, ys) {
  function getNaturalKs (line 20) | function getNaturalKs(xs, ys) {
  function solve (line 52) | function solve(matrix, ks) {
  function zerosMatrix (line 87) | function zerosMatrix(rows, columns) {
  function swapRows (line 98) | function swapRows(m, k, l) {

FILE: webamp/packages/webamp/js/components/FocusTarget.tsx
  type Props (line 7) | interface Props {
  function FocusTarget (line 13) | function FocusTarget({ onKeyDown, windowId, children }: Props) {

FILE: webamp/packages/webamp/js/components/Fullscreen.tsx
  type Props (line 5) | interface Props {
  function leaveFullScreen (line 11) | function leaveFullScreen() {
  function enterFullScreen (line 17) | function enterFullScreen(node: HTMLDivElement) {
  function FullScreen (line 23) | function FullScreen(props: Props) {

FILE: webamp/packages/webamp/js/components/GenWindow/index.tsx
  type TextProps (line 12) | interface TextProps {
  constant CHROME_WIDTH (line 32) | const CHROME_WIDTH = 19;
  constant CHROME_HEIGHT (line 33) | const CHROME_HEIGHT = 34;
  type WindowSize (line 35) | interface WindowSize {
  type Props (line 40) | interface Props {

FILE: webamp/packages/webamp/js/components/MainWindow/ClutterBar.tsx
  function setFocusDouble (line 13) | function setFocusDouble(): Action {
  function mouseUp (line 17) | function mouseUp(): Thunk {

FILE: webamp/packages/webamp/js/components/MainWindow/EqToggleButton.tsx
  function toggleEqualizer (line 8) | function toggleEqualizer() {

FILE: webamp/packages/webamp/js/components/MainWindow/MainContextMenu.tsx
  type Props (line 13) | interface Props {

FILE: webamp/packages/webamp/js/components/MainWindow/Marquee.tsx
  constant SEPARATOR (line 9) | const SEPARATOR = "  ***  ";
  constant CHAR_WIDTH (line 11) | const CHAR_WIDTH = 5;
  constant MARQUEE_MAX_LENGTH (line 12) | const MARQUEE_MAX_LENGTH = 31;
  type UseStepperArgs (line 45) | interface UseStepperArgs {
  function useStepper (line 51) | function useStepper({ step, dragging }: UseStepperArgs): void {
  function useDragX (line 76) | function useDragX() {

FILE: webamp/packages/webamp/js/components/MainWindow/PlaylistToggleButton.tsx
  function togglePlaylist (line 8) | function togglePlaylist() {

FILE: webamp/packages/webamp/js/components/MainWindow/Position.tsx
  function usePosition (line 12) | function usePosition() {

FILE: webamp/packages/webamp/js/components/MainWindow/index.tsx
  type Props (line 40) | interface Props {
  function loadMediaAndPlay (line 45) | function loadMediaAndPlay(e: React.DragEvent<HTMLDivElement>) {

FILE: webamp/packages/webamp/js/components/MilkdropWindow/Background.tsx
  type Props (line 3) | interface Props {

FILE: webamp/packages/webamp/js/components/MilkdropWindow/Desktop.tsx
  type Props (line 5) | interface Props {

FILE: webamp/packages/webamp/js/components/MilkdropWindow/MilkdropContextMenu.tsx
  type Props (line 12) | interface Props {

FILE: webamp/packages/webamp/js/components/MilkdropWindow/PresetOverlay.tsx
  constant ENTRY_HEIGHT (line 13) | const ENTRY_HEIGHT = 14;
  constant HEIGHT_PADDING (line 14) | const HEIGHT_PADDING = 15;
  constant WIDTH_PADDING (line 15) | const WIDTH_PADDING = 20;
  constant LOADING_STYLE (line 17) | const LOADING_STYLE: React.CSSProperties = {
  constant OUTER_WRAPPER_STYLE (line 25) | const OUTER_WRAPPER_STYLE: React.CSSProperties = {
  constant INNER_WRAPPER_STYLE (line 32) | const INNER_WRAPPER_STYLE: React.CSSProperties = {
  type Props (line 40) | interface Props {
  function presetIndexFromListIndex (line 45) | function presetIndexFromListIndex(listIndex: number) {
  function listIndexFromPresetIndex (line 49) | function listIndexFromPresetIndex(listIndex: number) {
  function PresetOverlay (line 53) | function PresetOverlay({ height, width }: Props) {
  func
Condensed preview — 348 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,543K chars).
[
  {
    "path": ".gitignore",
    "chars": 65,
    "preview": "node_modules\n.cache\n.parcel-cache\nskin.json\ntoken.json\nartifacts\n"
  },
  {
    "path": ".travis.yml",
    "chars": 1852,
    "preview": "matrix:\n  include:\n  - os: osx\n    osx_image: xcode9.2\n    language: node_js\n    node_js: '10'\n    env:\n    - ELECTRON_C"
  },
  {
    "path": "LICENSE",
    "chars": 1070,
    "preview": "MIT License\n\nCopyright (c) 2025 Maksim Chingin\n\nPermission is hereby granted, free of charge, to any person obtaining a "
  },
  {
    "path": "README.md",
    "chars": 7678,
    "preview": "![](https://github.com/umnik1/yaamp/assets/2902730/70de0d28-d871-4a45-8416-0f0a09cbb198)\n\n# Yaamp\n\nИсходники проекта по "
  },
  {
    "path": "bundled/skins/.gitignore",
    "chars": 29,
    "preview": "base-2.91.zip\nSkinner_Atlas/\n"
  },
  {
    "path": "bundled/skins/base-2.91/PLEDIT.TXT",
    "chars": 85,
    "preview": "[Text]\nNormal=#00FF00\nCurrent=#FFFFFF\nNormalBG=#000000\nSelectedBG=#0000C6\nFont=Arial\n"
  },
  {
    "path": "bundled/skins/base-2.91/REGION.TXT",
    "chars": 5721,
    "preview": "; I stole this from the Complex skin, cause hey I thought it was cool :)\n; (and cause I'm too lazy to document it myself"
  },
  {
    "path": "bundled/skins/base-2.91/Skining Updates.txt",
    "chars": 1913,
    "preview": "Coppied from winamp/wa_dlg.h from the Winamp 2.9 ML SDK.\n\n       1) gen.bmp has a generic window frame for plugins to us"
  },
  {
    "path": "bundled/skins/base-2.91/VISCOLOR.TXT",
    "chars": 565,
    "preview": "0,0,0, // color 0 = black\n24,33,41, // color 1 = grey for dots\n239,49,16, // color 2 = top of spec\n206,41,16, // 3\n214,9"
  },
  {
    "path": "dist/.gitignore",
    "chars": 13,
    "preview": "*\n!.gitignore"
  },
  {
    "path": "main.js",
    "chars": 29796,
    "preview": "// TODO: Нужно сделать рефакторинг всего кода, но мне лень с:\n\nconst path = require('path');\nconst url = require('url');"
  },
  {
    "path": "package.json",
    "chars": 3242,
    "preview": "{\n  \"name\": \"yaamp\",\n  \"version\": \"0.0.6\",\n  \"description\": \"Winamp + Yandex Music\",\n  \"main\": \"main.js\",\n  \"targets\": {"
  },
  {
    "path": "res/icon.hqx",
    "chars": 294356,
    "preview": "(This file must be converted with BinHex 4.0)\n:%$N`-$3h1$\"M0Q3cBc3a0@B%9%9B9(4dH(3%!!!!!Y!!!dYGL+9)EhFJG'mJGA0\nP)(4SDA-J"
  },
  {
    "path": "res/license.txt",
    "chars": 1067,
    "preview": "MIT License\n\nCopyright (c) 2018 Jakub Ďuraš\n\nPermission is hereby granted, free of charge, to any person obtaining a cop"
  },
  {
    "path": "src/__tests__/basic.spec.ts",
    "chars": 2711,
    "preview": "import path from 'path'\nimport { Application } from 'spectron'\n\nconst baseDir = path.join(__dirname, '../..')\nconst elec"
  },
  {
    "path": "src/global.d.ts",
    "chars": 438,
    "preview": "import { Track } from './webamp/webamp.bundle'\n\ndeclare global {\n    interface Window {\n        minimizeElectronWindow: "
  },
  {
    "path": "src/index.css",
    "chars": 2283,
    "preview": "/**\n * RESET\n */\nhtml, body, div, span, applet, object, iframe,\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\na, abbr, acr"
  },
  {
    "path": "src/index.html",
    "chars": 239,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Webamp</title>\n    <link rel=\"stylesheet\" "
  },
  {
    "path": "src/node/api-server.js",
    "chars": 28036,
    "preview": "const http = require('http');\nconst url = require('url');\n\nlet apiServer = null;\nlet mainWindow = null;\n\nfunction getHtm"
  },
  {
    "path": "src/node/preload.js",
    "chars": 5080,
    "preview": "const { remote } = require('electron')\nconst { ipcRenderer } = window.require('electron');\n\n// const handleTransparency "
  },
  {
    "path": "src/node/protocol.js",
    "chars": 1304,
    "preview": "const fs = require('fs')\nconst path = require('path')\nconst mime = require('mime-types')\nconst isDev = require('electron"
  },
  {
    "path": "src/node/thumbar.js",
    "chars": 62566,
    "preview": "const path = require('path')\n\nconst { remote, nativeImage } = require('electron')\n\nfunction handleThumbar(state = 'stopp"
  },
  {
    "path": "src/node/thumbnail.js",
    "chars": 815,
    "preview": "const { remote } = require('electron')\nconst { debounce } = require('./utilities')\n\nfunction handleThumbnail() {\n  // Cu"
  },
  {
    "path": "src/node/transparency.js",
    "chars": 9004,
    "preview": "const { remote } = require('electron')\n\nfunction handleTransparency() {\n    const mainWindow = remote.getCurrentWindow()"
  },
  {
    "path": "src/node/updates.js",
    "chars": 1308,
    "preview": "const { autoUpdater } = require('electron-updater')\nconst log = require('electron-log')\nconst electron = require('electr"
  },
  {
    "path": "src/node/utilities.js",
    "chars": 250,
    "preview": "function debounce(fn, time = 100) {\n    let timeout\n\n    return () => {\n        const ctx = this, args = arguments\n     "
  },
  {
    "path": "src/renderer.ts",
    "chars": 6577,
    "preview": "// Temporary switch to custom webamp build\n// import Webamp from 'webamp'\nimport Webamp from './webamp/webamp.bundle.js'"
  },
  {
    "path": "src/webamp/webamp.bundle.d.ts",
    "chars": 5225,
    "preview": "interface TrackInfo {\n    /**\n     * Name to be used until ID3 tags can be resolved.\n     *\n     * If the track has a `u"
  },
  {
    "path": "src/webamp/webamp.bundle.js",
    "chars": 2794305,
    "preview": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object"
  },
  {
    "path": "tsconfig.json",
    "chars": 453,
    "preview": "{\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"module\": \"commonjs\",\n    \"moduleResolution\": \"node\",\n    \"sourceMap\":"
  },
  {
    "path": "tslint.json",
    "chars": 1354,
    "preview": "{\n    \"rules\": {\n        \"class-name\": true,\n        \"comment-format\": [\n            true,\n            \"check-space\"\n   "
  },
  {
    "path": "webamp/.editorconfig",
    "chars": 134,
    "preview": "[*.jsx]\nindent_style = space\nindent_size = 2\n[*.js]\nindent_style = space\nindent_size = 2\n[*.css]\nindent_style = space\nin"
  },
  {
    "path": "webamp/.gitattributes",
    "chars": 107,
    "preview": "packages/webamp/packages/tweetBot/* linguist-vendored\npackages/webamp/modern/resources/* linguist-vendored\n"
  },
  {
    "path": "webamp/.gitignore",
    "chars": 20,
    "preview": "node_modules\n.vscode"
  },
  {
    "path": "webamp/LICENSE.txt",
    "chars": 1086,
    "preview": "The MIT License (MIT)\n\nCopyright (c) [2015] [Jordan Eldredge]\n\nPermission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "webamp/README.md",
    "chars": 358,
    "preview": "### Front Yammp\n\nИсходники фронта-плейра проекта [Yaamp.ru](http://yaamp.ru/ \"Yaamp.ru\").\n\nВесь код, это модифицированны"
  },
  {
    "path": "webamp/netlify.toml",
    "chars": 690,
    "preview": "[build]\n  command = \"yarn deploy\"\n  publish = \"packages/webamp/demo/built\"\n\n# A short URL for listeners of https://chang"
  },
  {
    "path": "webamp/package.json",
    "chars": 390,
    "preview": "{\n  \"name\": \"webamp-monorepo\",\n  \"private\": true,\n  \"workspaces\": [\n    \"packages/*\"\n  ],\n  \"scripts\": {\n    \"deploy\": \""
  },
  {
    "path": "webamp/packages/ani-cursor/.gitignore",
    "chars": 5,
    "preview": "dist/"
  },
  {
    "path": "webamp/packages/ani-cursor/README.md",
    "chars": 1170,
    "preview": "# ani-cursor\n\nA library for rendering Windows Animated Cursor files (`.ani`) in the browser by parsing out the individua"
  },
  {
    "path": "webamp/packages/ani-cursor/babel.config.js",
    "chars": 133,
    "preview": "module.exports = {\n  presets: [\n    [\"@babel/preset-env\", { targets: { node: \"current\" } }],\n    \"@babel/preset-typescri"
  },
  {
    "path": "webamp/packages/ani-cursor/package.json",
    "chars": 1120,
    "preview": "{\n  \"name\": \"ani-cursor\",\n  \"version\": \"0.0.4\",\n  \"description\": \"Render .ani cursors as CSS animations in the browser\","
  },
  {
    "path": "webamp/packages/ani-cursor/src/__tests__/__snapshots__/parser.test.ts.snap",
    "chars": 3929,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Edge cases piano.ani 1`] = `\n\"\n    @keyframes ani-cursor-3 {\n      "
  },
  {
    "path": "webamp/packages/ani-cursor/src/__tests__/parser.test.ts",
    "chars": 1237,
    "preview": "import fs from \"fs\";\nimport path from \"path\";\nimport { convertAniBinaryToCSS } from \"../\";\n\nconst LONG_BASE_64 = /([A-Za"
  },
  {
    "path": "webamp/packages/ani-cursor/src/index.ts",
    "chars": 2773,
    "preview": "import { parseAni } from \"./parser\";\n\ntype AniCursorImage = {\n  frames: {\n    url: string;\n    percents: number[];\n  }[]"
  },
  {
    "path": "webamp/packages/ani-cursor/src/parser.ts",
    "chars": 3442,
    "preview": "import { RIFFFile } from \"riff-file\";\nimport { unpackArray, unpackString } from \"byte-data\";\n\ntype Chunk = {\n  format: s"
  },
  {
    "path": "webamp/packages/ani-cursor/tsconfig.json",
    "chars": 2320,
    "preview": "{\n  \"compilerOptions\": {\n    /* Visit https://aka.ms/tsconfig.json to read more about this file */\n    \"target\": \"es5\" /"
  },
  {
    "path": "webamp/packages/webamp/.babelrc",
    "chars": 1180,
    "preview": "{\n  \"presets\": [\n    [\n      \"@babel/preset-env\",\n      {\n        \"useBuiltIns\": \"entry\",\n        \"corejs\": \"2\",\n       "
  },
  {
    "path": "webamp/packages/webamp/.eslintignore",
    "chars": 92,
    "preview": "*.min.js\nbuilt/\ncoverage/\n**/node_modules/\nexamples/webpack/bundle.js\npacakges/tweetBot/env/"
  },
  {
    "path": "webamp/packages/webamp/.eslintrc",
    "chars": 4459,
    "preview": "{\n  \"parser\": \"@typescript-eslint/parser\",\n  \"parserOptions\": {\n    \"jsx\": true,\n    \"sourceType\": \"module\",\n    \"ecmaFe"
  },
  {
    "path": "webamp/packages/webamp/.gitignore",
    "chars": 94,
    "preview": "**/node_modules\n\n/built\n/demo/built\n/coverage\n/examples/webpack/bundle.js\n**/__diff_output__/\n"
  },
  {
    "path": "webamp/packages/webamp/.prettierignore",
    "chars": 133,
    "preview": "package.json\n**/*.min.css\n**/base-skin.css\ndemo/js/googleAnalytics.min.js\nbuilt/*\ndemo/built/*\ncoverage/*\nexamples/webpa"
  },
  {
    "path": "webamp/packages/webamp/CHANGELOG.md",
    "chars": 11854,
    "preview": "## NEXT\n\n### Features\n\n- Support `.ani` cursors in skins [#1035](https://github.com/captbaritone/webamp/pull/1035), [blo"
  },
  {
    "path": "webamp/packages/webamp/assets/skins/base-2.91/PLEDIT.TXT",
    "chars": 85,
    "preview": "[Text]\nNormal=#00FF00\nCurrent=#FFFFFF\nNormalBG=#000000\nSelectedBG=#0000C6\nFont=Arial\n"
  },
  {
    "path": "webamp/packages/webamp/assets/skins/base-2.91/REGION.TXT",
    "chars": 5721,
    "preview": "; I stole this from the Complex skin, cause hey I thought it was cool :)\n; (and cause I'm too lazy to document it myself"
  },
  {
    "path": "webamp/packages/webamp/assets/skins/base-2.91/Skining Updates.txt",
    "chars": 1913,
    "preview": "Coppied from winamp/wa_dlg.h from the Winamp 2.9 ML SDK.\n\n       1) gen.bmp has a generic window frame for plugins to us"
  },
  {
    "path": "webamp/packages/webamp/assets/skins/base-2.91/VISCOLOR.TXT",
    "chars": 565,
    "preview": "0,0,0, // color 0 = black\n24,33,41, // color 1 = grey for dots\n239,49,16, // color 2 = top of spec\n206,41,16, // 3\n214,9"
  },
  {
    "path": "webamp/packages/webamp/config/jest.integration.js",
    "chars": 145,
    "preview": "module.exports = {\n  displayName: \"integration-test\",\n  rootDir: \"../\",\n  preset: \"jest-puppeteer\",\n  testRegex: \"\\\\.int"
  },
  {
    "path": "webamp/packages/webamp/config/jest.unit.js",
    "chars": 480,
    "preview": "module.exports = {\n  displayName: \"test\",\n  rootDir: \"../\",\n  testRegex: \"\\\\.test\\\\.(js|ts|tsx)$\",\n  globals: {\n    SENT"
  },
  {
    "path": "webamp/packages/webamp/config/webpack.library.js",
    "chars": 1969,
    "preview": "const path = require(\"path\");\nconst { BundleAnalyzerPlugin } = require(\"webpack-bundle-analyzer\");\nconst TerserPlugin = "
  },
  {
    "path": "webamp/packages/webamp/css/base-skin.css",
    "chars": 354759,
    "preview": "#webamp #balance {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAGkCAYAAABdMlfJAAAMIklEQVR4Xu"
  },
  {
    "path": "webamp/packages/webamp/css/context-menu.css",
    "chars": 1938,
    "preview": "#webamp-context-menu .context-menu {\n  left: 0px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  user-select: "
  },
  {
    "path": "webamp/packages/webamp/css/equalizer-window.css",
    "chars": 2600,
    "preview": "/* Styles */\n#webamp #equalizer-window {\n  height: 116px;\n  width: 275px;\n}\n\n#webamp #equalizer-window.shade {\n  height:"
  },
  {
    "path": "webamp/packages/webamp/css/gen-window.css",
    "chars": 1877,
    "preview": "#webamp .gen-text-space {\n  width: 5px;\n}\n\n#webamp .gen-text-letter {\n  height: 7px;\n  display: inline-block;\n}\n\n#webamp"
  },
  {
    "path": "webamp/packages/webamp/css/main-window.css",
    "chars": 8694,
    "preview": "/* Styles */\n#webamp #main-window {\n  position: absolute;\n  height: 116px;\n  width: 275px;\n  /* Ask the browser to scale"
  },
  {
    "path": "webamp/packages/webamp/css/milkdrop-window.css",
    "chars": 103,
    "preview": ".webamp-desktop {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: -1;\n}\n"
  },
  {
    "path": "webamp/packages/webamp/css/mini-time.css",
    "chars": 383,
    "preview": "#webamp .mini-time {\n  display: block;\n  height: 6px;\n  width: 25px;\n}\n\n#webamp .mini-time.blinking .character:not(.back"
  },
  {
    "path": "webamp/packages/webamp/css/playlist-window.css",
    "chars": 5008,
    "preview": "/* Styles */\n#webamp #playlist-window {\n  display: flex;\n  flex-direction: column;\n}\n\n#webamp .playlist-top {\n  width: 1"
  },
  {
    "path": "webamp/packages/webamp/css/webamp.css",
    "chars": 2132,
    "preview": "/* Rules used by all windows */\n\n#webamp {\n  position: absolute;\n  top: 0;\n  left: 0;\n}\n\n/* Prevent accidental highlight"
  },
  {
    "path": "webamp/packages/webamp/demo/config/webpack.common.js",
    "chars": 2199,
    "preview": "const path = require(\"path\");\nconst HtmlWebpackPlugin = require(\"html-webpack-plugin\");\nconst HtmlWebpackInlineSVGPlugin"
  },
  {
    "path": "webamp/packages/webamp/demo/config/webpack.dev.js",
    "chars": 434,
    "preview": "const webpack = require(\"webpack\");\nconst merge = require(\"webpack-merge\");\nconst common = require(\"./webpack.common.js\""
  },
  {
    "path": "webamp/packages/webamp/demo/config/webpack.prod.js",
    "chars": 853,
    "preview": "const webpack = require(\"webpack\");\nconst merge = require(\"webpack-merge\");\nconst GitRevisionPlugin = require(\"git-revis"
  },
  {
    "path": "webamp/packages/webamp/demo/css/page.css",
    "chars": 3060,
    "preview": "/* Rules for the page layout */\nbody {\n  background-color: rgb(58, 110, 165);\n  font-family: arial;\n  font-size: 15px;\n}"
  },
  {
    "path": "webamp/packages/webamp/demo/index.html",
    "chars": 3145,
    "preview": "<!DOCTYPE html>\n<html>\n\n<head>\n    <title>Webamp &middot; Winamp 2 in your browser</title>\n    <meta charset=\"utf-8\" />\n"
  },
  {
    "path": "webamp/packages/webamp/demo/js/DemoDesktop.tsx",
    "chars": 2443,
    "preview": "import WebampLazy from \"../../js/webampLazy\";\nimport { Suspense } from \"react\";\nimport WebampIcon from \"./WebampIcon\";\n/"
  },
  {
    "path": "webamp/packages/webamp/demo/js/DesktopIcon.tsx",
    "chars": 1213,
    "preview": "import { useEffect, useState, useRef } from \"react\";\nimport classnames from \"classnames\";\nimport IconImage from \"./IconI"
  },
  {
    "path": "webamp/packages/webamp/demo/js/DesktopLinkIcon.tsx",
    "chars": 1303,
    "preview": "import { useEffect, useState, useRef } from \"react\";\nimport classnames from \"classnames\";\nimport IconImage from \"./IconI"
  },
  {
    "path": "webamp/packages/webamp/demo/js/IconImage.tsx",
    "chars": 205,
    "preview": "import SuspenseImage from \"./SuspenseImage\";\n\ntype Props = {\n  src: string;\n};\nexport default function IconImage({ src }"
  },
  {
    "path": "webamp/packages/webamp/demo/js/MilkIcon.tsx",
    "chars": 1017,
    "preview": "import WebampLazy from \"../../js/webampLazy\";\nimport { useCallback } from \"react\";\n// @ts-ignore\nimport iconLarge from \""
  },
  {
    "path": "webamp/packages/webamp/demo/js/Mp3Icon.tsx",
    "chars": 1082,
    "preview": "import WebampLazy from \"../../js/webampLazy\";\nimport { useCallback } from \"react\";\n// @ts-ignore\nimport iconLarge from \""
  },
  {
    "path": "webamp/packages/webamp/demo/js/SkinIcon.tsx",
    "chars": 612,
    "preview": "import WebampLazy from \"../../js/webampLazy\";\n// @ts-ignore\nimport iconSmall from \"../images/icons/paint-file-32x32.png\""
  },
  {
    "path": "webamp/packages/webamp/demo/js/SuspenseImage.tsx",
    "chars": 3179,
    "preview": "import * as React from \"react\";\n\n// A Resource is an object with a read method returning the payload\ninterface Resource<"
  },
  {
    "path": "webamp/packages/webamp/demo/js/WebampIcon.tsx",
    "chars": 764,
    "preview": "import WebampLazy from \"../../js/webampLazy\";\nimport { useEffect, useState } from \"react\";\n// @ts-ignore\nimport iconSmal"
  },
  {
    "path": "webamp/packages/webamp/demo/js/avaliableSkins.ts",
    "chars": 762,
    "preview": "// @ts-ignore\nimport osx from \"../skins/MacOSXAqua1-5.wsz\";\n// @ts-ignore\nimport topaz from \"../skins/TopazAmp1-2.wsz\";\n"
  },
  {
    "path": "webamp/packages/webamp/demo/js/butterchurnOptions.ts",
    "chars": 3370,
    "preview": "import { ButterchurnOptions } from \"../../js/types\";\n\nconst KNOWN_PRESET_URLS_REGEXES = [\n  /^https:\\/\\/unpkg\\.com\\/butt"
  },
  {
    "path": "webamp/packages/webamp/demo/js/config.ts",
    "chars": 4633,
    "preview": "import { Track, AppState, URLTrack } from \"../../js/types\";\n// @ts-ignore\nimport llamaAudio from \"../mp3/llama-2.91.mp3\""
  },
  {
    "path": "webamp/packages/webamp/demo/js/delete-service-worker.js",
    "chars": 629,
    "preview": "\"strict\";\n\n// This project used to have a service worker. For the sake of simplicity I've\n// removed it, but in case any"
  },
  {
    "path": "webamp/packages/webamp/demo/js/dropboxFilePicker.ts",
    "chars": 1087,
    "preview": "import { FilePicker } from \"../../js/types\";\n\ninterface DropboxFile {\n  link: string;\n  name: string;\n}\n\n// Requires Dro"
  },
  {
    "path": "webamp/packages/webamp/demo/js/eventLogger.ts",
    "chars": 4521,
    "preview": "import { log, GoogleAnalyticsEvent } from \"./logger\";\nimport * as Selectors from \"../../js/selectors\";\nimport { Action, "
  },
  {
    "path": "webamp/packages/webamp/demo/js/index.js",
    "chars": 6740,
    "preview": "/* global SENTRY_DSN */\n\nimport * as Sentry from \"@sentry/browser\";\nimport ReactDOM from \"react-dom\";\nimport createMiddl"
  },
  {
    "path": "webamp/packages/webamp/demo/js/logger.ts",
    "chars": 392,
    "preview": "export type GoogleAnalyticsEvent = {\n  category: string;\n  action: string;\n  label?: string;\n  value?: number;\n};\nexport"
  },
  {
    "path": "webamp/packages/webamp/demo/js/mediaSession.ts",
    "chars": 2228,
    "preview": "import WebampLazy from \"../../js/webampLazy\";\n\nexport default function enableMediaSession(webamp: WebampLazy) {\n  if (\"m"
  },
  {
    "path": "webamp/packages/webamp/demo/js/screenshotInitialState.ts",
    "chars": 1343,
    "preview": "import { DeepPartial } from \"redux\";\nimport { AppState } from \"../../js/types\";\n\nconst defaultTracksState = {\n  \"0\": {\n "
  },
  {
    "path": "webamp/packages/webamp/demo/readme.md",
    "chars": 129,
    "preview": "# Webamp.org\n\nThis directory contains the code used for [Webamp.org](https://webamp.org), as opposed to the `webamp` NPM"
  },
  {
    "path": "webamp/packages/webamp/demo/skins/.gitignore",
    "chars": 15,
    "preview": "Skinner_Atlas/\n"
  },
  {
    "path": "webamp/packages/webamp/docs/architecture.md",
    "chars": 9643,
    "preview": "# Architecture\n\n## Library/Application\n\nThis repository contains both an NPM module, and a demo page, found at <https://"
  },
  {
    "path": "webamp/packages/webamp/docs/music-credits.md",
    "chars": 430,
    "preview": "# Credits\n\n## Music\n\nMusic courtesy of [blocSonic](https://blocsonic.com) and all included netBloc artists. [Download yo"
  },
  {
    "path": "webamp/packages/webamp/docs/press.md",
    "chars": 16307,
    "preview": "## Articles (notable)\n\n- [Gizmodo](https://gizmodo.com/winamp-2-has-been-immortalized-in-html5-for-your-pleasu-165537365"
  },
  {
    "path": "webamp/packages/webamp/docs/usage.md",
    "chars": 12820,
    "preview": "# Usage\n\nHere's how to use Webamp in your own project. If you get stuck, or need help, please either file an issue, or r"
  },
  {
    "path": "webamp/packages/webamp/index.d.ts",
    "chars": 7494,
    "preview": "interface TrackInfo {\n  /**\n   * Name to be used until ID3 tags can be resolved.\n   *\n   * If the track has a `url`, and"
  },
  {
    "path": "webamp/packages/webamp/jest-puppeteer.config.js",
    "chars": 316,
    "preview": "module.exports = {\n  launch: {\n    dumpio: true,\n  },\n  server: {\n    // Note: We require the the build be run before th"
  },
  {
    "path": "webamp/packages/webamp/js/Disposable.ts",
    "chars": 825,
    "preview": "type Teardown = (() => void) | { dispose: () => void };\n\nexport default class Disposable {\n  _teardowns: Teardown[] = []"
  },
  {
    "path": "webamp/packages/webamp/js/__mocks__/fileMock.js",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "webamp/packages/webamp/js/__mocks__/mediaMock.js",
    "chars": 189,
    "preview": "const media = {\n  addEventListener: jest.fn(),\n  setVolume: jest.fn(),\n  setBalance: jest.fn(),\n  setPreamp: jest.fn(),\n"
  },
  {
    "path": "webamp/packages/webamp/js/__mocks__/storeMock.js",
    "chars": 185,
    "preview": "import getStore from \"../store\";\nimport Emitter from \"../emitter\";\nimport media from \"./mediaMock\";\n\nexport default func"
  },
  {
    "path": "webamp/packages/webamp/js/__mocks__/styleMock.js",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "webamp/packages/webamp/js/__snapshots__/regionParser.test.js.snap",
    "chars": 15524,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`regionParser parses Satellite M's region.txt 1`] = `\nObject {\n  \"no"
  },
  {
    "path": "webamp/packages/webamp/js/__snapshots__/serialization.test.ts.snap",
    "chars": 2634,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`can serialize the initial state 1`] = `\nObject {\n  \"display\": Objec"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/.eslintrc",
    "chars": 36,
    "preview": "{\n  \"env\": {\n    \"jest\": true\n  }\n}\n"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/baseline.integration-test.js",
    "chars": 4003,
    "preview": "/* global page */\nconst { toMatchImageSnapshot } = require(\"jest-image-snapshot\");\nconst path = require(\"path\");\n\nexpect"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/CENTRA_VISCOLOR.TXT",
    "chars": 534,
    "preview": "\n 110, 150, 176  // 0\n 165, 165, 165  // 1\n 55, 55, 67  // 2\n 55, 55, 67  // 3\n 55, 55, 67  // 4\n 55, 55, 67  // 5\n 55, "
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/PLEDIT.TXT",
    "chars": 85,
    "preview": "[Text]\nNormal=#00FF00\nCurrent=#FFFFFF\nNormalBG=#000000\nSelectedBG=#0000FF\nFont=Arial\n"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/PLEDIT_TOPAZ.TXT",
    "chars": 111,
    "preview": "[Text]\nNormal=#319593\nCurrent=#89D8D1\nNormalBG=#000000\nSelectedBG=#2B4242\nFont=Arial\nmbBG=#000000\nmbFG=#89D8D1\n"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/PLEDIT_WITH_EQUALS.TXT",
    "chars": 299,
    "preview": "[text]\ncurrent=#606060\t= current song title highlight\nnormal=#000000\t= normal song title color\nselectedbg=#6685A5\t= sele"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/PLEDIT_WITH_QUOTES.TXT",
    "chars": 113,
    "preview": "[Text]\nNormal= \"#00FF00\"\nCurrent= '#FFFFFF'\nNormalBG= \"#000000\"\nSelectedBG= \"#0000FF\"\nFont= \"Ricky's cool font!\"\n"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/VISCOLOR.TXT",
    "chars": 565,
    "preview": "0,0,0, // color 0 = black\n24,33,41, // color 1 = grey for dots\n239,49,16, // color 2 = top of spec\n206,41,16, // 3\n214,9"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/region.txt",
    "chars": 5721,
    "preview": "; I stole this from the Complex skin, cause hey I thought it was cool :)\n; (and cause I'm too lazy to document it myself"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/region1.txt",
    "chars": 11253,
    "preview": "[Normal]\n; This region info generated by Winamp region.txt generator which is made by Maxim.\n\nNumPoints=4,4,4,4,4,4,4,4,"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/region_empty_sections.txt",
    "chars": 384,
    "preview": "[Normal]\n; This region info generated by Winamp region.txt generator which is made by Maxim.\n; http://winamp.mwos.cjb.ne"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/region_eva.txt",
    "chars": 632,
    "preview": ";Regions for EVA unit-02 Skin!\n;(c) Jasterz 2004\n[Normal]\nNumPoints=36\nPointList=9,0 9,3 2,3 0,5 0,104 2,107 4,107 4,116"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/region_ituned.txt",
    "chars": 697,
    "preview": "[Normal] \nNumPoints = 4,4,4,4,4,4,4,4,4,4\nPointList = 5,0, 269,0, 269,116, 5,116, 3,1 5,1, 5,115, 3,115,  2,2, 4,2, 4,11"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/region_leading_comma.txt",
    "chars": 435,
    "preview": "[Normal]\nNumPoints=12\nPointList=,5,0, 3,1, 2,2 1,3, 0,5, 0,116, 275,116, 275,6, 274,3, 273,2 272,1, 270,0\n\n[EQUALIZER]\nN"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/region_satellite.txt",
    "chars": 246,
    "preview": "[Normal]\n; This region info generated by Winamp region.txt generator which is made by Maxim.\n; http://winamp.mwos.cjb.ne"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/balance.json",
    "chars": 3051,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 40,\n        \"shuffle\": false,\n        \"repea"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/double-mode.json",
    "chars": 3049,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/equalizer-auto.json",
    "chars": 3049,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/equalizer-band.json",
    "chars": 3051,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/equalizer-on.json",
    "chars": 3051,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/equalizer-preamp.json",
    "chars": 3050,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/focused-window.json",
    "chars": 3055,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/llama-mode.json",
    "chars": 3049,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/main-window-position.json",
    "chars": 3054,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/repeat.json",
    "chars": 3049,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/shuffle.json",
    "chars": 3049,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": true,\n        \"repeat\""
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/volume.json",
    "chars": 3050,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 50,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/window-hidden.json",
    "chars": 3049,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/window-open.json",
    "chars": 3051,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/window-positions-are-relative.json",
    "chars": 3055,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/window-shade.json",
    "chars": 3049,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/serializedState/v1/window-size.json",
    "chars": 3050,
    "preview": "{\n    \"version\": 1,\n    \"media\": {\n        \"volume\": 78,\n        \"balance\": 0,\n        \"shuffle\": false,\n        \"repeat"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/viscolor_green_dimension.txt",
    "chars": 300,
    "preview": "0,0,0,\n0,0,0,\n0,50,0,\n0,56,0,\n0,63,0,\n0,70,0,\n0,76,0,\n0,83,0,\n0,89,0,\n0,96,0,\n0,103,0,\n0,109,0,\n0,116,0,\n0,123,0,\n0,129,"
  },
  {
    "path": "webamp/packages/webamp/js/__tests__/fixtures/viscolor_valgaav.txt",
    "chars": 530,
    "preview": " 98 111 123 // color 0 = background\n 98 111 123 // color 1 = dots\n 21  21  21 // 2 = top of spec\n223 176 176 // 16\n218 1"
  },
  {
    "path": "webamp/packages/webamp/js/actionCreators/equalizer.ts",
    "chars": 1881,
    "preview": "import { BANDS } from \"../constants\";\n\nimport {\n  SET_EQ_ON,\n  SET_EQ_OFF,\n  SET_BAND_VALUE,\n  SET_EQ_AUTO,\n} from \"../a"
  },
  {
    "path": "webamp/packages/webamp/js/actionCreators/files.ts",
    "chars": 14648,
    "preview": "import { parser, creator } from \"winamp-eqf\";\nimport { BANDS, LOAD_STYLE } from \"../constants\";\n\nimport * as Utils from "
  },
  {
    "path": "webamp/packages/webamp/js/actionCreators/index.test.js",
    "chars": 3115,
    "preview": "// TODO: Split these out into individual files.\nimport { BANDS } from \"../constants\";\nimport {\n  STOP,\n  SET_VOLUME,\n  S"
  },
  {
    "path": "webamp/packages/webamp/js/actionCreators/index.ts",
    "chars": 5499,
    "preview": "import {\n  CLOSE_WINAMP,\n  OPEN_WINAMP,\n  STOP,\n  TOGGLE_VISUALIZER_STYLE,\n  CLOSE_REQUESTED,\n  MINIMIZE_WINAMP,\n  SET_F"
  },
  {
    "path": "webamp/packages/webamp/js/actionCreators/media.ts",
    "chars": 3718,
    "preview": "import { clamp } from \"../utils\";\nimport {\n  SEEK_TO_PERCENT_COMPLETE,\n  SET_BALANCE,\n  SET_VOLUME,\n  STOP,\n  TOGGLE_REP"
  },
  {
    "path": "webamp/packages/webamp/js/actionCreators/milkdrop.ts",
    "chars": 5587,
    "preview": "import {\n  GOT_BUTTERCHURN_PRESETS,\n  GOT_BUTTERCHURN,\n  SELECT_PRESET_AT_INDEX,\n  RESOLVE_PRESET_AT_INDEX,\n  PRESET_REQ"
  },
  {
    "path": "webamp/packages/webamp/js/actionCreators/playlist.ts",
    "chars": 4616,
    "preview": "import { TRACK_HEIGHT } from \"../constants\";\nimport * as Selectors from \"../selectors\";\n\nimport { clamp, sort, findLastI"
  },
  {
    "path": "webamp/packages/webamp/js/actionCreators/windows.ts",
    "chars": 7487,
    "preview": "import * as Selectors from \"../selectors\";\n\nimport * as Utils from \"../utils\";\nimport {\n  UPDATE_WINDOW_POSITIONS,\n  TOG"
  },
  {
    "path": "webamp/packages/webamp/js/actionTypes.ts",
    "chars": 4578,
    "preview": "export const ADD_TRACK_FROM_URL = \"ADD_TRACK_FROM_URL\";\nexport const CLOSE_WINAMP = \"CLOSE_WINAMP\";\nexport const OPEN_WI"
  },
  {
    "path": "webamp/packages/webamp/js/baseSkin.json",
    "chars": 1117,
    "preview": "{\n  \"images\": {\n    \"EQ_PREAMP_LINE\":\n      \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQ"
  },
  {
    "path": "webamp/packages/webamp/js/components/App.tsx",
    "chars": 4464,
    "preview": "import {\n  useLayoutEffect,\n  useEffect,\n  useState,\n  useCallback,\n  StrictMode,\n} from \"react\";\nimport ReactDOM from \""
  },
  {
    "path": "webamp/packages/webamp/js/components/Balance.tsx",
    "chars": 916,
    "preview": "import * as React from \"react\";\n\nimport * as Actions from \"../actionCreators\";\nimport * as Selectors from \"../selectors\""
  },
  {
    "path": "webamp/packages/webamp/js/components/Character.test.js",
    "chars": 407,
    "preview": "import { characterClassName } from \"./Character\";\n\ndescribe(\"characterClassName\", () => {\n  it(\"is not case sensitive\", "
  },
  {
    "path": "webamp/packages/webamp/js/components/Character.tsx",
    "chars": 618,
    "preview": "import * as React from \"react\";\nimport deburr from \"lodash/deburr\";\n\ninterface Props extends React.HTMLAttributes<HTMLSp"
  },
  {
    "path": "webamp/packages/webamp/js/components/CharacterString.tsx",
    "chars": 444,
    "preview": "import { memo, Fragment } from \"react\";\nimport Character from \"./Character\";\n\ninterface Props {\n  children: string;\n}\n\nc"
  },
  {
    "path": "webamp/packages/webamp/js/components/ClickedDiv.tsx",
    "chars": 1078,
    "preview": "import { useState } from \"react\";\nimport classnames from \"classnames\";\n\ninterface Props extends React.HTMLAttributes<HTM"
  },
  {
    "path": "webamp/packages/webamp/js/components/ClipPaths.tsx",
    "chars": 892,
    "preview": "import { useMemo, useLayoutEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\n\ntype Props = {\n  children: "
  },
  {
    "path": "webamp/packages/webamp/js/components/ContextMenu.tsx",
    "chars": 2569,
    "preview": "import { useMemo, useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport classnames from \"classnames"
  },
  {
    "path": "webamp/packages/webamp/js/components/ContextMenuTarget.tsx",
    "chars": 2599,
    "preview": "import { useState, useRef, useEffect, useMemo } from \"react\";\nimport ContextMenu from \"./ContextMenu\";\n\ninterface Props "
  },
  {
    "path": "webamp/packages/webamp/js/components/ContextMenuWrapper.tsx",
    "chars": 2256,
    "preview": "import { ReactNode, useState, useEffect, useCallback } from \"react\";\nimport ContextMenu from \"./ContextMenu\";\n\ninterface"
  },
  {
    "path": "webamp/packages/webamp/js/components/Css.tsx",
    "chars": 502,
    "preview": "import { createPortal } from \"react-dom\";\nimport { useMemo, useLayoutEffect } from \"react\";\n\ntype Props = {\n  children: "
  },
  {
    "path": "webamp/packages/webamp/js/components/DropTarget.tsx",
    "chars": 1513,
    "preview": "import { useCallback } from \"react\";\nimport { useActionCreator } from \"../hooks\";\nimport * as Actions from \"../actionCre"
  },
  {
    "path": "webamp/packages/webamp/js/components/EqualizerWindow/Band.test.js",
    "chars": 1039,
    "preview": "import { spriteNumber, spriteOffsets } from \"./Band\";\n\ndescribe(\"spriteNumber\", () => {\n  it(\"gives the first sprite\", ("
  },
  {
    "path": "webamp/packages/webamp/js/components/EqualizerWindow/Band.tsx",
    "chars": 2351,
    "preview": "import { useMemo } from \"react\";\nimport { Slider as SliderType } from \"../../types\";\nimport { useTypedSelector, useActio"
  },
  {
    "path": "webamp/packages/webamp/js/components/EqualizerWindow/EqAuto.tsx",
    "chars": 467,
    "preview": "import { memo } from \"react\";\nimport classnames from \"classnames\";\n\nimport * as Actions from \"../../actionCreators\";\nimp"
  },
  {
    "path": "webamp/packages/webamp/js/components/EqualizerWindow/EqGraph.tsx",
    "chars": 3144,
    "preview": "import { useState, useMemo, useLayoutEffect } from \"react\";\nimport { percentToRange, clamp } from \"../../utils\";\nimport "
  },
  {
    "path": "webamp/packages/webamp/js/components/EqualizerWindow/EqOn.tsx",
    "chars": 459,
    "preview": "import classnames from \"classnames\";\n\nimport * as Actions from \"../../actionCreators\";\nimport * as Selectors from \"../.."
  },
  {
    "path": "webamp/packages/webamp/js/components/EqualizerWindow/EqTitleButtons.tsx",
    "chars": 857,
    "preview": "import ClickedDiv from \"../ClickedDiv\";\nimport { useTypedSelector, useActionCreator } from \"../../hooks\";\nimport * as Se"
  },
  {
    "path": "webamp/packages/webamp/js/components/EqualizerWindow/EqualizerShade.tsx",
    "chars": 1097,
    "preview": "import Volume from \"../Volume\";\nimport Balance from \"../Balance\";\nimport { segment } from \"../../utils\";\nimport EqTitleB"
  },
  {
    "path": "webamp/packages/webamp/js/components/EqualizerWindow/PresetsContextMenu.tsx",
    "chars": 1154,
    "preview": "import builtin from \"../../../presets/builtin.json\";\nimport * as Actions from \"../../actionCreators\";\nimport { Node, Par"
  },
  {
    "path": "webamp/packages/webamp/js/components/EqualizerWindow/index.tsx",
    "chars": 2646,
    "preview": "import classnames from \"classnames\";\n\nimport { BANDS, WINDOWS } from \"../../constants\";\nimport * as Actions from \"../../"
  },
  {
    "path": "webamp/packages/webamp/js/components/EqualizerWindow/spline.js",
    "chars": 2641,
    "preview": "// Adapted from https://github.com/morganherlocker/cubic-spline\n\nexport default function spline(xs, ys) {\n  const ks = g"
  },
  {
    "path": "webamp/packages/webamp/js/components/FocusTarget.tsx",
    "chars": 2619,
    "preview": "import { useCallback, useState, useEffect } from \"react\";\nimport { WindowId } from \"../types\";\nimport * as Actions from "
  },
  {
    "path": "webamp/packages/webamp/js/components/Fullscreen.tsx",
    "chars": 1512,
    "preview": "// Adapted from https://github.com/snakesilk/react-fullscreen\nimport { ReactNode, useRef, useLayoutEffect, useEffect } f"
  },
  {
    "path": "webamp/packages/webamp/js/components/GenWindow/index.tsx",
    "chars": 3500,
    "preview": "import * as React from \"react\";\nimport classnames from \"classnames\";\nimport \"../../../css/gen-window.css\";\n\nimport * as "
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/ActionButtons.tsx",
    "chars": 787,
    "preview": "import { memo } from \"react\";\nimport * as Actions from \"../../actionCreators\";\nimport { useActionCreator } from \"../../h"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/Close.tsx",
    "chars": 338,
    "preview": "import { memo } from \"react\";\nimport ClickedDiv from \"../ClickedDiv\";\nimport { useActionCreator } from \"../../hooks\";\n\ni"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/ClutterBar.tsx",
    "chars": 1634,
    "preview": "import { memo } from \"react\";\nimport classnames from \"classnames\";\n\nimport * as Actions from \"../../actionCreators\";\nimp"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/Eject.tsx",
    "chars": 340,
    "preview": "import { memo } from \"react\";\n\nimport * as Actions from \"../../actionCreators\";\nimport { useActionCreator } from \"../../"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/EqToggleButton.tsx",
    "chars": 696,
    "preview": "import { memo } from \"react\";\nimport classnames from \"classnames\";\n\nimport * as Selectors from \"../../selectors\";\nimport"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/Kbps.tsx",
    "chars": 381,
    "preview": "import { memo } from \"react\";\n\nimport CharacterString from \"../CharacterString\";\nimport * as Selectors from \"../../selec"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/Khz.tsx",
    "chars": 375,
    "preview": "import { memo } from \"react\";\n\nimport CharacterString from \"../CharacterString\";\nimport * as Selectors from \"../../selec"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/MainBalance.test.js",
    "chars": 461,
    "preview": "import { offsetFromBalance } from \"./MainBalance\";\n\ndescribe(\"offsetFromBalance\", () => {\n  it(\"works for positive numbe"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/MainBalance.tsx",
    "chars": 615,
    "preview": "import { memo } from \"react\";\n\nimport Balance from \"../Balance\";\nimport * as Selectors from \"../../selectors\";\nimport { "
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/MainContextMenu.tsx",
    "chars": 9807,
    "preview": "import { memo, Fragment, useEffect, useState, SetStateAction } from \"react\";\nconst { ipcRenderer } = window.require('ele"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/MainVolume.tsx",
    "chars": 535,
    "preview": "import { memo } from \"react\";\nimport * as Selectors from \"../../selectors\";\n\nimport Volume from \"../Volume\";\nimport { us"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/Marquee.test.js",
    "chars": 2531,
    "preview": "import { mod, stepOffset, pixelUnits, loopText } from \"./Marquee\";\n\ndescribe(\"mod\", () => {\n  it(\"behaves differently th"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/Marquee.tsx",
    "chars": 4647,
    "preview": "// Single line text display that can animate and hold multiple registers\n// Knows how to display various modes like trac"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/Minimize.tsx",
    "chars": 358,
    "preview": "import { memo } from \"react\";\nimport ClickedDiv from \"../ClickedDiv\";\nimport * as Actions from \"../../actionCreators\";\ni"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/MonoStereo.tsx",
    "chars": 503,
    "preview": "import { memo } from \"react\";\nimport classnames from \"classnames\";\nimport * as Selectors from \"../../selectors\";\nimport "
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/PlaylistToggleButton.tsx",
    "chars": 685,
    "preview": "import { memo } from \"react\";\nimport classnames from \"classnames\";\n\nimport * as Selectors from \"../../selectors\";\nimport"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/Position.tsx",
    "chars": 2140,
    "preview": "import { memo, useCallback } from \"react\";\n\nimport {\n  SEEK_TO_PERCENT_COMPLETE,\n  SET_FOCUS,\n  UNSET_FOCUS,\n  SET_SCRUB"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/Repeat.tsx",
    "chars": 891,
    "preview": "import { memo } from \"react\";\nimport classnames from \"classnames\";\nimport * as Actions from \"../../actionCreators\";\nimpo"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/Shade.tsx",
    "chars": 473,
    "preview": "import { memo } from \"react\";\nimport ClickedDiv from \"../ClickedDiv\";\n\nimport * as Actions from \"../../actionCreators\";\n"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/Shuffle.tsx",
    "chars": 901,
    "preview": "import { memo } from \"react\";\nimport classnames from \"classnames\";\nimport * as Actions from \"../../actionCreators\";\nimpo"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/Time.tsx",
    "chars": 1351,
    "preview": "import { memo } from \"react\";\nimport * as Utils from \"../../utils\";\n\nimport * as Actions from \"../../actionCreators\";\nim"
  },
  {
    "path": "webamp/packages/webamp/js/components/MainWindow/index.tsx",
    "chars": 4424,
    "preview": "import * as React from \"react\";\nimport classnames from \"classnames\";\nimport { WINDOWS, MEDIA_STATUS, LOAD_STYLE } from \""
  },
  {
    "path": "webamp/packages/webamp/js/components/MilkdropWindow/Background.tsx",
    "chars": 628,
    "preview": "import * as React from \"react\";\n\ninterface Props {\n  innerRef?: (node: HTMLDivElement) => void;\n  children: React.ReactN"
  }
]

// ... and 148 more files (download for full content)

About this extraction

This page contains the full source code of the umnik1/yaamp GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 348 files (4.2 MB), approximately 1.1M tokens, and a symbol index with 2744 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!