From 252370c4005b814f3d40b739e14e4d1b87060db0 Mon Sep 17 00:00:00 2001 From: github-actions Date: Mon, 2 Sep 2024 16:24:09 +0000 Subject: [PATCH] Automatic deployment by github-actions --- .gitattributes | 21 - .github/dependabot.yml | 19 - .github/workflows/web.yml | 19 - .gitignore | 3 - .last_build_id | 1 + CONTRIBUTING.md | 2 - COPYRIGHT.md | 4 - README.md | 21 - assets/AssetManifest.bin | 1 + assets/AssetManifest.bin.json | 1 + assets/AssetManifest.json | 1 + assets/FontManifest.json | 1 + assets/NOTICES | 37029 +++++ {calcupiano => assets}/assets/about.md | 0 .../google_fonts/JetBrainsMono-Bold.ttf | Bin .../google_fonts/JetBrainsMono-BoldItalic.ttf | Bin .../google_fonts/JetBrainsMono-ExtraBold.ttf | Bin .../JetBrainsMono-ExtraBoldItalic.ttf | Bin .../google_fonts/JetBrainsMono-ExtraLight.ttf | Bin .../JetBrainsMono-ExtraLightItalic.ttf | Bin .../google_fonts/JetBrainsMono-Italic.ttf | Bin .../google_fonts/JetBrainsMono-Light.ttf | Bin .../JetBrainsMono-LightItalic.ttf | Bin .../google_fonts/JetBrainsMono-Medium.ttf | Bin .../JetBrainsMono-MediumItalic.ttf | Bin .../assets/google_fonts/JetBrainsMono-OFL.txt | 0 .../google_fonts/JetBrainsMono-Regular.ttf | Bin .../google_fonts/JetBrainsMono-SemiBold.ttf | Bin .../JetBrainsMono-SemiBoldItalic.ttf | Bin .../google_fonts/JetBrainsMono-Thin.ttf | Bin .../google_fonts/JetBrainsMono-ThinItalic.ttf | Bin .../assets/img/preview-placeholder.svg | 0 {calcupiano => assets}/assets/l10n/en.json | 0 {calcupiano => assets}/assets/l10n/ru.json | 0 {calcupiano => assets}/assets/l10n/zh-CN.json | 0 .../assets/soundpack/classic/1.wav | Bin .../assets/soundpack/classic/2.wav | Bin .../assets/soundpack/classic/3.wav | Bin .../assets/soundpack/classic/4.wav | Bin .../assets/soundpack/classic/5.wav | Bin .../assets/soundpack/classic/6.wav | Bin .../assets/soundpack/classic/7.wav | Bin .../assets/soundpack/classic/8.wav | Bin .../assets/soundpack/classic/9.wav | Bin .../assets/soundpack/classic/div.wav | Bin .../assets/soundpack/classic/eq.wav | Bin .../assets/soundpack/classic/minus.wav | Bin .../assets/soundpack/classic/mul.wav | Bin .../assets/soundpack/classic/plus.wav | Bin .../assets/soundpack/classic/preview.png | Bin .../assets/soundpack/default/1.wav | Bin .../assets/soundpack/default/2.wav | Bin .../assets/soundpack/default/3.wav | Bin .../assets/soundpack/default/4.wav | Bin .../assets/soundpack/default/5.wav | Bin .../assets/soundpack/default/6.wav | Bin .../assets/soundpack/default/7.wav | Bin .../assets/soundpack/default/8.wav | Bin .../assets/soundpack/default/9.wav | Bin .../assets/soundpack/default/div.wav | Bin .../assets/soundpack/default/eq.wav | Bin .../assets/soundpack/default/minus.wav | Bin .../assets/soundpack/default/mul.wav | Bin .../assets/soundpack/default/plus.wav | Bin .../assets/soundpack/default/preview.png | Bin .../assets/soundpack/default_long_tone/1.wav | Bin .../assets/soundpack/default_long_tone/2.wav | Bin .../assets/soundpack/default_long_tone/3.wav | Bin .../assets/soundpack/default_long_tone/4.wav | Bin .../assets/soundpack/default_long_tone/5.wav | Bin .../assets/soundpack/default_long_tone/6.wav | Bin .../assets/soundpack/default_long_tone/7.wav | Bin .../assets/soundpack/default_long_tone/8.wav | Bin .../assets/soundpack/default_long_tone/9.wav | Bin .../soundpack/default_long_tone/div.wav | Bin .../assets/soundpack/default_long_tone/eq.wav | Bin .../soundpack/default_long_tone/minus.wav | Bin .../soundpack/default_long_tone/mul.wav | Bin .../soundpack/default_long_tone/plus.wav | Bin .../soundpack/default_long_tone/preview.png | Bin assets/fonts/MaterialIcons-Regular.otf | Bin 0 -> 11604 bytes .../cupertino_icons/assets/CupertinoIcons.ttf | Bin 0 -> 1560 bytes assets/packages/unicons/icons/UniconsLine.ttf | Bin 0 -> 293252 bytes .../packages/unicons/icons/UniconsSolid.ttf | Bin 0 -> 34808 bytes .../unicons/icons/UniconsThinline.ttf | Bin 0 -> 54168 bytes assets/shaders/ink_sparkle.frag | 126 + calcupiano/.gitignore | 44 - calcupiano/.metadata | 45 - calcupiano/analysis_options.yaml | 29 - calcupiano/android/.gitignore | 13 - calcupiano/android/app/build.gradle | 65 - .../android/app/src/debug/AndroidManifest.xml | 8 - .../android/app/src/main/AndroidManifest.xml | 34 - .../app/src/main/kotlin/MainActivity.kt | 5 - .../drawable-night-v21/launch_background.xml | 12 - .../res/drawable-night/launch_background.xml | 10 - .../res/drawable-v21/launch_background.xml | 12 - .../main/res/drawable/launch_background.xml | 11 - .../app/src/main/res/mipmap-hdpi/app_icon.png | Bin 1097 -> 0 bytes .../app/src/main/res/mipmap-mdpi/app_icon.png | Bin 1097 -> 0 bytes .../src/main/res/mipmap-xhdpi/app_icon.png | Bin 1097 -> 0 bytes .../src/main/res/mipmap-xxhdpi/app_icon.png | Bin 1097 -> 0 bytes .../src/main/res/mipmap-xxxhdpi/app_icon.png | Bin 1097 -> 0 bytes .../app/src/main/res/values-night/styles.xml | 18 - .../app/src/main/res/values/strings.xml | 4 - .../app/src/main/res/values/styles.xml | 18 - .../app/src/profile/AndroidManifest.xml | 8 - calcupiano/android/build.gradle | 18 - calcupiano/android/gradle.properties | 3 - .../gradle/wrapper/gradle-wrapper.properties | 5 - calcupiano/android/settings.gradle | 26 - calcupiano/ios/.gitignore | 34 - calcupiano/ios/Flutter/AppFrameworkInfo.plist | 26 - calcupiano/ios/Flutter/Debug.xcconfig | 2 - calcupiano/ios/Flutter/Release.xcconfig | 2 - calcupiano/ios/Podfile | 40 - calcupiano/ios/Podfile.lock | 113 - .../ios/Runner.xcodeproj/project.pbxproj | 554 - .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 87 - .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - calcupiano/ios/Runner/AppDelegate.swift | 13 - .../AppIcon.appiconset/Contents.json | 122 - .../Icon-App-1024x1024@1x.png | Bin 10932 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 564 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 1283 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 1588 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 1025 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 1716 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 1920 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 1283 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 1895 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 2665 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 2665 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 3831 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 1888 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 3294 -> 0 bytes .../Icon-App-83.5x83.5@2x.png | Bin 3612 -> 0 bytes .../LaunchImage.imageset/Contents.json | 23 - .../LaunchImage.imageset/LaunchImage.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/README.md | 5 - .../Runner/Base.lproj/LaunchScreen.storyboard | 37 - .../ios/Runner/Base.lproj/Main.storyboard | 26 - calcupiano/ios/Runner/Info.plist | 51 - .../ios/Runner/Runner-Bridging-Header.h | 1 - calcupiano/lib/app.dart | 148 - calcupiano/lib/app.i18n.dart | 15 - calcupiano/lib/app.landscape.dart | 129 - calcupiano/lib/app.portrait.dart | 194 - calcupiano/lib/assets.dart | 12 - calcupiano/lib/db.dart | 128 - calcupiano/lib/design/adaptive.dart | 239 - calcupiano/lib/design/animated.dart | 101 - calcupiano/lib/design/dialog.dart | 131 - calcupiano/lib/design/draggable.dart | 75 - calcupiano/lib/design/multiplatform.dart | 278 - calcupiano/lib/design/overlay.dart | 334 - calcupiano/lib/design/window.dart | 212 - calcupiano/lib/event_handler.dart | 12 - calcupiano/lib/events.dart | 40 - calcupiano/lib/foundation.dart | 66 - calcupiano/lib/foundation/file.dart | 100 - calcupiano/lib/foundation/image_file.dart | 89 - calcupiano/lib/foundation/image_file.g.dart | 36 - calcupiano/lib/foundation/note.dart | 108 - calcupiano/lib/foundation/page.dart | 43 - calcupiano/lib/foundation/player.dart | 52 - calcupiano/lib/foundation/sound_file.dart | 108 - calcupiano/lib/foundation/sound_file.g.dart | 36 - calcupiano/lib/foundation/soundpack.dart | 370 - calcupiano/lib/foundation/soundpack.g.dart | 66 - calcupiano/lib/foundation/soundpack.i18n.dart | 18 - calcupiano/lib/i18n.dart | 53 - calcupiano/lib/main.dart | 69 - calcupiano/lib/packager.dart | 276 - calcupiano/lib/r.dart | 59 - calcupiano/lib/service/soundpack.dart | 31 - calcupiano/lib/sheet/interpreter.dart | 18 - calcupiano/lib/sheet/parser.dart | 35 - calcupiano/lib/sheet/sheet.dart | 27 - calcupiano/lib/stage_manager.dart | 52 - calcupiano/lib/theme/keyboard.dart | 39 - calcupiano/lib/theme/theme.dart | 72 - calcupiano/lib/ui/about.dart | 85 - calcupiano/lib/ui/about.i18n.dart | 9 - calcupiano/lib/ui/piano.dart | 176 - calcupiano/lib/ui/settings.dart | 370 - calcupiano/lib/ui/settings.i18n.dart | 45 - calcupiano/lib/ui/sheet_folder.dart | 0 calcupiano/lib/ui/sheet_screen.dart | 64 - calcupiano/lib/ui/sound_explorer.dart | 100 - calcupiano/lib/ui/soundpack.dart | 408 - calcupiano/lib/ui/soundpack.i18n.dart | 26 - calcupiano/lib/ui/soundpack_composer.dart | 349 - calcupiano/lib/ui/soundpack_editor.dart | 176 - calcupiano/lib/ui/soundpack_editor.i18n.dart | 9 - calcupiano/lib/ui/soundpack_viewer.dart | 119 - calcupiano/lib/ui/soundpack_viewer.i18n.dart | 9 - calcupiano/lib/utils.dart | 33 - calcupiano/linux/.gitignore | 1 - calcupiano/linux/CMakeLists.txt | 138 - calcupiano/linux/flutter/CMakeLists.txt | 88 - .../flutter/generated_plugin_registrant.cc | 23 - .../flutter/generated_plugin_registrant.h | 15 - .../linux/flutter/generated_plugins.cmake | 26 - calcupiano/linux/main.cc | 6 - calcupiano/linux/my_application.cc | 104 - calcupiano/linux/my_application.h | 18 - calcupiano/local.properties | 8 - calcupiano/macos/.gitignore | 7 - .../macos/Flutter/Flutter-Debug.xcconfig | 2 - .../macos/Flutter/Flutter-Release.xcconfig | 2 - .../Flutter/GeneratedPluginRegistrant.swift | 24 - calcupiano/macos/Podfile | 40 - calcupiano/macos/Podfile.lock | 52 - .../macos/Runner.xcodeproj/project.pbxproj | 634 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 87 - .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - calcupiano/macos/Runner/AppDelegate.swift | 9 - .../AppIcon.appiconset/Contents.json | 68 - .../AppIcon.appiconset/app_icon_1024.png | Bin 102994 -> 0 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 5680 -> 0 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 520 -> 0 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 14142 -> 0 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 1066 -> 0 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 36406 -> 0 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 2218 -> 0 bytes .../macos/Runner/Base.lproj/MainMenu.xib | 343 - .../macos/Runner/Configs/AppInfo.xcconfig | 14 - .../macos/Runner/Configs/Debug.xcconfig | 2 - .../macos/Runner/Configs/Release.xcconfig | 2 - .../macos/Runner/Configs/Warnings.xcconfig | 13 - .../macos/Runner/DebugProfile.entitlements | 12 - calcupiano/macos/Runner/Info.plist | 32 - .../macos/Runner/MainFlutterWindow.swift | 15 - calcupiano/macos/Runner/Release.entitlements | 8 - calcupiano/pubspec.lock | 1377 - calcupiano/pubspec.yaml | 146 - calcupiano/test/convert_test.dart | 60 - calcupiano/web/index.html | 62 - calcupiano/windows/.gitignore | 17 - calcupiano/windows/CMakeLists.txt | 101 - calcupiano/windows/flutter/CMakeLists.txt | 109 - .../flutter/generated_plugin_registrant.cc | 23 - .../flutter/generated_plugin_registrant.h | 15 - .../windows/flutter/generated_plugins.cmake | 27 - calcupiano/windows/runner/CMakeLists.txt | 39 - calcupiano/windows/runner/Runner.rc | 121 - calcupiano/windows/runner/flutter_window.cpp | 61 - calcupiano/windows/runner/flutter_window.h | 33 - calcupiano/windows/runner/main.cpp | 43 - calcupiano/windows/runner/resource.h | 16 - .../windows/runner/resources/app_icon.ico | Bin 33772 -> 0 bytes calcupiano/windows/runner/runner.exe.manifest | 20 - calcupiano/windows/runner/utils.cpp | 64 - calcupiano/windows/runner/utils.h | 19 - calcupiano/windows/runner/win32_window.cpp | 245 - calcupiano/windows/runner/win32_window.h | 98 - canvaskit/canvaskit.js | 217 + canvaskit/canvaskit.js.symbols | 11947 ++ canvaskit/canvaskit.wasm | Bin 0 -> 6751354 bytes canvaskit/chromium/canvaskit.js | 216 + canvaskit/chromium/canvaskit.js.symbols | 10903 ++ canvaskit/chromium/canvaskit.wasm | Bin 0 -> 5372643 bytes canvaskit/skwasm.js | 172 + canvaskit/skwasm.js.symbols | 12035 ++ canvaskit/skwasm.wasm | Bin 0 -> 3222359 bytes canvaskit/skwasm.worker.js | 1 + calcupiano/web/favicon.png => favicon.png | Bin flutter.js | 4 + flutter_bootstrap.js | 16 + flutter_service_worker.js | 275 + {calcupiano/web/icons => icons}/Icon-192.png | Bin {calcupiano/web/icons => icons}/Icon-512.png | Bin .../web/icons => icons}/Icon-maskable-192.png | Bin .../web/icons => icons}/Icon-maskable-512.png | Bin index.html | 78 + main.dart.js | 128366 +++++++++++++++ calcupiano/web/manifest.json => manifest.json | 0 specifications/SheetMusic.md | 76 - specifications/SoundFile.md | 39 - specifications/Soundpack.md | 137 - version.json | 1 + 291 files changed, 201391 insertions(+), 12278 deletions(-) delete mode 100644 .gitattributes delete mode 100644 .github/dependabot.yml delete mode 100644 .github/workflows/web.yml delete mode 100644 .gitignore create mode 100644 .last_build_id delete mode 100644 CONTRIBUTING.md delete mode 100644 COPYRIGHT.md delete mode 100644 README.md create mode 100644 assets/AssetManifest.bin create mode 100644 assets/AssetManifest.bin.json create mode 100644 assets/AssetManifest.json create mode 100644 assets/FontManifest.json create mode 100644 assets/NOTICES rename {calcupiano => assets}/assets/about.md (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-Bold.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-BoldItalic.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-ExtraBold.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-ExtraBoldItalic.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-ExtraLight.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-ExtraLightItalic.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-Italic.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-Light.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-LightItalic.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-Medium.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-MediumItalic.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-OFL.txt (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-Regular.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-SemiBold.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-SemiBoldItalic.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-Thin.ttf (100%) rename {calcupiano => assets}/assets/google_fonts/JetBrainsMono-ThinItalic.ttf (100%) rename {calcupiano => assets}/assets/img/preview-placeholder.svg (100%) rename {calcupiano => assets}/assets/l10n/en.json (100%) rename {calcupiano => assets}/assets/l10n/ru.json (100%) rename {calcupiano => assets}/assets/l10n/zh-CN.json (100%) rename {calcupiano => assets}/assets/soundpack/classic/1.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/2.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/3.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/4.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/5.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/6.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/7.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/8.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/9.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/div.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/eq.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/minus.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/mul.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/plus.wav (100%) rename {calcupiano => assets}/assets/soundpack/classic/preview.png (100%) rename {calcupiano => assets}/assets/soundpack/default/1.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/2.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/3.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/4.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/5.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/6.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/7.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/8.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/9.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/div.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/eq.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/minus.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/mul.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/plus.wav (100%) rename {calcupiano => assets}/assets/soundpack/default/preview.png (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/1.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/2.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/3.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/4.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/5.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/6.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/7.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/8.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/9.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/div.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/eq.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/minus.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/mul.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/plus.wav (100%) rename {calcupiano => assets}/assets/soundpack/default_long_tone/preview.png (100%) create mode 100644 assets/fonts/MaterialIcons-Regular.otf create mode 100644 assets/packages/cupertino_icons/assets/CupertinoIcons.ttf create mode 100644 assets/packages/unicons/icons/UniconsLine.ttf create mode 100644 assets/packages/unicons/icons/UniconsSolid.ttf create mode 100644 assets/packages/unicons/icons/UniconsThinline.ttf create mode 100644 assets/shaders/ink_sparkle.frag delete mode 100644 calcupiano/.gitignore delete mode 100644 calcupiano/.metadata delete mode 100644 calcupiano/analysis_options.yaml delete mode 100644 calcupiano/android/.gitignore delete mode 100644 calcupiano/android/app/build.gradle delete mode 100644 calcupiano/android/app/src/debug/AndroidManifest.xml delete mode 100644 calcupiano/android/app/src/main/AndroidManifest.xml delete mode 100644 calcupiano/android/app/src/main/kotlin/MainActivity.kt delete mode 100644 calcupiano/android/app/src/main/res/drawable-night-v21/launch_background.xml delete mode 100644 calcupiano/android/app/src/main/res/drawable-night/launch_background.xml delete mode 100644 calcupiano/android/app/src/main/res/drawable-v21/launch_background.xml delete mode 100644 calcupiano/android/app/src/main/res/drawable/launch_background.xml delete mode 100644 calcupiano/android/app/src/main/res/mipmap-hdpi/app_icon.png delete mode 100644 calcupiano/android/app/src/main/res/mipmap-mdpi/app_icon.png delete mode 100644 calcupiano/android/app/src/main/res/mipmap-xhdpi/app_icon.png delete mode 100644 calcupiano/android/app/src/main/res/mipmap-xxhdpi/app_icon.png delete mode 100644 calcupiano/android/app/src/main/res/mipmap-xxxhdpi/app_icon.png delete mode 100644 calcupiano/android/app/src/main/res/values-night/styles.xml delete mode 100644 calcupiano/android/app/src/main/res/values/strings.xml delete mode 100644 calcupiano/android/app/src/main/res/values/styles.xml delete mode 100644 calcupiano/android/app/src/profile/AndroidManifest.xml delete mode 100644 calcupiano/android/build.gradle delete mode 100644 calcupiano/android/gradle.properties delete mode 100644 calcupiano/android/gradle/wrapper/gradle-wrapper.properties delete mode 100644 calcupiano/android/settings.gradle delete mode 100644 calcupiano/ios/.gitignore delete mode 100644 calcupiano/ios/Flutter/AppFrameworkInfo.plist delete mode 100644 calcupiano/ios/Flutter/Debug.xcconfig delete mode 100644 calcupiano/ios/Flutter/Release.xcconfig delete mode 100644 calcupiano/ios/Podfile delete mode 100644 calcupiano/ios/Podfile.lock delete mode 100644 calcupiano/ios/Runner.xcodeproj/project.pbxproj delete mode 100644 calcupiano/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 calcupiano/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 calcupiano/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 calcupiano/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 calcupiano/ios/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 calcupiano/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 calcupiano/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 calcupiano/ios/Runner/AppDelegate.swift delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png delete mode 100644 calcupiano/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md delete mode 100644 calcupiano/ios/Runner/Base.lproj/LaunchScreen.storyboard delete mode 100644 calcupiano/ios/Runner/Base.lproj/Main.storyboard delete mode 100644 calcupiano/ios/Runner/Info.plist delete mode 100644 calcupiano/ios/Runner/Runner-Bridging-Header.h delete mode 100644 calcupiano/lib/app.dart delete mode 100644 calcupiano/lib/app.i18n.dart delete mode 100644 calcupiano/lib/app.landscape.dart delete mode 100644 calcupiano/lib/app.portrait.dart delete mode 100644 calcupiano/lib/assets.dart delete mode 100644 calcupiano/lib/db.dart delete mode 100644 calcupiano/lib/design/adaptive.dart delete mode 100644 calcupiano/lib/design/animated.dart delete mode 100644 calcupiano/lib/design/dialog.dart delete mode 100644 calcupiano/lib/design/draggable.dart delete mode 100644 calcupiano/lib/design/multiplatform.dart delete mode 100644 calcupiano/lib/design/overlay.dart delete mode 100644 calcupiano/lib/design/window.dart delete mode 100644 calcupiano/lib/event_handler.dart delete mode 100644 calcupiano/lib/events.dart delete mode 100644 calcupiano/lib/foundation.dart delete mode 100644 calcupiano/lib/foundation/file.dart delete mode 100644 calcupiano/lib/foundation/image_file.dart delete mode 100644 calcupiano/lib/foundation/image_file.g.dart delete mode 100644 calcupiano/lib/foundation/note.dart delete mode 100644 calcupiano/lib/foundation/page.dart delete mode 100644 calcupiano/lib/foundation/player.dart delete mode 100644 calcupiano/lib/foundation/sound_file.dart delete mode 100644 calcupiano/lib/foundation/sound_file.g.dart delete mode 100644 calcupiano/lib/foundation/soundpack.dart delete mode 100644 calcupiano/lib/foundation/soundpack.g.dart delete mode 100644 calcupiano/lib/foundation/soundpack.i18n.dart delete mode 100644 calcupiano/lib/i18n.dart delete mode 100644 calcupiano/lib/main.dart delete mode 100644 calcupiano/lib/packager.dart delete mode 100644 calcupiano/lib/r.dart delete mode 100644 calcupiano/lib/service/soundpack.dart delete mode 100644 calcupiano/lib/sheet/interpreter.dart delete mode 100644 calcupiano/lib/sheet/parser.dart delete mode 100644 calcupiano/lib/sheet/sheet.dart delete mode 100644 calcupiano/lib/stage_manager.dart delete mode 100644 calcupiano/lib/theme/keyboard.dart delete mode 100644 calcupiano/lib/theme/theme.dart delete mode 100644 calcupiano/lib/ui/about.dart delete mode 100644 calcupiano/lib/ui/about.i18n.dart delete mode 100644 calcupiano/lib/ui/piano.dart delete mode 100644 calcupiano/lib/ui/settings.dart delete mode 100644 calcupiano/lib/ui/settings.i18n.dart delete mode 100644 calcupiano/lib/ui/sheet_folder.dart delete mode 100644 calcupiano/lib/ui/sheet_screen.dart delete mode 100644 calcupiano/lib/ui/sound_explorer.dart delete mode 100644 calcupiano/lib/ui/soundpack.dart delete mode 100644 calcupiano/lib/ui/soundpack.i18n.dart delete mode 100644 calcupiano/lib/ui/soundpack_composer.dart delete mode 100644 calcupiano/lib/ui/soundpack_editor.dart delete mode 100644 calcupiano/lib/ui/soundpack_editor.i18n.dart delete mode 100644 calcupiano/lib/ui/soundpack_viewer.dart delete mode 100644 calcupiano/lib/ui/soundpack_viewer.i18n.dart delete mode 100644 calcupiano/lib/utils.dart delete mode 100644 calcupiano/linux/.gitignore delete mode 100644 calcupiano/linux/CMakeLists.txt delete mode 100644 calcupiano/linux/flutter/CMakeLists.txt delete mode 100644 calcupiano/linux/flutter/generated_plugin_registrant.cc delete mode 100644 calcupiano/linux/flutter/generated_plugin_registrant.h delete mode 100644 calcupiano/linux/flutter/generated_plugins.cmake delete mode 100644 calcupiano/linux/main.cc delete mode 100644 calcupiano/linux/my_application.cc delete mode 100644 calcupiano/linux/my_application.h delete mode 100644 calcupiano/local.properties delete mode 100644 calcupiano/macos/.gitignore delete mode 100644 calcupiano/macos/Flutter/Flutter-Debug.xcconfig delete mode 100644 calcupiano/macos/Flutter/Flutter-Release.xcconfig delete mode 100644 calcupiano/macos/Flutter/GeneratedPluginRegistrant.swift delete mode 100644 calcupiano/macos/Podfile delete mode 100644 calcupiano/macos/Podfile.lock delete mode 100644 calcupiano/macos/Runner.xcodeproj/project.pbxproj delete mode 100644 calcupiano/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 calcupiano/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 calcupiano/macos/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 calcupiano/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 calcupiano/macos/Runner/AppDelegate.swift delete mode 100644 calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png delete mode 100644 calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png delete mode 100644 calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png delete mode 100644 calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png delete mode 100644 calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png delete mode 100644 calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png delete mode 100644 calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png delete mode 100644 calcupiano/macos/Runner/Base.lproj/MainMenu.xib delete mode 100644 calcupiano/macos/Runner/Configs/AppInfo.xcconfig delete mode 100644 calcupiano/macos/Runner/Configs/Debug.xcconfig delete mode 100644 calcupiano/macos/Runner/Configs/Release.xcconfig delete mode 100644 calcupiano/macos/Runner/Configs/Warnings.xcconfig delete mode 100644 calcupiano/macos/Runner/DebugProfile.entitlements delete mode 100644 calcupiano/macos/Runner/Info.plist delete mode 100644 calcupiano/macos/Runner/MainFlutterWindow.swift delete mode 100644 calcupiano/macos/Runner/Release.entitlements delete mode 100644 calcupiano/pubspec.lock delete mode 100644 calcupiano/pubspec.yaml delete mode 100644 calcupiano/test/convert_test.dart delete mode 100644 calcupiano/web/index.html delete mode 100644 calcupiano/windows/.gitignore delete mode 100644 calcupiano/windows/CMakeLists.txt delete mode 100644 calcupiano/windows/flutter/CMakeLists.txt delete mode 100644 calcupiano/windows/flutter/generated_plugin_registrant.cc delete mode 100644 calcupiano/windows/flutter/generated_plugin_registrant.h delete mode 100644 calcupiano/windows/flutter/generated_plugins.cmake delete mode 100644 calcupiano/windows/runner/CMakeLists.txt delete mode 100644 calcupiano/windows/runner/Runner.rc delete mode 100644 calcupiano/windows/runner/flutter_window.cpp delete mode 100644 calcupiano/windows/runner/flutter_window.h delete mode 100644 calcupiano/windows/runner/main.cpp delete mode 100644 calcupiano/windows/runner/resource.h delete mode 100644 calcupiano/windows/runner/resources/app_icon.ico delete mode 100644 calcupiano/windows/runner/runner.exe.manifest delete mode 100644 calcupiano/windows/runner/utils.cpp delete mode 100644 calcupiano/windows/runner/utils.h delete mode 100644 calcupiano/windows/runner/win32_window.cpp delete mode 100644 calcupiano/windows/runner/win32_window.h create mode 100644 canvaskit/canvaskit.js create mode 100644 canvaskit/canvaskit.js.symbols create mode 100644 canvaskit/canvaskit.wasm create mode 100644 canvaskit/chromium/canvaskit.js create mode 100644 canvaskit/chromium/canvaskit.js.symbols create mode 100644 canvaskit/chromium/canvaskit.wasm create mode 100644 canvaskit/skwasm.js create mode 100644 canvaskit/skwasm.js.symbols create mode 100644 canvaskit/skwasm.wasm create mode 100644 canvaskit/skwasm.worker.js rename calcupiano/web/favicon.png => favicon.png (100%) create mode 100644 flutter.js create mode 100644 flutter_bootstrap.js create mode 100644 flutter_service_worker.js rename {calcupiano/web/icons => icons}/Icon-192.png (100%) rename {calcupiano/web/icons => icons}/Icon-512.png (100%) rename {calcupiano/web/icons => icons}/Icon-maskable-192.png (100%) rename {calcupiano/web/icons => icons}/Icon-maskable-512.png (100%) create mode 100644 index.html create mode 100644 main.dart.js rename calcupiano/web/manifest.json => manifest.json (100%) delete mode 100644 specifications/SheetMusic.md delete mode 100644 specifications/SoundFile.md delete mode 100644 specifications/Soundpack.md create mode 100644 version.json diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 80bc636..0000000 --- a/.gitattributes +++ /dev/null @@ -1,21 +0,0 @@ -* text=auto -*.txt text -*.dart text -*.md text -*.java text -*.kt text -*.swift text -*.c text -*.cc text -*.h text -*.cpp text -*.js text -*.html text -*.css text -*.json text -*.plist text -*.xib text -*.jpg binary -*.png binary -*.wav binary -*.mp3 binary \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 64d6ce6..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,19 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: "pub" - directory: "/calcupiano" - schedule: - interval: weekly - time: "09:00" - open-pull-requests-limit: 5 - - - package-ecosystem: github-actions - directory: "/" - schedule: - interval: weekly - time: "09:00" diff --git a/.github/workflows/web.yml b/.github/workflows/web.yml deleted file mode 100644 index b7b5ecb..0000000 --- a/.github/workflows/web.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Gh-Pages - -on: - push: - branches: [ master ] - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 # Only works with v2 - - uses: subosito/flutter-action@v2 - with: - flutter-version: 3.24.0 - - uses: bluefireteam/flutter-gh-pages@v8 - with: - workingDir: calcupiano - baseHref: /CalcuPiano/ \ No newline at end of file diff --git a/.gitignore b/.gitignore deleted file mode 100644 index ebf869b..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.idea -.vscode -.DS_Store \ No newline at end of file diff --git a/.last_build_id b/.last_build_id new file mode 100644 index 0000000..b9e50d7 --- /dev/null +++ b/.last_build_id @@ -0,0 +1 @@ +86a4e5765775aa4edff6a9b1fbfd628e \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index bf7cbd5..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,2 +0,0 @@ -# Contributing -## How to build CalcuPiano \ No newline at end of file diff --git a/COPYRIGHT.md b/COPYRIGHT.md deleted file mode 100644 index 0c6c4ff..0000000 --- a/COPYRIGHT.md +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright - -## Free Resources -- `assets/img/preview-placeholder.svg` is from https://www.svgrepo.com/svg/274024/image. \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 3e23a44..0000000 --- a/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# CalcuPiano -#### *A multiplatform musical calculator powered by Flutter.* - -Before you decide to install CalcuPiano on your device, you could take a look at the [Online Playground](https://liplum.github.io/CalcuPiano). - -## Acknowledgements - -### Localization - -- Russian: [@EdwardBrok](https://github.com/EdwardBrok) -- Simplified Chinese: [@woodjecket](https://github.com/woodjecket) - -## Contribution - -CalcuPiano is a Flutter project, there's a few resources to get you started if you are not familiar with Flutter. - -- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) -- [Online documentation](https://docs.flutter.dev/) - -If you are not good at programming, please see the [Contribution Guide](CONTRIBUTING.md) to obtain more information. \ No newline at end of file diff --git a/assets/AssetManifest.bin b/assets/AssetManifest.bin new file mode 100644 index 0000000..76fd0f9 --- /dev/null +++ b/assets/AssetManifest.bin @@ -0,0 +1 @@ + Gassets/about.md  assetassets/about.md*assets/google_fonts/JetBrainsMono-Bold.ttf  asset*assets/google_fonts/JetBrainsMono-Bold.ttf0assets/google_fonts/JetBrainsMono-BoldItalic.ttf  asset0assets/google_fonts/JetBrainsMono-BoldItalic.ttf/assets/google_fonts/JetBrainsMono-ExtraBold.ttf  asset/assets/google_fonts/JetBrainsMono-ExtraBold.ttf5assets/google_fonts/JetBrainsMono-ExtraBoldItalic.ttf  asset5assets/google_fonts/JetBrainsMono-ExtraBoldItalic.ttf0assets/google_fonts/JetBrainsMono-ExtraLight.ttf  asset0assets/google_fonts/JetBrainsMono-ExtraLight.ttf6assets/google_fonts/JetBrainsMono-ExtraLightItalic.ttf  asset6assets/google_fonts/JetBrainsMono-ExtraLightItalic.ttf,assets/google_fonts/JetBrainsMono-Italic.ttf  asset,assets/google_fonts/JetBrainsMono-Italic.ttf+assets/google_fonts/JetBrainsMono-Light.ttf  asset+assets/google_fonts/JetBrainsMono-Light.ttf1assets/google_fonts/JetBrainsMono-LightItalic.ttf  asset1assets/google_fonts/JetBrainsMono-LightItalic.ttf,assets/google_fonts/JetBrainsMono-Medium.ttf  asset,assets/google_fonts/JetBrainsMono-Medium.ttf2assets/google_fonts/JetBrainsMono-MediumItalic.ttf  asset2assets/google_fonts/JetBrainsMono-MediumItalic.ttf)assets/google_fonts/JetBrainsMono-OFL.txt  asset)assets/google_fonts/JetBrainsMono-OFL.txt-assets/google_fonts/JetBrainsMono-Regular.ttf  asset-assets/google_fonts/JetBrainsMono-Regular.ttf.assets/google_fonts/JetBrainsMono-SemiBold.ttf  asset.assets/google_fonts/JetBrainsMono-SemiBold.ttf4assets/google_fonts/JetBrainsMono-SemiBoldItalic.ttf  asset4assets/google_fonts/JetBrainsMono-SemiBoldItalic.ttf*assets/google_fonts/JetBrainsMono-Thin.ttf  asset*assets/google_fonts/JetBrainsMono-Thin.ttf0assets/google_fonts/JetBrainsMono-ThinItalic.ttf  asset0assets/google_fonts/JetBrainsMono-ThinItalic.ttf"assets/img/preview-placeholder.svg  asset"assets/img/preview-placeholder.svgassets/l10n/en.json  assetassets/l10n/en.jsonassets/l10n/ru.json  assetassets/l10n/ru.jsonassets/l10n/zh-CN.json  assetassets/l10n/zh-CN.jsonassets/soundpack/classic/1.wav  assetassets/soundpack/classic/1.wavassets/soundpack/classic/2.wav  assetassets/soundpack/classic/2.wavassets/soundpack/classic/3.wav  assetassets/soundpack/classic/3.wavassets/soundpack/classic/4.wav  assetassets/soundpack/classic/4.wavassets/soundpack/classic/5.wav  assetassets/soundpack/classic/5.wavassets/soundpack/classic/6.wav  assetassets/soundpack/classic/6.wavassets/soundpack/classic/7.wav  assetassets/soundpack/classic/7.wavassets/soundpack/classic/8.wav  assetassets/soundpack/classic/8.wavassets/soundpack/classic/9.wav  assetassets/soundpack/classic/9.wav assets/soundpack/classic/div.wav  asset assets/soundpack/classic/div.wavassets/soundpack/classic/eq.wav  assetassets/soundpack/classic/eq.wav"assets/soundpack/classic/minus.wav  asset"assets/soundpack/classic/minus.wav assets/soundpack/classic/mul.wav  asset assets/soundpack/classic/mul.wav!assets/soundpack/classic/plus.wav  asset!assets/soundpack/classic/plus.wav$assets/soundpack/classic/preview.png  asset$assets/soundpack/classic/preview.pngassets/soundpack/default/1.wav  assetassets/soundpack/default/1.wavassets/soundpack/default/2.wav  assetassets/soundpack/default/2.wavassets/soundpack/default/3.wav  assetassets/soundpack/default/3.wavassets/soundpack/default/4.wav  assetassets/soundpack/default/4.wavassets/soundpack/default/5.wav  assetassets/soundpack/default/5.wavassets/soundpack/default/6.wav  assetassets/soundpack/default/6.wavassets/soundpack/default/7.wav  assetassets/soundpack/default/7.wavassets/soundpack/default/8.wav  assetassets/soundpack/default/8.wavassets/soundpack/default/9.wav  assetassets/soundpack/default/9.wav assets/soundpack/default/div.wav  asset assets/soundpack/default/div.wavassets/soundpack/default/eq.wav  assetassets/soundpack/default/eq.wav"assets/soundpack/default/minus.wav  asset"assets/soundpack/default/minus.wav assets/soundpack/default/mul.wav  asset assets/soundpack/default/mul.wav!assets/soundpack/default/plus.wav  asset!assets/soundpack/default/plus.wav$assets/soundpack/default/preview.png  asset$assets/soundpack/default/preview.png(assets/soundpack/default_long_tone/1.wav  asset(assets/soundpack/default_long_tone/1.wav(assets/soundpack/default_long_tone/2.wav  asset(assets/soundpack/default_long_tone/2.wav(assets/soundpack/default_long_tone/3.wav  asset(assets/soundpack/default_long_tone/3.wav(assets/soundpack/default_long_tone/4.wav  asset(assets/soundpack/default_long_tone/4.wav(assets/soundpack/default_long_tone/5.wav  asset(assets/soundpack/default_long_tone/5.wav(assets/soundpack/default_long_tone/6.wav  asset(assets/soundpack/default_long_tone/6.wav(assets/soundpack/default_long_tone/7.wav  asset(assets/soundpack/default_long_tone/7.wav(assets/soundpack/default_long_tone/8.wav  asset(assets/soundpack/default_long_tone/8.wav(assets/soundpack/default_long_tone/9.wav  asset(assets/soundpack/default_long_tone/9.wav*assets/soundpack/default_long_tone/div.wav  asset*assets/soundpack/default_long_tone/div.wav)assets/soundpack/default_long_tone/eq.wav  asset)assets/soundpack/default_long_tone/eq.wav,assets/soundpack/default_long_tone/minus.wav  asset,assets/soundpack/default_long_tone/minus.wav*assets/soundpack/default_long_tone/mul.wav  asset*assets/soundpack/default_long_tone/mul.wav+assets/soundpack/default_long_tone/plus.wav  asset+assets/soundpack/default_long_tone/plus.wav.assets/soundpack/default_long_tone/preview.png  asset.assets/soundpack/default_long_tone/preview.png2packages/cupertino_icons/assets/CupertinoIcons.ttf  asset2packages/cupertino_icons/assets/CupertinoIcons.ttf&packages/unicons/icons/UniconsLine.ttf  asset&packages/unicons/icons/UniconsLine.ttf'packages/unicons/icons/UniconsSolid.ttf  asset'packages/unicons/icons/UniconsSolid.ttf*packages/unicons/icons/UniconsThinline.ttf  asset*packages/unicons/icons/UniconsThinline.ttf \ No newline at end of file diff --git a/assets/AssetManifest.bin.json b/assets/AssetManifest.bin.json new file mode 100644 index 0000000..f51bfc0 --- /dev/null +++ b/assets/AssetManifest.bin.json @@ -0,0 +1 @@ +"DUcHD2Fzc2V0cy9hYm91dC5tZAwBDQEHBWFzc2V0Bw9hc3NldHMvYWJvdXQubWQHKmFzc2V0cy9nb29nbGVfZm9udHMvSmV0QnJhaW5zTW9uby1Cb2xkLnR0ZgwBDQEHBWFzc2V0Byphc3NldHMvZ29vZ2xlX2ZvbnRzL0pldEJyYWluc01vbm8tQm9sZC50dGYHMGFzc2V0cy9nb29nbGVfZm9udHMvSmV0QnJhaW5zTW9uby1Cb2xkSXRhbGljLnR0ZgwBDQEHBWFzc2V0BzBhc3NldHMvZ29vZ2xlX2ZvbnRzL0pldEJyYWluc01vbm8tQm9sZEl0YWxpYy50dGYHL2Fzc2V0cy9nb29nbGVfZm9udHMvSmV0QnJhaW5zTW9uby1FeHRyYUJvbGQudHRmDAENAQcFYXNzZXQHL2Fzc2V0cy9nb29nbGVfZm9udHMvSmV0QnJhaW5zTW9uby1FeHRyYUJvbGQudHRmBzVhc3NldHMvZ29vZ2xlX2ZvbnRzL0pldEJyYWluc01vbm8tRXh0cmFCb2xkSXRhbGljLnR0ZgwBDQEHBWFzc2V0BzVhc3NldHMvZ29vZ2xlX2ZvbnRzL0pldEJyYWluc01vbm8tRXh0cmFCb2xkSXRhbGljLnR0ZgcwYXNzZXRzL2dvb2dsZV9mb250cy9KZXRCcmFpbnNNb25vLUV4dHJhTGlnaHQudHRmDAENAQcFYXNzZXQHMGFzc2V0cy9nb29nbGVfZm9udHMvSmV0QnJhaW5zTW9uby1FeHRyYUxpZ2h0LnR0Zgc2YXNzZXRzL2dvb2dsZV9mb250cy9KZXRCcmFpbnNNb25vLUV4dHJhTGlnaHRJdGFsaWMudHRmDAENAQcFYXNzZXQHNmFzc2V0cy9nb29nbGVfZm9udHMvSmV0QnJhaW5zTW9uby1FeHRyYUxpZ2h0SXRhbGljLnR0ZgcsYXNzZXRzL2dvb2dsZV9mb250cy9KZXRCcmFpbnNNb25vLUl0YWxpYy50dGYMAQ0BBwVhc3NldAcsYXNzZXRzL2dvb2dsZV9mb250cy9KZXRCcmFpbnNNb25vLUl0YWxpYy50dGYHK2Fzc2V0cy9nb29nbGVfZm9udHMvSmV0QnJhaW5zTW9uby1MaWdodC50dGYMAQ0BBwVhc3NldAcrYXNzZXRzL2dvb2dsZV9mb250cy9KZXRCcmFpbnNNb25vLUxpZ2h0LnR0ZgcxYXNzZXRzL2dvb2dsZV9mb250cy9KZXRCcmFpbnNNb25vLUxpZ2h0SXRhbGljLnR0ZgwBDQEHBWFzc2V0BzFhc3NldHMvZ29vZ2xlX2ZvbnRzL0pldEJyYWluc01vbm8tTGlnaHRJdGFsaWMudHRmByxhc3NldHMvZ29vZ2xlX2ZvbnRzL0pldEJyYWluc01vbm8tTWVkaXVtLnR0ZgwBDQEHBWFzc2V0Byxhc3NldHMvZ29vZ2xlX2ZvbnRzL0pldEJyYWluc01vbm8tTWVkaXVtLnR0ZgcyYXNzZXRzL2dvb2dsZV9mb250cy9KZXRCcmFpbnNNb25vLU1lZGl1bUl0YWxpYy50dGYMAQ0BBwVhc3NldAcyYXNzZXRzL2dvb2dsZV9mb250cy9KZXRCcmFpbnNNb25vLU1lZGl1bUl0YWxpYy50dGYHKWFzc2V0cy9nb29nbGVfZm9udHMvSmV0QnJhaW5zTW9uby1PRkwudHh0DAENAQcFYXNzZXQHKWFzc2V0cy9nb29nbGVfZm9udHMvSmV0QnJhaW5zTW9uby1PRkwudHh0By1hc3NldHMvZ29vZ2xlX2ZvbnRzL0pldEJyYWluc01vbm8tUmVndWxhci50dGYMAQ0BBwVhc3NldActYXNzZXRzL2dvb2dsZV9mb250cy9KZXRCcmFpbnNNb25vLVJlZ3VsYXIudHRmBy5hc3NldHMvZ29vZ2xlX2ZvbnRzL0pldEJyYWluc01vbm8tU2VtaUJvbGQudHRmDAENAQcFYXNzZXQHLmFzc2V0cy9nb29nbGVfZm9udHMvSmV0QnJhaW5zTW9uby1TZW1pQm9sZC50dGYHNGFzc2V0cy9nb29nbGVfZm9udHMvSmV0QnJhaW5zTW9uby1TZW1pQm9sZEl0YWxpYy50dGYMAQ0BBwVhc3NldAc0YXNzZXRzL2dvb2dsZV9mb250cy9KZXRCcmFpbnNNb25vLVNlbWlCb2xkSXRhbGljLnR0ZgcqYXNzZXRzL2dvb2dsZV9mb250cy9KZXRCcmFpbnNNb25vLVRoaW4udHRmDAENAQcFYXNzZXQHKmFzc2V0cy9nb29nbGVfZm9udHMvSmV0QnJhaW5zTW9uby1UaGluLnR0ZgcwYXNzZXRzL2dvb2dsZV9mb250cy9KZXRCcmFpbnNNb25vLVRoaW5JdGFsaWMudHRmDAENAQcFYXNzZXQHMGFzc2V0cy9nb29nbGVfZm9udHMvSmV0QnJhaW5zTW9uby1UaGluSXRhbGljLnR0ZgciYXNzZXRzL2ltZy9wcmV2aWV3LXBsYWNlaG9sZGVyLnN2ZwwBDQEHBWFzc2V0ByJhc3NldHMvaW1nL3ByZXZpZXctcGxhY2Vob2xkZXIuc3ZnBxNhc3NldHMvbDEwbi9lbi5qc29uDAENAQcFYXNzZXQHE2Fzc2V0cy9sMTBuL2VuLmpzb24HE2Fzc2V0cy9sMTBuL3J1Lmpzb24MAQ0BBwVhc3NldAcTYXNzZXRzL2wxMG4vcnUuanNvbgcWYXNzZXRzL2wxMG4vemgtQ04uanNvbgwBDQEHBWFzc2V0BxZhc3NldHMvbDEwbi96aC1DTi5qc29uBx5hc3NldHMvc291bmRwYWNrL2NsYXNzaWMvMS53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9jbGFzc2ljLzEud2F2Bx5hc3NldHMvc291bmRwYWNrL2NsYXNzaWMvMi53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9jbGFzc2ljLzIud2F2Bx5hc3NldHMvc291bmRwYWNrL2NsYXNzaWMvMy53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9jbGFzc2ljLzMud2F2Bx5hc3NldHMvc291bmRwYWNrL2NsYXNzaWMvNC53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9jbGFzc2ljLzQud2F2Bx5hc3NldHMvc291bmRwYWNrL2NsYXNzaWMvNS53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9jbGFzc2ljLzUud2F2Bx5hc3NldHMvc291bmRwYWNrL2NsYXNzaWMvNi53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9jbGFzc2ljLzYud2F2Bx5hc3NldHMvc291bmRwYWNrL2NsYXNzaWMvNy53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9jbGFzc2ljLzcud2F2Bx5hc3NldHMvc291bmRwYWNrL2NsYXNzaWMvOC53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9jbGFzc2ljLzgud2F2Bx5hc3NldHMvc291bmRwYWNrL2NsYXNzaWMvOS53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9jbGFzc2ljLzkud2F2ByBhc3NldHMvc291bmRwYWNrL2NsYXNzaWMvZGl2LndhdgwBDQEHBWFzc2V0ByBhc3NldHMvc291bmRwYWNrL2NsYXNzaWMvZGl2LndhdgcfYXNzZXRzL3NvdW5kcGFjay9jbGFzc2ljL2VxLndhdgwBDQEHBWFzc2V0Bx9hc3NldHMvc291bmRwYWNrL2NsYXNzaWMvZXEud2F2ByJhc3NldHMvc291bmRwYWNrL2NsYXNzaWMvbWludXMud2F2DAENAQcFYXNzZXQHImFzc2V0cy9zb3VuZHBhY2svY2xhc3NpYy9taW51cy53YXYHIGFzc2V0cy9zb3VuZHBhY2svY2xhc3NpYy9tdWwud2F2DAENAQcFYXNzZXQHIGFzc2V0cy9zb3VuZHBhY2svY2xhc3NpYy9tdWwud2F2ByFhc3NldHMvc291bmRwYWNrL2NsYXNzaWMvcGx1cy53YXYMAQ0BBwVhc3NldAchYXNzZXRzL3NvdW5kcGFjay9jbGFzc2ljL3BsdXMud2F2ByRhc3NldHMvc291bmRwYWNrL2NsYXNzaWMvcHJldmlldy5wbmcMAQ0BBwVhc3NldAckYXNzZXRzL3NvdW5kcGFjay9jbGFzc2ljL3ByZXZpZXcucG5nBx5hc3NldHMvc291bmRwYWNrL2RlZmF1bHQvMS53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0LzEud2F2Bx5hc3NldHMvc291bmRwYWNrL2RlZmF1bHQvMi53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0LzIud2F2Bx5hc3NldHMvc291bmRwYWNrL2RlZmF1bHQvMy53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0LzMud2F2Bx5hc3NldHMvc291bmRwYWNrL2RlZmF1bHQvNC53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0LzQud2F2Bx5hc3NldHMvc291bmRwYWNrL2RlZmF1bHQvNS53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0LzUud2F2Bx5hc3NldHMvc291bmRwYWNrL2RlZmF1bHQvNi53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0LzYud2F2Bx5hc3NldHMvc291bmRwYWNrL2RlZmF1bHQvNy53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0Lzcud2F2Bx5hc3NldHMvc291bmRwYWNrL2RlZmF1bHQvOC53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0Lzgud2F2Bx5hc3NldHMvc291bmRwYWNrL2RlZmF1bHQvOS53YXYMAQ0BBwVhc3NldAceYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0Lzkud2F2ByBhc3NldHMvc291bmRwYWNrL2RlZmF1bHQvZGl2LndhdgwBDQEHBWFzc2V0ByBhc3NldHMvc291bmRwYWNrL2RlZmF1bHQvZGl2LndhdgcfYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0L2VxLndhdgwBDQEHBWFzc2V0Bx9hc3NldHMvc291bmRwYWNrL2RlZmF1bHQvZXEud2F2ByJhc3NldHMvc291bmRwYWNrL2RlZmF1bHQvbWludXMud2F2DAENAQcFYXNzZXQHImFzc2V0cy9zb3VuZHBhY2svZGVmYXVsdC9taW51cy53YXYHIGFzc2V0cy9zb3VuZHBhY2svZGVmYXVsdC9tdWwud2F2DAENAQcFYXNzZXQHIGFzc2V0cy9zb3VuZHBhY2svZGVmYXVsdC9tdWwud2F2ByFhc3NldHMvc291bmRwYWNrL2RlZmF1bHQvcGx1cy53YXYMAQ0BBwVhc3NldAchYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0L3BsdXMud2F2ByRhc3NldHMvc291bmRwYWNrL2RlZmF1bHQvcHJldmlldy5wbmcMAQ0BBwVhc3NldAckYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0L3ByZXZpZXcucG5nByhhc3NldHMvc291bmRwYWNrL2RlZmF1bHRfbG9uZ190b25lLzEud2F2DAENAQcFYXNzZXQHKGFzc2V0cy9zb3VuZHBhY2svZGVmYXVsdF9sb25nX3RvbmUvMS53YXYHKGFzc2V0cy9zb3VuZHBhY2svZGVmYXVsdF9sb25nX3RvbmUvMi53YXYMAQ0BBwVhc3NldAcoYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0X2xvbmdfdG9uZS8yLndhdgcoYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0X2xvbmdfdG9uZS8zLndhdgwBDQEHBWFzc2V0Byhhc3NldHMvc291bmRwYWNrL2RlZmF1bHRfbG9uZ190b25lLzMud2F2Byhhc3NldHMvc291bmRwYWNrL2RlZmF1bHRfbG9uZ190b25lLzQud2F2DAENAQcFYXNzZXQHKGFzc2V0cy9zb3VuZHBhY2svZGVmYXVsdF9sb25nX3RvbmUvNC53YXYHKGFzc2V0cy9zb3VuZHBhY2svZGVmYXVsdF9sb25nX3RvbmUvNS53YXYMAQ0BBwVhc3NldAcoYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0X2xvbmdfdG9uZS81LndhdgcoYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0X2xvbmdfdG9uZS82LndhdgwBDQEHBWFzc2V0Byhhc3NldHMvc291bmRwYWNrL2RlZmF1bHRfbG9uZ190b25lLzYud2F2Byhhc3NldHMvc291bmRwYWNrL2RlZmF1bHRfbG9uZ190b25lLzcud2F2DAENAQcFYXNzZXQHKGFzc2V0cy9zb3VuZHBhY2svZGVmYXVsdF9sb25nX3RvbmUvNy53YXYHKGFzc2V0cy9zb3VuZHBhY2svZGVmYXVsdF9sb25nX3RvbmUvOC53YXYMAQ0BBwVhc3NldAcoYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0X2xvbmdfdG9uZS84LndhdgcoYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0X2xvbmdfdG9uZS85LndhdgwBDQEHBWFzc2V0Byhhc3NldHMvc291bmRwYWNrL2RlZmF1bHRfbG9uZ190b25lLzkud2F2Byphc3NldHMvc291bmRwYWNrL2RlZmF1bHRfbG9uZ190b25lL2Rpdi53YXYMAQ0BBwVhc3NldAcqYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0X2xvbmdfdG9uZS9kaXYud2F2Bylhc3NldHMvc291bmRwYWNrL2RlZmF1bHRfbG9uZ190b25lL2VxLndhdgwBDQEHBWFzc2V0Bylhc3NldHMvc291bmRwYWNrL2RlZmF1bHRfbG9uZ190b25lL2VxLndhdgcsYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0X2xvbmdfdG9uZS9taW51cy53YXYMAQ0BBwVhc3NldAcsYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0X2xvbmdfdG9uZS9taW51cy53YXYHKmFzc2V0cy9zb3VuZHBhY2svZGVmYXVsdF9sb25nX3RvbmUvbXVsLndhdgwBDQEHBWFzc2V0Byphc3NldHMvc291bmRwYWNrL2RlZmF1bHRfbG9uZ190b25lL211bC53YXYHK2Fzc2V0cy9zb3VuZHBhY2svZGVmYXVsdF9sb25nX3RvbmUvcGx1cy53YXYMAQ0BBwVhc3NldAcrYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0X2xvbmdfdG9uZS9wbHVzLndhdgcuYXNzZXRzL3NvdW5kcGFjay9kZWZhdWx0X2xvbmdfdG9uZS9wcmV2aWV3LnBuZwwBDQEHBWFzc2V0By5hc3NldHMvc291bmRwYWNrL2RlZmF1bHRfbG9uZ190b25lL3ByZXZpZXcucG5nBzJwYWNrYWdlcy9jdXBlcnRpbm9faWNvbnMvYXNzZXRzL0N1cGVydGlub0ljb25zLnR0ZgwBDQEHBWFzc2V0BzJwYWNrYWdlcy9jdXBlcnRpbm9faWNvbnMvYXNzZXRzL0N1cGVydGlub0ljb25zLnR0ZgcmcGFja2FnZXMvdW5pY29ucy9pY29ucy9Vbmljb25zTGluZS50dGYMAQ0BBwVhc3NldAcmcGFja2FnZXMvdW5pY29ucy9pY29ucy9Vbmljb25zTGluZS50dGYHJ3BhY2thZ2VzL3VuaWNvbnMvaWNvbnMvVW5pY29uc1NvbGlkLnR0ZgwBDQEHBWFzc2V0BydwYWNrYWdlcy91bmljb25zL2ljb25zL1VuaWNvbnNTb2xpZC50dGYHKnBhY2thZ2VzL3VuaWNvbnMvaWNvbnMvVW5pY29uc1RoaW5saW5lLnR0ZgwBDQEHBWFzc2V0BypwYWNrYWdlcy91bmljb25zL2ljb25zL1VuaWNvbnNUaGlubGluZS50dGY=" \ No newline at end of file diff --git a/assets/AssetManifest.json b/assets/AssetManifest.json new file mode 100644 index 0000000..23869a5 --- /dev/null +++ b/assets/AssetManifest.json @@ -0,0 +1 @@ +{"assets/about.md":["assets/about.md"],"assets/google_fonts/JetBrainsMono-Bold.ttf":["assets/google_fonts/JetBrainsMono-Bold.ttf"],"assets/google_fonts/JetBrainsMono-BoldItalic.ttf":["assets/google_fonts/JetBrainsMono-BoldItalic.ttf"],"assets/google_fonts/JetBrainsMono-ExtraBold.ttf":["assets/google_fonts/JetBrainsMono-ExtraBold.ttf"],"assets/google_fonts/JetBrainsMono-ExtraBoldItalic.ttf":["assets/google_fonts/JetBrainsMono-ExtraBoldItalic.ttf"],"assets/google_fonts/JetBrainsMono-ExtraLight.ttf":["assets/google_fonts/JetBrainsMono-ExtraLight.ttf"],"assets/google_fonts/JetBrainsMono-ExtraLightItalic.ttf":["assets/google_fonts/JetBrainsMono-ExtraLightItalic.ttf"],"assets/google_fonts/JetBrainsMono-Italic.ttf":["assets/google_fonts/JetBrainsMono-Italic.ttf"],"assets/google_fonts/JetBrainsMono-Light.ttf":["assets/google_fonts/JetBrainsMono-Light.ttf"],"assets/google_fonts/JetBrainsMono-LightItalic.ttf":["assets/google_fonts/JetBrainsMono-LightItalic.ttf"],"assets/google_fonts/JetBrainsMono-Medium.ttf":["assets/google_fonts/JetBrainsMono-Medium.ttf"],"assets/google_fonts/JetBrainsMono-MediumItalic.ttf":["assets/google_fonts/JetBrainsMono-MediumItalic.ttf"],"assets/google_fonts/JetBrainsMono-OFL.txt":["assets/google_fonts/JetBrainsMono-OFL.txt"],"assets/google_fonts/JetBrainsMono-Regular.ttf":["assets/google_fonts/JetBrainsMono-Regular.ttf"],"assets/google_fonts/JetBrainsMono-SemiBold.ttf":["assets/google_fonts/JetBrainsMono-SemiBold.ttf"],"assets/google_fonts/JetBrainsMono-SemiBoldItalic.ttf":["assets/google_fonts/JetBrainsMono-SemiBoldItalic.ttf"],"assets/google_fonts/JetBrainsMono-Thin.ttf":["assets/google_fonts/JetBrainsMono-Thin.ttf"],"assets/google_fonts/JetBrainsMono-ThinItalic.ttf":["assets/google_fonts/JetBrainsMono-ThinItalic.ttf"],"assets/img/preview-placeholder.svg":["assets/img/preview-placeholder.svg"],"assets/l10n/en.json":["assets/l10n/en.json"],"assets/l10n/ru.json":["assets/l10n/ru.json"],"assets/l10n/zh-CN.json":["assets/l10n/zh-CN.json"],"assets/soundpack/classic/1.wav":["assets/soundpack/classic/1.wav"],"assets/soundpack/classic/2.wav":["assets/soundpack/classic/2.wav"],"assets/soundpack/classic/3.wav":["assets/soundpack/classic/3.wav"],"assets/soundpack/classic/4.wav":["assets/soundpack/classic/4.wav"],"assets/soundpack/classic/5.wav":["assets/soundpack/classic/5.wav"],"assets/soundpack/classic/6.wav":["assets/soundpack/classic/6.wav"],"assets/soundpack/classic/7.wav":["assets/soundpack/classic/7.wav"],"assets/soundpack/classic/8.wav":["assets/soundpack/classic/8.wav"],"assets/soundpack/classic/9.wav":["assets/soundpack/classic/9.wav"],"assets/soundpack/classic/div.wav":["assets/soundpack/classic/div.wav"],"assets/soundpack/classic/eq.wav":["assets/soundpack/classic/eq.wav"],"assets/soundpack/classic/minus.wav":["assets/soundpack/classic/minus.wav"],"assets/soundpack/classic/mul.wav":["assets/soundpack/classic/mul.wav"],"assets/soundpack/classic/plus.wav":["assets/soundpack/classic/plus.wav"],"assets/soundpack/classic/preview.png":["assets/soundpack/classic/preview.png"],"assets/soundpack/default/1.wav":["assets/soundpack/default/1.wav"],"assets/soundpack/default/2.wav":["assets/soundpack/default/2.wav"],"assets/soundpack/default/3.wav":["assets/soundpack/default/3.wav"],"assets/soundpack/default/4.wav":["assets/soundpack/default/4.wav"],"assets/soundpack/default/5.wav":["assets/soundpack/default/5.wav"],"assets/soundpack/default/6.wav":["assets/soundpack/default/6.wav"],"assets/soundpack/default/7.wav":["assets/soundpack/default/7.wav"],"assets/soundpack/default/8.wav":["assets/soundpack/default/8.wav"],"assets/soundpack/default/9.wav":["assets/soundpack/default/9.wav"],"assets/soundpack/default/div.wav":["assets/soundpack/default/div.wav"],"assets/soundpack/default/eq.wav":["assets/soundpack/default/eq.wav"],"assets/soundpack/default/minus.wav":["assets/soundpack/default/minus.wav"],"assets/soundpack/default/mul.wav":["assets/soundpack/default/mul.wav"],"assets/soundpack/default/plus.wav":["assets/soundpack/default/plus.wav"],"assets/soundpack/default/preview.png":["assets/soundpack/default/preview.png"],"assets/soundpack/default_long_tone/1.wav":["assets/soundpack/default_long_tone/1.wav"],"assets/soundpack/default_long_tone/2.wav":["assets/soundpack/default_long_tone/2.wav"],"assets/soundpack/default_long_tone/3.wav":["assets/soundpack/default_long_tone/3.wav"],"assets/soundpack/default_long_tone/4.wav":["assets/soundpack/default_long_tone/4.wav"],"assets/soundpack/default_long_tone/5.wav":["assets/soundpack/default_long_tone/5.wav"],"assets/soundpack/default_long_tone/6.wav":["assets/soundpack/default_long_tone/6.wav"],"assets/soundpack/default_long_tone/7.wav":["assets/soundpack/default_long_tone/7.wav"],"assets/soundpack/default_long_tone/8.wav":["assets/soundpack/default_long_tone/8.wav"],"assets/soundpack/default_long_tone/9.wav":["assets/soundpack/default_long_tone/9.wav"],"assets/soundpack/default_long_tone/div.wav":["assets/soundpack/default_long_tone/div.wav"],"assets/soundpack/default_long_tone/eq.wav":["assets/soundpack/default_long_tone/eq.wav"],"assets/soundpack/default_long_tone/minus.wav":["assets/soundpack/default_long_tone/minus.wav"],"assets/soundpack/default_long_tone/mul.wav":["assets/soundpack/default_long_tone/mul.wav"],"assets/soundpack/default_long_tone/plus.wav":["assets/soundpack/default_long_tone/plus.wav"],"assets/soundpack/default_long_tone/preview.png":["assets/soundpack/default_long_tone/preview.png"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"],"packages/unicons/icons/UniconsLine.ttf":["packages/unicons/icons/UniconsLine.ttf"],"packages/unicons/icons/UniconsSolid.ttf":["packages/unicons/icons/UniconsSolid.ttf"],"packages/unicons/icons/UniconsThinline.ttf":["packages/unicons/icons/UniconsThinline.ttf"]} \ No newline at end of file diff --git a/assets/FontManifest.json b/assets/FontManifest.json new file mode 100644 index 0000000..28d511d --- /dev/null +++ b/assets/FontManifest.json @@ -0,0 +1 @@ +[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]},{"family":"packages/unicons/UniconsLine","fonts":[{"asset":"packages/unicons/icons/UniconsLine.ttf"}]},{"family":"packages/unicons/UniconsSolid","fonts":[{"asset":"packages/unicons/icons/UniconsSolid.ttf"}]},{"family":"packages/unicons/UniconsThinline","fonts":[{"asset":"packages/unicons/icons/UniconsThinline.ttf"}]}] \ No newline at end of file diff --git a/assets/NOTICES b/assets/NOTICES new file mode 100644 index 0000000..d5b7020 --- /dev/null +++ b/assets/NOTICES @@ -0,0 +1,37029 @@ +_fe_analyzer_shared + +Copyright 2019, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +aFileChooser + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2011 - 2013 Paul Burke + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +-------------------------------------------------------------------------------- +abseil-cpp + +Apache License +Version 2.0, January 2004 +https://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +abseil-cpp +angle +cpu_features +dart +etc1 +expat +flatbuffers +fuchsia_sdk +glslang +perfetto +shaderc +spirv-cross +txt +vulkan +vulkan-headers +vulkan-utility-libraries +vulkan-validation-layers +wuffs + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +accessibility + +Copyright (c) 2009 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright (c) 2010 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright (c) 2012 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright (c) 2014 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright 2013 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright 2016 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright 2019 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright 2020 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +angle + +Copyright (c) 2011 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +angle + +Copyright (c) 2013 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +angle + +Copyright 2017 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +angle +icu + +Copyright 2014 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +angle +skia + +Copyright 2018 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +engine +image_picker +spring_animation +tonic +txt +url_launcher_web +web_test_fonts +web_unicode + +Copyright 2013 The Flutter Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +skia + +Copyright 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +analyzer +intl + +Copyright 2013, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2008-2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are 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 Materials. + +THE MATERIALS ARE 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 +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2013-2017 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are 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 Materials. + +THE MATERIALS ARE 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 +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2013-2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are 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 Materials. + +THE MATERIALS ARE 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 +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2020 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2002 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2010 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2011 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2012 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2013 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2013-2020 The Khronos Group Inc. + +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. +-------------------------------------------------------------------------------- +angle + +Copyright 2014 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2015 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2016 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2017 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2018 The ANGLE Project Authors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2018 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2019 The ANGLE Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2020 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2020 The ANGLE Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2021 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2021 The ANGLE Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2021-2022 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2022 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2023 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle +xxhash + +Copyright 2019 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +animations +cross_file +file_selector_linux +file_selector_macos +file_selector_platform_interface +file_selector_windows +flutter_lints +flutter_markdown +flutter_plugin_android_lifecycle +image_picker_for_web +image_picker_linux +image_picker_macos +image_picker_platform_interface +image_picker_windows +path_provider +path_provider_android +path_provider_foundation +path_provider_linux +path_provider_platform_interface +path_provider_windows +plugin_platform_interface +shared_preferences +shared_preferences_android +shared_preferences_foundation +shared_preferences_linux +shared_preferences_platform_interface +shared_preferences_web +shared_preferences_windows +url_launcher +url_launcher_android +url_launcher_ios +url_launcher_linux +url_launcher_macos +url_launcher_platform_interface +url_launcher_windows +vector_graphics +vector_graphics_codec +vector_graphics_compiler +xdg_directories + +Copyright 2013 The Flutter Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +archive + +The MIT License + +Copyright (c) 2013-2021 Brendan Duncan. +All rights reserved. + +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. +-------------------------------------------------------------------------------- +args +logging + +Copyright 2013, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +async +collection +mime +stream_channel +typed_data + +Copyright 2015, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +audioplayers +audioplayers_android +audioplayers_darwin +audioplayers_linux +audioplayers_platform_interface +audioplayers_web +audioplayers_windows + +MIT License + +Copyright (c) 2017 Luan Nico + +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. +-------------------------------------------------------------------------------- +auto_animated + +MIT License + +Copyright (c) 2019 RBC, Serge Shkurko + +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. +-------------------------------------------------------------------------------- +auto_size_text + +MIT License + +Copyright (c) 2018 Simon Leier + +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. + +-------------------------------------------------------------------------------- +boolean_selector +meta + +Copyright 2016, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +boringssl + +Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) +All rights reserved. + +This package is an SSL implementation written +by Eric Young (eay@cryptsoft.com). +The implementation was written so as to conform with Netscapes SSL. + +This library is free for commercial and non-commercial use as long as +the following conditions are aheared to. The following conditions +apply to all code found in this distribution, be it the RC4, RSA, +lhash, DES, etc., code; not just the SSL code. The SSL documentation +included with this distribution is covered by the same copyright terms +except that the holder is Tim Hudson (tjh@cryptsoft.com). + +Copyright remains Eric Young's, and as such any Copyright notices in +the code are not to be removed. +If this package is used in a product, Eric Young should be given attribution +as the author of the parts of the library used. +This can be in the form of a textual message at program startup or +in documentation (online or textual) provided with the package. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + "This product includes cryptographic software written by + Eric Young (eay@cryptsoft.com)" + The word 'cryptographic' can be left out if the rouines from the library + being used are not cryptographic related :-). +4. If you include any Windows specific code (or a derivative thereof) from + the apps directory (application code) you must include an acknowledgement: + "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + +THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +The licence and distribution terms for any publically available version or +derivative of this code cannot be changed. i.e. this code cannot simply be +copied and put under another distribution licence +[including the GNU Public Licence.] +-------------------------------------------------------------------------------- +boringssl + +Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +All rights reserved. + +This package is an SSL implementation written +by Eric Young (eay@cryptsoft.com). +The implementation was written so as to conform with Netscapes SSL. + +This library is free for commercial and non-commercial use as long as +the following conditions are aheared to. The following conditions +apply to all code found in this distribution, be it the RC4, RSA, +lhash, DES, etc., code; not just the SSL code. The SSL documentation +included with this distribution is covered by the same copyright terms +except that the holder is Tim Hudson (tjh@cryptsoft.com). + +Copyright remains Eric Young's, and as such any Copyright notices in +the code are not to be removed. +If this package is used in a product, Eric Young should be given attribution +as the author of the parts of the library used. +This can be in the form of a textual message at program startup or +in documentation (online or textual) provided with the package. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + "This product includes cryptographic software written by + Eric Young (eay@cryptsoft.com)" + The word 'cryptographic' can be left out if the rouines from the library + being used are not cryptographic related :-). +4. If you include any Windows specific code (or a derivative thereof) from + the apps directory (application code) you must include an acknowledgement: + "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + +THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +The licence and distribution terms for any publically available version or +derivative of this code cannot be changed. i.e. this code cannot simply be +copied and put under another distribution licence +[including the GNU Public Licence.] +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2003 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2004 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2002 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2003 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2007 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2008 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2000 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2000-2003 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2001 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2001-2011 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2002-2006 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2003 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2004 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2005 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2006 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2006,2007 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2008 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2010 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2011 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2011 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2012 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2013 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2014, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2015, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2016, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2017, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2017, the HRSS authors. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2018, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2018, Google Inc. +Copyright (c) 2020, Arm Ltd. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2019, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2020, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2021, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2022, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2022, Robert Nagy + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2023, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + +Portions of the attached software ("Contribution") are developed by +SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + +The Contribution is licensed pursuant to the Eric Young open source +license provided above. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + +Portions of the attached software ("Contribution") are developed by +SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + +The Contribution is licensed pursuant to the OpenSSL open source +license provided above. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. +ECC cipher suite support in OpenSSL originally developed by +SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. +ECDH support in OpenSSL originally developed by +SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2005 Nokia. All rights reserved. + +The portions of the attached software ("Contribution") is developed by +Nokia Corporation and is licensed pursuant to the OpenSSL open source +license. + +The Contribution, originally written by Mika Kousa and Pasi Eronen of +Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites +support (see RFC 4279) to OpenSSL. + +No patent licenses or other rights except those expressly stated in +the OpenSSL open source license shall be deemed granted or received +expressly, by implication, estoppel, or otherwise. + +No assurances are provided by Nokia that the Contribution does not +infringe the patent or other intellectual property rights of any third +party or that the license provides you with all the necessary rights +to make use of the Contribution. + +THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN +ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA +SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY +OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR +OTHERWISE. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2006-2017 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2010 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2011 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2012 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright (c) 2012, Intel Corporation. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright (c) 2014, Intel Corporation. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright (c) 2015, Intel Inc. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2015 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2016 Brian Smith. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2016 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2017 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2019 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2022 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2023 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +DTLS code by Eric Rescorla + +Copyright (C) 2006, Network Resonance, Inc. +Copyright (C) 2011, RTFM, Inc. +-------------------------------------------------------------------------------- +boringssl + +OpenSSL License +--------------- + +Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). + +Original SSLeay License +----------------------- + +Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +All rights reserved. + +This package is an SSL implementation written +by Eric Young (eay@cryptsoft.com). +The implementation was written so as to conform with Netscapes SSL. + +This library is free for commercial and non-commercial use as long as +the following conditions are aheared to. The following conditions +apply to all code found in this distribution, be it the RC4, RSA, +lhash, DES, etc., code; not just the SSL code. The SSL documentation +included with this distribution is covered by the same copyright terms +except that the holder is Tim Hudson (tjh@cryptsoft.com). + +Copyright remains Eric Young's, and as such any Copyright notices in +the code are not to be removed. +If this package is used in a product, Eric Young should be given attribution +as the author of the parts of the library used. +This can be in the form of a textual message at program startup or +in documentation (online or textual) provided with the package. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + "This product includes cryptographic software written by + Eric Young (eay@cryptsoft.com)" + The word 'cryptographic' can be left out if the rouines from the library + being used are not cryptographic related :-). +4. If you include any Windows specific code (or a derivative thereof) from + the apps directory (application code) you must include an acknowledgement: + "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + +THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +The licence and distribution terms for any publically available version or +derivative of this code cannot be changed. i.e. this code cannot simply be +copied and put under another distribution licence +[including the GNU Public Licence.] + +ISC license used for completely new code in BoringSSL: + +Copyright (c) 2015, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +The code in third_party/fiat carries the MIT license: + +Copyright (c) 2015-2016 the fiat-crypto authors (see +https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS). + +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. + +Licenses for support code +------------------------- + +Parts of the TLS test suite are under the Go license. This code is not included +in BoringSSL (i.e. libcrypto and libssl) when compiled, however, so +distributing code linked against BoringSSL does not trigger this license: + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +BoringSSL uses the Chromium test infrastructure to run a continuous build, +trybots etc. The scripts which manage this, and the script for generating build +metadata, are under the Chromium license. Distributing code linked against +BoringSSL does not trigger this license. + +Copyright 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +build +build_runner +code_builder +web_socket_channel + +Copyright 2016, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +build_config +graphs +io +stream_transform +term_glyph + +Copyright 2017, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +build_daemon +characters +ffi +package_config + +Copyright 2019, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +build_resolvers +build_runner_core +test_api +timing + +Copyright 2018, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +built_collection +built_value + +Copyright 2015, Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +ceval + +Copyright (c) 2021 e_t + +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. +-------------------------------------------------------------------------------- +checked_yaml + +Copyright 2019, the Dart project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +clock +fake_async +quiver + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-------------------------------------------------------------------------------- +convert +crypto +source_gen +vm_service + +Copyright 2015, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +cpu_features + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +For files in the `ndk_compat` folder: + + +Copyright (C) 2010 The Android Open Source Project +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. +-------------------------------------------------------------------------------- +cpu_features + +Copyright (C) 2010 The Android Open Source Project +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. +-------------------------------------------------------------------------------- +cupertino_icons + +The MIT License (MIT) + +Copyright (c) 2016 Vladimir Kharlampidi + +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. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2003-2005 Tom Wu +Copyright (c) 2012 Adam Singer (adam@solvr.io) +All Rights Reserved. + +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" AND WITHOUT WARRANTY OF ANY KIND, +EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, +INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF +THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +In addition, the following condition applies: + +All redistributions must retain an intact copy of this copyright notice +and disclaimer. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2010, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2014 The Polymer Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright 2012, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart_style +glob +http +http_parser +matcher +path +pool +pub_semver +source_span +string_scanner +watcher + +Copyright 2014, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +dio +dio_web_adapter + +MIT License + +Copyright (c) 2018 Wen Du (wendux) +Copyright (c) 2022 The CFUG Team + +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. +-------------------------------------------------------------------------------- +double-conversion +icu + +Copyright 2006-2008 the V8 project authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +double-conversion +icu + +Copyright 2010 the V8 project authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +double-conversion +icu + +Copyright 2012 the V8 project authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +easy_localization + +MIT License + +Copyright (c) 2018 + +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. +-------------------------------------------------------------------------------- +easy_logger + +MIT License + +Copyright (c) 2021 + +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. +-------------------------------------------------------------------------------- +engine + +License for the Ahem font embedded below is from: +https://www.w3.org/Style/CSS/Test/Fonts/Ahem/COPYING + +The Ahem font in this directory belongs to the public domain. In +jurisdictions that do not recognize public domain ownership of these +files, the following Creative Commons Zero declaration applies: + + + +which is quoted below: + + The person who has associated a work with this document (the "Work") + affirms that he or she (the "Affirmer") is the/an author or owner of + the Work. The Work may be any work of authorship, including a + database. + + The Affirmer hereby fully, permanently and irrevocably waives and + relinquishes all of her or his copyright and related or neighboring + legal rights in the Work available under any federal or state law, + treaty or contract, including but not limited to moral rights, + publicity and privacy rights, rights protecting against unfair + competition and any rights protecting the extraction, dissemination + and reuse of data, whether such rights are present or future, vested + or contingent (the "Waiver"). The Affirmer makes the Waiver for the + benefit of the public at large and to the detriment of the Affirmer's + heirs or successors. + + The Affirmer understands and intends that the Waiver has the effect + of eliminating and entirely removing from the Affirmer's control all + the copyright and related or neighboring legal rights previously held + by the Affirmer in the Work, to that extent making the Work freely + available to the public for any and all uses and purposes without + restriction of any kind, including commercial use and uses in media + and formats or by methods that have not yet been invented or + conceived. Should the Waiver for any reason be judged legally + ineffective in any jurisdiction, the Affirmer hereby grants a free, + full, permanent, irrevocable, nonexclusive and worldwide license for + all her or his copyright and related or neighboring legal rights in + the Work. +-------------------------------------------------------------------------------- +etc_decoder + +Copyright (c) 2020-2022 Hans-Kristian Arntzen + +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. +-------------------------------------------------------------------------------- +event_bus + +The MIT License (MIT) + +Copyright (c) 2013 Marco Jakob (majakob@gmx.ch) + +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. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2000-2004 Fred L. Drake, Jr. +Copyright (c) 2001-2002 Greg Stein +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2016 Cristian Rodríguez +Copyright (c) 2016-2019 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2018 Yury Gribov + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2000-2005 Fred L. Drake, Jr. +Copyright (c) 2001-2002 Greg Stein +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2016 Cristian Rodríguez +Copyright (c) 2016 Thomas Beutlich +Copyright (c) 2017 Rhodri James +Copyright (c) 2022 Thijs Schreijer + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2000-2006 Fred L. Drake, Jr. +Copyright (c) 2001-2002 Greg Stein +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2005-2009 Steven Solie +Copyright (c) 2016 Eric Rahm +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2016 Gaurav +Copyright (c) 2016 Thomas Beutlich +Copyright (c) 2016 Gustavo Grieco +Copyright (c) 2016 Pascal Cuoq +Copyright (c) 2016 Ed Schouten +Copyright (c) 2017-2022 Rhodri James +Copyright (c) 2017 Václav Slavík +Copyright (c) 2017 Viktor Szakats +Copyright (c) 2017 Chanho Park +Copyright (c) 2017 Rolf Eike Beer +Copyright (c) 2017 Hans Wennborg +Copyright (c) 2018 Anton Maklakov +Copyright (c) 2018 Benjamin Peterson +Copyright (c) 2018 Marco Maggi +Copyright (c) 2018 Mariusz Zaborski +Copyright (c) 2019 David Loffredo +Copyright (c) 2019-2020 Ben Wagner +Copyright (c) 2019 Vadim Zeitlin +Copyright (c) 2021 Dong-hee Na +Copyright (c) 2022 Samanta Navarro +Copyright (c) 2022 Jeffrey Walton +Copyright (c) 2022 Jann Horn + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2002 Fred L. Drake, Jr. +Copyright (c) 2006 Karl Waclawek +Copyright (c) 2016-2017 Sebastian Pipping +Copyright (c) 2017 Rhodri James + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2002 Greg Stein +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2005-2009 Steven Solie +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2016 Pascal Cuoq +Copyright (c) 2016 Don Lewis +Copyright (c) 2017 Rhodri James +Copyright (c) 2017 Alexander Bluhm +Copyright (c) 2017 Benbuck Nason +Copyright (c) 2017 José Gutiérrez de la Concha +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Dong-hee Na +Copyright (c) 2022 Martin Ettl + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2004-2009 Karl Waclawek +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2020 Joe Orton +Copyright (c) 2020 Kleber Tarcísio +Copyright (c) 2021 Tim Bray +Copyright (c) 2022 Martin Ettl + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2004 Fred L. Drake, Jr. +Copyright (c) 2002-2009 Karl Waclawek +Copyright (c) 2016-2017 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2017 Franek Korta + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2002-2005 Karl Waclawek +Copyright (c) 2016-2017 Sebastian Pipping +Copyright (c) 2017 Rhodri James + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2018 Benjamin Peterson +Copyright (c) 2018 Anton Maklakov +Copyright (c) 2019 David Loffredo +Copyright (c) 2020 Boris Kolpackov +Copyright (c) 2022 Martin Ettl + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2005 Karl Waclawek +Copyright (c) 2016-2019 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2005-2006 Karl Waclawek +Copyright (c) 2016-2019 Sebastian Pipping +Copyright (c) 2019 David Loffredo + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2017 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2022 Martin Ettl + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2017 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Greg Stein +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2017-2021 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Greg Stein +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2002-2003 Fred L. Drake, Jr. +Copyright (c) 2005-2009 Steven Solie +Copyright (c) 2016-2021 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Dong-hee Na + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Karl Waclawek +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2017 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002-2003 Fred L. Drake, Jr. +Copyright (c) 2004-2006 Karl Waclawek +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2016-2021 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Dong-hee Na + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2017-2019 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2017 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2018 Sebastian Pipping +Copyright (c) 2018 Marco Maggi + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2016-2021 Sebastian Pipping +Copyright (c) 2017 Rhodri James + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper +Copyright (c) 2001-2022 Expat maintainers + +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. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1999-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2007 Karl Waclawek +Copyright (c) 2017 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Greg Stein +Copyright (c) 2005 Karl Waclawek +Copyright (c) 2017-2021 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 2000 Clark Cooper +Copyright (c) 2017 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 2002-2003 Fred L. Drake, Jr. +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2003 Greg Stein +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2018 Yury Gribov +Copyright (c) 2019 David Loffredo + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat +harfbuzz + +Copyright (c) 2021 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fallback_root_certificates + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. + +You may obtain a copy of this library's Source Code Form from: https://dart.googlesource.com/sdk/+/ffc8bb004a64f6357e3d5d1185e974e966f00931 +/third_party/fallback_root_certificates/ + +-------------------------------------------------------------------------------- +ffx_spd + +Copyright (c) 2017-2019 Advanced Micro Devices, Inc. All rights reserved. +Copyright (c) <2014> + +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. +-------------------------------------------------------------------------------- +ffx_spd + +Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. + +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. +-------------------------------------------------------------------------------- +fiat + +Copyright (c) 2015-2020 the fiat-crypto authors (see + +https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS). + +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 + +Copyright 2017, the Dart project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +file_picker + +MIT License + +Copyright (c) 2018 Miguel Ruivo + +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 NON INFRINGEMENT. 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. +-------------------------------------------------------------------------------- +fixnum +http_multi_server +shelf +shelf_web_socket +stack_trace + +Copyright 2014, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +flame +flame_audio + +MIT License + +Copyright (c) 2021 Blue Fire + +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. + + +-------------------------------------------------------------------------------- +flatbuffers + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright 2014 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +flutter + +Copyright 2014 The Flutter Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +flutter_hooks + +MIT License + +Copyright (c) 2018 Remi Rousselet + +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. +-------------------------------------------------------------------------------- +flutter_screenutil + +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-------------------------------------------------------------------------------- +flutter_staggered_grid_view + +MIT License + +Copyright (c) 2018 Romain Rastel + +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. + +-------------------------------------------------------------------------------- +flutter_svg + +Copyright (c) 2018 Dan Field + +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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +freetype2 + +Copyright (C) 2000, 2001, 2002, 2003, 2006, 2010 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright (C) 2000-2004, 2006-2011, 2013, 2014 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright (C) 2001, 2002 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright (C) 2001, 2002, 2003, 2004 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright (C) 2001-2008, 2011, 2013, 2014 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 1990, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +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 +OPEN GROUP 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. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000 Computing Research Labs, New Mexico State University +Copyright 2001-2004, 2011 Francesco Zappa Nardelli + +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 COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY 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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000 Computing Research Labs, New Mexico State University +Copyright 2001-2014 + Francesco Zappa Nardelli + +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 COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY 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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000 Computing Research Labs, New Mexico State University +Copyright 2001-2015 + Francesco Zappa Nardelli + +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 COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY 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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000, 2001, 2004 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000-2001, 2002 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000-2001, 2003 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000-2010, 2012-2014 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2001, 2002, 2012 Francesco Zappa Nardelli + +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 COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY 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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2003 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + +The FreeType Project LICENSE +---------------------------- + + 2006-Jan-27 + + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg + + + +Introduction +============ + + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. + + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. + + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: + + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) + + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) + + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') + + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. + + + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: + + """ + Portions of this software are copyright © The FreeType + Project (www.freetype.org). All rights reserved. + """ + + Please replace with the value from the FreeType version you + actually use. + + +Legal Terms +=========== + +0. Definitions +-------------- + + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. + + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. + + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. + + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. + +1. No Warranty +-------------- + + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. + +2. Redistribution +----------------- + + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: + + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. + + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. + + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. + +3. Advertising +-------------- + + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. + + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. + + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. + +4. Contacts +----------- + + There are two mailing lists related to FreeType: + + o freetype@nongnu.org + + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. + + o freetype-devel@nongnu.org + + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. + + Our home page can be found at + + https://www.freetype.org + + +--- end of FTL.TXT --- +-------------------------------------------------------------------------------- +freetype2 + +This software was written by Alexander Peslyak in 2001. No copyright is +claimed, and the software is hereby placed in the public domain. +In case this attempt to disclaim copyright and place the software in the +public domain is deemed null and void, then the software is +Copyright (c) 2001 Alexander Peslyak and it is hereby released to the +general public under the following terms: + +Redistribution and use in source and binary forms, with or without +modification, are permitted. + +There's ABSOLUTELY NO WARRANTY, express or implied. +-------------------------------------------------------------------------------- +freetype2 + +This software was written by Alexander Peslyak in 2001. No copyright is +claimed, and the software is hereby placed in the public domain. +In case this attempt to disclaim copyright and place the software in the +public domain is deemed null and void, then the software is +Copyright (c) 2001 Alexander Peslyak and it is hereby released to the +general public under the following terms: + +Redistribution and use in source and binary forms, with or without +modification, are permitted. + +There's ABSOLUTELY NO WARRANTY, express or implied. + +(This is a heavily cut-down "BSD license".) +-------------------------------------------------------------------------------- +frontend_server_client + +Copyright 2020, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2014 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2016 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2017 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2018 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2019 The Fuchsia Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2019 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2020 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2021 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2022 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2023 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2024 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +musl as a whole is licensed under the following standard MIT license: + + +Copyright © 2005-2014 Rich Felker, et al. + +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. + + +Authors/contributors include: + +Alex Dowad +Alexander Monakov +Anthony G. Basile +Arvid Picciani +Bobby Bingham +Boris Brezillon +Brent Cook +Chris Spiegel +Clément Vasseur +Daniel Micay +Denys Vlasenko +Emil Renner Berthing +Felix Fietkau +Felix Janda +Gianluca Anzolin +Hauke Mehrtens +Hiltjo Posthuma +Isaac Dunham +Jaydeep Patil +Jens Gustedt +Jeremy Huntwork +Jo-Philipp Wich +Joakim Sindholt +John Spencer +Josiah Worcester +Justin Cormack +Khem Raj +Kylie McClain +Luca Barbato +Luka Perkov +M Farkas-Dyck (Strake) +Mahesh Bodapati +Michael Forney +Natanael Copa +Nicholas J. Kain +orc +Pascal Cuoq +Petr Hosek +Pierre Carrier +Rich Felker +Richard Pennington +Shiz +sin +Solar Designer +Stefan Kristiansson +Szabolcs Nagy +Timo Teräs +Trutz Behn +Valentin Ochs +William Haddon + +Portions of this software are derived from third-party works licensed +under terms compatible with the above MIT license: + +Much of the math library code (third_party/math/* and +third_party/complex/*, and third_party/include/libm.h) is +Copyright © 1993,2004 Sun Microsystems or +Copyright © 2003-2011 David Schultz or +Copyright © 2003-2009 Steven G. Kargl or +Copyright © 2003-2009 Bruce D. Evans or +Copyright © 2008 Stephen L. Moshier +and labelled as such in comments in the individual source files. All +have been licensed under extremely permissive terms. + +The smoothsort implementation (third_party/smoothsort/qsort.c) is +Copyright © 2011 Valentin Ochs and is licensed under an MIT-style +license. + +The x86_64 files in third_party/arch were written by Nicholas J. Kain +and is licensed under the standard MIT terms. + +All other files which have no copyright comments are original works +produced specifically for use as part of this library, written either +by Rich Felker, the main author of the library, or by one or more +contibutors listed above. Details on authorship of individual files +can be found in the git version control history of the project. The +omission of copyright and license comments in each file is in the +interest of source tree size. + +In addition, permission is hereby granted for all public header files +(include/* and arch/*/bits/*) and crt files intended to be linked into +applications (crt/*, ldso/dlstart.c, and arch/*/crt_arch.h) to omit +the copyright notice and permission notice otherwise required by the +license, and to use these files without any requirement of +attribution. These files include substantial contributions from: + +Bobby Bingham +John Spencer +Nicholas J. Kain +Rich Felker +Richard Pennington +Stefan Kristiansson +Szabolcs Nagy + +all of whom have explicitly granted such permission. + +This file previously contained text expressing a belief that most of +the files covered by the above exception were sufficiently trivial not +to be subject to copyright, resulting in confusion over whether it +negated the permissions granted in the license. In the spirit of +permissive licensing, and of not having licensing issues being an +obstacle to adoption, that text has been removed. +-------------------------------------------------------------------------------- +glfw + +Copyright (C) 1997-2013 Sam Lantinga + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the +use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard + +Copyright (c) 2006-2019 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2016 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2017 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2018 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2019 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2019 Camilla Löwy +Copyright (c) 2012 Torsten Walluhn + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2006-2017 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2006-2018 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2009-2016 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2009-2019 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2009-2019 Camilla Löwy +Copyright (c) 2012 Torsten Walluhn + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2009-2021 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2014 Jonas Ådahl + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2016 Google Inc. +Copyright (c) 2016-2017 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2016 Google Inc. +Copyright (c) 2016-2019 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2016-2017 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2021 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2022 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2019 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2018-2020 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Copyright (C) 2015-2018 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Copyright (C) 2015-2020 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2015 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +Copyright (C) 2017, 2019 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2015 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017 ARM Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2016 LunarG, Inc. +Copyright (C) 2015-2016 Google, Inc. +Copyright (C) 2017 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2016 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020-2021 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2016 LunarG, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. +Copyright (c) 2023, Mobica Limited + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2020 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (c) 2002-2010 The ANGLE Project Authors. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. +Copyright (C) 2016-2020 Google, Inc. +Modifications Copyright(C) 2021 Advanced Micro Devices, Inc.All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2016 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2017 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2013 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2013-2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2015 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2015 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2015 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2015 LunarG, Inc. +Copyright (C) 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2016 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2016 LunarG, Inc. +Copyright (C) 2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2016 LunarG, Inc. +Copyright (C) 2018-2020 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2015 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2015-2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2015-2018 Google, Inc. +Copyright (C) 2017 ARM Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. +Copyright (C) 2019, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. +Copyright (C) 2022-2024 Arm Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2017 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2017 Google, Inc. +Copyright (C) 2020 The Khronos Group Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2017 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2018 Google, Inc. +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2018 Google, Inc. +Copyright (C) 2016 LunarG, Inc. +Copyright (C) 2023 Mobica Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2017 LunarG, Inc. +Copyright (C) 2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2017 LunarG, Inc. +Copyright (C) 2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2017-2018 Google, Inc. +Copyright (C) 2017 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2018 The Khronos Group Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2020 The Khronos Group Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of The Khronos Group Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2023 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2002, NVIDIA Corporation. + +NVIDIA Corporation("NVIDIA") supplies this software to you in +consideration of your agreement to the following terms, and your use, +installation, modification or redistribution of this NVIDIA software +constitutes acceptance of these terms. If you do not agree with these +terms, please do not use, install, modify or redistribute this NVIDIA +software. + +In consideration of your agreement to abide by the following terms, and +subject to these terms, NVIDIA grants you a personal, non-exclusive +license, under NVIDIA's copyrights in this original NVIDIA software (the +"NVIDIA Software"), to use, reproduce, modify and redistribute the +NVIDIA Software, with or without modifications, in source and/or binary +forms; provided that if you redistribute the NVIDIA Software, you must +retain the copyright notice of NVIDIA, this notice and the following +text and disclaimers in all such redistributions of the NVIDIA Software. +Neither the name, trademarks, service marks nor logos of NVIDIA +Corporation may be used to endorse or promote products derived from the +NVIDIA Software without specific prior written permission from NVIDIA. +Except as expressly stated in this notice, no other rights or licenses +express or implied, are granted by NVIDIA herein, including but not +limited to any patent rights that may be infringed by your derivative +works or by other works in which the NVIDIA Software may be +incorporated. No hardware is licensed hereunder. + +THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, +INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER +PRODUCTS. + +IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY +OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE +NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, +TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2013 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are 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 Materials. + +THE MATERIALS ARE 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 +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2014-2017 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2014-2020 The Khronos Group Inc. +Copyright (C) 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2019, Viktor Latypov +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2020 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS +KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS +SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT + https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2020, Travis Fort +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2021 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2022 ARM Limited + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright(C) 2021 Advanced Micro Devices, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang +skia + +Copyright (c) 2014-2016 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang +spirv-cross + +Copyright (c) 2014-2020 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +google_fonts + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright (C) 2011 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright (C) 2012 Grigori Goronzy + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright (C) 2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright (c) Microsoft Corporation. + +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 +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 1998-2004 David Turner and Werner Lemberg +Copyright © 2004,2007,2009 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 1998-2004 David Turner and Werner Lemberg +Copyright © 2004,2007,2009,2010 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 1998-2004 David Turner and Werner Lemberg +Copyright © 2006 Behdad Esfahbod +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007 Chris Wilson +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2010,2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2010,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012,2013 Google, Inc. +Copyright © 2019, Facebook Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2018,2019,2020 Ebrahim Byagowi +Copyright © 2018 Khaled Hosny + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2010,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2010,2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2012,2018 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2012,2018 Google, Inc. +Copyright © 2019 Facebook, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2009 Keith Stribley +Copyright © 2011 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2009 Keith Stribley +Copyright © 2015 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Codethink Limited +Copyright © 2010,2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Codethink Limited +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2015 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2018 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2018 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2010,2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2010,2011,2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2010,2011,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010 Red Hat, Inc. +Copyright © 2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010,2011 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010,2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010,2011,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011 Martin Hosken +Copyright © 2011 SIL International + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011 Martin Hosken +Copyright © 2011 SIL International +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012 Google, Inc. +Copyright © 2018 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012,2013 Google, Inc. +Copyright © 2021 Khaled Hosny + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012,2014 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2014 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012 Mozilla Foundation. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012,2013 Mozilla Foundation. +Copyright © 2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012,2017 Google, Inc. +Copyright © 2021 Behdad Esfahbod + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012,2018 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2013 Red Hat, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2014 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2015 Google, Inc. +Copyright © 2019 Adobe Inc. +Copyright © 2019 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2015 Mozilla Foundation. +Copyright © 2015 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2015-2019 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Elie Roux +Copyright © 2018 Google, Inc. +Copyright © 2018-2019 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Google, Inc. +Copyright © 2018 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Google, Inc. +Copyright © 2018 Khaled Hosny +Copyright © 2018 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Igalia S.L. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2017 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2017 Google, Inc. +Copyright © 2018 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2017 Google, Inc. +Copyright © 2019 Facebook, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2017,2018 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Ebrahim Byagowi +Copyright © 2018 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Ebrahim Byagowi +Copyright © 2020 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Ebrahim Byagowi. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Google, Inc. +Copyright © 2019 Facebook, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Google, Inc. +Copyright © 2023 Behdad Esfahbod + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Adobe Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018-2019 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Adobe Inc. +Copyright © 2019 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Adobe, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Facebook, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Adobe Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019-2020 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2020 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2020 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2021 Behdad Esfahbod + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2021 Behdad Esfahbod. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2021 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Behdad Esfahbod + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Red Hat, Inc + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Red Hat, Inc +Copyright © 2021, 2022 Black Foundry + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Red Hat, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Behdad Esfahbod + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Matthias Clasen + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Red Hat, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2023 Behdad Esfahbod + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2023 Behdad Esfahbod +Copyright © 1999 David Turner +Copyright © 2005 Werner Lemberg +Copyright © 2013-2015 Alexei Podtelezhnikov + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2023 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. +For parts of HarfBuzz that are licensed under different licenses see individual +files names COPYING in subdirectories where applicable. + +Copyright © 2010-2022 Google, Inc. +Copyright © 2015-2020 Ebrahim Byagowi +Copyright © 2019,2020 Facebook, Inc. +Copyright © 2012,2015 Mozilla Foundation +Copyright © 2011 Codethink Limited +Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) +Copyright © 2009 Keith Stribley +Copyright © 2011 Martin Hosken and SIL International +Copyright © 2007 Chris Wilson +Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod +Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc. +Copyright © 1998-2005 David Turner and Werner Lemberg +Copyright © 2016 Igalia S.L. +Copyright © 2022 Matthias Clasen +Copyright © 2018,2021 Khaled Hosny +Copyright © 2018,2019,2020 Adobe, Inc +Copyright © 2013-2015 Alexei Podtelezhnikov + +For full copyright notices consult the individual files in the package. + + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz +icu +web_unicode + +Unicode® Copyright and Terms of Use +For the general privacy policy governing access to this site, see the Unicode Privacy Policy. + +A. Unicode Copyright +1. Copyright © 1991-2022 Unicode, Inc. All rights reserved. +B. Definitions +Unicode Data Files ("DATA FILES") include all data files under the directories: +https://www.unicode.org/Public/ +https://www.unicode.org/reports/ +https://www.unicode.org/ivd/data/ + +Unicode Data Files do not include PDF online code charts under the directory: +https://www.unicode.org/Public/ + +Unicode Software ("SOFTWARE") includes any source code published in the Unicode Standard +or any source code or compiled code under the directories: +https://www.unicode.org/Public/PROGRAMS/ +https://www.unicode.org/Public/cldr/ +http://site.icu-project.org/download/ +C. Terms of Use +1. Certain documents and files on this website contain a legend indicating that "Modification is permitted." Any person is hereby authorized, without fee, to modify such documents and files to create derivative works conforming to the Unicode® Standard, subject to Terms and Conditions herein. +2. Any person is hereby authorized, without fee, to view, use, reproduce, and distribute all documents and files, subject to the Terms and Conditions herein. +3. Further specifications of rights and restrictions pertaining to the use of the Unicode DATA FILES and SOFTWARE can be found in the Unicode Data Files and Software License. +4. Each version of the Unicode Standard has further specifications of rights and restrictions of use. For the book editions (Unicode 5.0 and earlier), these are found on the back of the title page. +5. The Unicode PDF online code charts carry specific restrictions. Those restrictions are incorporated as the first page of each PDF code chart. +6. All other files, including online documentation of the core specification for Unicode 6.0 and later, are covered under these general Terms of Use. +7. No license is granted to "mirror" the Unicode website where a fee is charged for access to the "mirror" site. +8. Modification is not permitted with respect to this document. All copies of this document must be verbatim. +D. Restricted Rights Legend +1. Any technical data or software which is licensed to the United States of America, its agencies and/or instrumentalities under this Agreement is commercial technical data or commercial computer software developed exclusively at private expense as defined in FAR 2.101, or DFARS 252.227-7014 (June 1995), as applicable. For technical data, use, duplication, or disclosure by the Government is subject to restrictions as set forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov 1995) and this Agreement. For Software, in accordance with FAR 12-212 or DFARS 227-7202, as applicable, use, duplication or disclosure by the Government is subject to the restrictions set forth in this Agreement. +E.Warranties and Disclaimers +1. This publication and/or website may include technical or typographical errors or other inaccuracies. Changes are periodically added to the information herein; these changes will be incorporated in new editions of the publication and/or website. Unicode, Inc. may make improvements and/or changes in the product(s) and/or program(s) described in this publication and/or website at any time. +2. If this file has been purchased on magnetic or optical media from Unicode, Inc. the sole and exclusive remedy for any claim will be exchange of the defective media within ninety (90) days of original purchase. +3. EXCEPT AS PROVIDED IN SECTION E.2, THIS PUBLICATION AND/OR SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UNICODE, INC. AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR OMISSIONS IN THIS PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH ARE REFERENCED BY OR LINKED TO THIS PUBLICATION OR THE UNICODE WEBSITE. +F. Waiver of Damages +1. In no event shall Unicode, Inc. or its licensors be liable for any special, incidental, indirect or consequential damages of any kind, or any damages whatsoever, whether or not Unicode, Inc. was advised of the possibility of the damage, including, without limitation, those resulting from the following: loss of use, data or profits, in connection with the use, modification or distribution of this information or its derivatives. +G. Trademarks & Logos +1. The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, Inc. “The Unicode Consortium” and “Unicode, Inc.” are trade names of Unicode, Inc. Use of the information and materials found on this website indicates your acknowledgement of Unicode, Inc.’s exclusive worldwide rights in the Unicode Word Mark, the Unicode Logo, and the Unicode trade names. +3. The Unicode Consortium Name and Trademark Usage Policy (“Trademark Policy”) are incorporated herein by reference and you agree to abide by the provisions of the Trademark Policy, which may be changed from time to time in the sole discretion of Unicode, Inc. +4. All third party trademarks referenced herein are the property of their respective owners. +H. Miscellaneous +1. Jurisdiction and Venue. This website is operated from a location in the State of California, United States of America. Unicode, Inc. makes no representation that the materials are appropriate for use in other locations. If you access this website from other locations, you are responsible for compliance with local laws. This Agreement, all use of this website and any claims and damages resulting from use of this website are governed solely by the laws of the State of California without regard to any principles which would apply the laws of a different jurisdiction. The user agrees that any disputes regarding this website shall be resolved solely in the courts located in Santa Clara County, California. The user agrees said courts have personal jurisdiction and agree to waive any right to transfer the dispute to any other forum. +2. Modification by Unicode, Inc. Unicode, Inc. shall have the right to modify this Agreement at any time by posting it to this website. The user may not assign any part of this Agreement without Unicode, Inc.’s prior written consent. +3. Taxes. The user agrees to pay any taxes arising from access to this website or use of the information herein, except for those based on Unicode’s net income. +4. Severability. If any provision of this Agreement is declared invalid or unenforceable, the remaining provisions of this Agreement shall remain in effect. +5. Entire Agreement. This Agreement constitutes the entire agreement between the parties. + +EXHIBIT 1 +UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + +See Terms of Use +for definitions of Unicode Inc.’s Data Files and Software. + +NOTICE TO USER: Carefully read the following legal agreement. +BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S +DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), +YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. +IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE +THE DATA FILES OR SOFTWARE. + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 1991-2022 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. +-------------------------------------------------------------------------------- +hive + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + Copyright 2019 Simon Leier + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +-------------------------------------------------------------------------------- +hive_flutter +hive_generator + +Copyright 2019 Simon Leier + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +icu + +# Copyright (c) 2006-2015 International Business Machines Corporation, + # Apple Inc., and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2001, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2002, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2009, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2008, International Business Machines Corporation * +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2012, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2013, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2014, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2015, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2000, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2005, International Business Machines Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2009,2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2010, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2011, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2011,2014-2015 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2012, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2013, International Business Machines * +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2013, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2013, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2015, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2015, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2015, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2016, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2016, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2008, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2001, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2006,2013 IBM Corp. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2007, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2008, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2009, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2010, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2011, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2014 International Business Machines Corporation * +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2015 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016 International Business Machines Corporation +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016 International Business Machines Corporation * +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016, International Business Machines + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016, International Business Machines Corporation + and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2004, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2008, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2012, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2016, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2005, International Business Machines Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2008, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2008,2010 IBM and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011 IBM and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011, International Business Machines * + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011, International Business Machines Corporation. * +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011,2014 IBM and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2012, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2013, International Business Machines + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014 IBM and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014, International Business Machines * + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014, International Business Machines Corporation. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2015 IBM and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2015, International Business Machines + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2016, International Business Machines + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2005, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2008 International Business Machines Corporation * +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2008, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2011 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2011, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2013, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2014 International Business Machines Corporation +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2015 International Business Machines Corporation +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2015, International Business Machines Corporation and others. + All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2015, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016 International Business Machines Corporation +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016 International Business Machines Corporation * +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016 International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016, International Business Machines Corporation and others. + All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003 - 2008, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003 - 2009, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003 - 2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003 - 2013, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2008, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2009, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2009,2012,2016 International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2010, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2013, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2013, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2014, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2015, International Business Machines * + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2015, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2016, International Business Machines * + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004 - 2008, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2015, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2008, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2006 International Business Machines Corporation * +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2006-2012, International Business Machines Corporation and others. * +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2006-2014, International Business Machines Corporation * +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2006-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2008, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2008, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2008, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2013, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2013, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2014, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2016, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008, Google, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2009, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2011, International Business Machines +Corporation, Google and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2012, International Business Machines Corporation * +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2013, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2014, Google, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2014, Google, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2015, Google, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2015, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2010 IBM Corporation and Others. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2010, Google, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2010, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2011, International Business Machines + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2011, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2013, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2015, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2016, International Business Machines Corporation, * +Google, and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2017, International Business Machines Corporation, * +Google, and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010 , Yahoo! Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2012,2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2012,2015 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2014, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2014, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2016 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2012, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2013, Apple Inc. and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2013, Apple Inc.; Unicode, Inc.; and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2015, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2012 International Business Machines Corporation +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2012,2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2012-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2012-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2012-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2014, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2014, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2015, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014-2016, International Business Machines Corporation and +others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014-2016, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015-2016, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) The Internet Society (2002). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +-------------------------------------------------------------------------------- +icu + +Copyright (C) {1999-2001}, International Business Machines Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1996-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1996-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1996-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1996-2015, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1996-2016, International Business Machines Corporation + and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1996-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1997-2011, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1997-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1997-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1997-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1997-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1999-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1999-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2000-2004 IBM, Inc. and Others. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2000-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2000-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2010 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2012, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2005, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2005, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2006, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2007, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2010, International Business Machines Corporation * +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2011, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2012, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2014, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2016 International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003-2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003-2008, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003-2010 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2010, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2015, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2007-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2007-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2007-2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2007-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2007-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2008-2010, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2008-2011, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2008-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2009, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2011-2012 International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2014-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) IBM Corporation, 2000-2010. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +Copyright (c) IBM Corporation, 2000-2011. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +Copyright (c) IBM Corporation, 2000-2012. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +Copyright (c) IBM Corporation, 2000-2014. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +Copyright (c) IBM Corporation, 2000-2016. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +Copyright 2001 and onwards Google Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright 2004 and onwards Google Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright 2007 Google Inc. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +UNICODE LICENSE V3 + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 2016-2023 Unicode, Inc. + +NOTICE TO USER: Carefully read the following legal agreement. BY +DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR +SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT +DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +Third-Party Software Licenses + +This section contains third-party software notices and/or additional +terms for licensed third-party software components included within ICU +libraries. + +ICU License - ICU 1.8.1 to ICU 57.1 + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2016 International Business Machines Corporation and others +All rights reserved. + +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, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +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 +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + +All trademarks and registered trademarks mentioned herein are the +property of their respective owners. + +Chinese/Japanese Word Break Dictionary Data (cjdict.txt) + +The Google Chrome software developed by Google is licensed under +the BSD license. Other software included in this distribution is +provided under other licenses, as set forth below. + +The BSD License +http://opensource.org/licenses/bsd-license.php +Copyright (C) 2006-2008, Google Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following +disclaimer in the documentation and/or other materials provided with +the distribution. +Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The word list in cjdict.txt are generated by combining three word lists +listed below with further processing for compound word breaking. The +frequency is generated with an iterative training against Google web +corpora. + +* Libtabe (Chinese) + - https://sourceforge.net/project/?group_id=1519 + - Its license terms and conditions are shown below. + +* IPADIC (Japanese) + - http://chasen.aist-nara.ac.jp/chasen/distribution.html + - Its license terms and conditions are shown below. + +Copyright (c) 1999 TaBE Project. +Copyright (c) 1999 Pai-Hsiang Hsiao. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. +. Neither the name of the TaBE Project nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999 Computer Systems and Communication Lab, + Institute of Information Science, Academia + Sinica. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. +. Neither the name of the Computer Systems and Communication Lab + nor the names of its contributors may be used to endorse or + promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + +Copyright 1996 Chih-Hao Tsai @ Beckman Institute, + University of Illinois +c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + +Copyright 2000, 2001, 2002, 2003 Nara Institute of Science +and Technology. All Rights Reserved. + +Use, reproduction, and distribution of this software is permitted. +Any copy of this software, whether in its original form or modified, +must include both the above copyright notice and the following +paragraphs. + +Nara Institute of Science and Technology (NAIST), +the copyright holders, disclaims all warranties with regard to this +software, including all implied warranties of merchantability and +fitness, in no event shall NAIST be liable for +any special, indirect or consequential damages or any damages +whatsoever resulting from loss of use, data or profits, whether in an +action of contract, negligence or other tortuous action, arising out +of or in connection with the use or performance of this software. + +A large portion of the dictionary entries +originate from ICOT Free Software. The following conditions for ICOT +Free Software applies to the current dictionary as well. + +Each User may also freely distribute the Program, whether in its +original form or modified, to any third party or parties, PROVIDED +that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear +on, or be attached to, the Program, which is distributed substantially +in the same form as set out herein and that such intended +distribution, if actually made, will neither violate or otherwise +contravene any of the laws and regulations of the countries having +jurisdiction over the User or the intended distribution itself. + +NO WARRANTY + +The program was produced on an experimental basis in the course of the +research and development conducted during the project and is provided +to users as so produced on an experimental basis. Accordingly, the +program is provided without any warranty whatsoever, whether express, +implied, statutory or otherwise. The term "warranty" used herein +includes, but is not limited to, any warranty of the quality, +performance, merchantability and fitness for a particular purpose of +the program and the nonexistence of any infringement or violation of +any right of any third party. + +Each user of the program will agree and understand, and be deemed to +have agreed and understood, that there is no warranty whatsoever for +the program and, accordingly, the entire risk arising from or +otherwise connected with the program is assumed by the user. + +Therefore, neither ICOT, the copyright holder, or any other +organization that participated in or was otherwise related to the +development of the program and their respective officials, directors, +officers and other employees shall be held liable for any and all +damages, including, without limitation, general, special, incidental +and consequential damages, arising out of or otherwise in connection +with the use or inability to use the program or any product, material +or result produced or otherwise obtained by using the program, +regardless of whether they have been advised of, or otherwise had +knowledge of, the possibility of such damages at any time during the +project or thereafter. Each user will be deemed to have agreed to the +foregoing by his or her commencement of use of the program. The term +"use" as used herein includes, but is not limited to, the use, +modification, copying and distribution of the program and the +production of secondary products from the program. + +In the case where the program, whether in its original form or +modified, was distributed or delivered to or received by a user from +any person, organization or entity other than ICOT, unless it makes or +grants independently of ICOT any specific warranty to the user in +writing, such person, organization or entity, will also be exempted +from and not be held liable to the user for any such damages as noted +above as far as the program is concerned. + +Lao Word Break Dictionary Data (laodict.txt) + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2015 International Business Machines Corporation +and others. All Rights Reserved. + +Project: https://github.com/rober42539/lao-dictionary +Dictionary: https://github.com/rober42539/lao-dictionary/laodict.txt +License: https://github.com/rober42539/lao-dictionary/LICENSE.txt + (copied below) + +This file is derived from the above dictionary version of Nov 22, 2020 + +Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. Redistributions in binary +form must reproduce the above copyright notice, this list of conditions and +the following disclaimer in the documentation and/or other materials +provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + +Burmese Word Break Dictionary Data (burmesedict.txt) + +Copyright (c) 2014 International Business Machines Corporation +and others. All Rights Reserved. + +This list is part of a project hosted at: + github.com/kanyawtech/myanmar-karen-word-lists + +Copyright (c) 2013, LeRoy Benjamin Sharon +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: Redistributions of source code must retain the above +copyright notice, this list of conditions and the following +disclaimer. Redistributions in binary form must reproduce the +above copyright notice, this list of conditions and the following +disclaimer in the documentation and/or other materials provided +with the distribution. + + Neither the name Myanmar Karen Word Lists, nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +Google double-conversion + +Copyright 2006-2011, the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +File: install-sh (only for ICU4C) + + +Copyright 1991 by the Massachusetts Institute of Technology + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of M.I.T. not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. M.I.T. makes no representations about the +suitability of this software for any purpose. It is provided "as is" +without express or implied warranty. +-------------------------------------------------------------------------------- +icu + +punycode.c 0.4.0 (2001-Nov-17-Sat) +http://www.cs.berkeley.edu/~amc/idn/ +Adam M. Costello +http://www.nicemice.net/amc/ + +Disclaimer and license + + Regarding this entire document or any portion of it (including + the pseudocode and C code), the author makes no guarantees and + is not responsible for any damage resulting from its use. The + author grants irrevocable permission to anyone to use, modify, + and distribute it in any way that does not diminish the rights + of anyone else to use, modify, and distribute it, provided that + redistributed derivative works do not contain misleading author or + version information. Derivative works need not be licensed under + similar terms. +-------------------------------------------------------------------------------- +include + +Copyright (C) 2011 Nick Bruun +Copyright (C) 2013 Vlad Lazarenko +Copyright (C) 2014 Nicolas Pauss +-------------------------------------------------------------------------------- +include + +Copyright (c) 2008-2009 Bjoern Hoehrmann + +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. +-------------------------------------------------------------------------------- +include + +Copyright (c) 2009 Florian Loitsch. + +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. +-------------------------------------------------------------------------------- +include + +Copyright (c) 2011 - Nick Bruun. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. If you meet (any of) the author(s), you're encouraged to buy them a beer, + a drink or whatever is suited to the situation, given that you like the + software. +4. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +include + +Copyright (c) 2013-2019 Niels Lohmann . + +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. +-------------------------------------------------------------------------------- +inja + +Copyright (c) 2018-2021 Berscheid + +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. +-------------------------------------------------------------------------------- +inja + +Copyright (c) 2018-2021 Lars Berscheid + +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. +-------------------------------------------------------------------------------- +js + +Copyright 2012, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +json + +Copyright (c) 2013-2022 Niels Lohmann + +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. +-------------------------------------------------------------------------------- +json_annotation +json_serializable +platform + +Copyright 2017, the Dart project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +khronos + +Copyright (c) 2013-2014 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are 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 Materials. + +THE MATERIALS ARE 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 +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +leak_tracker +leak_tracker_flutter_testing +leak_tracker_testing + +Copyright 2022, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +libXNVCtrl + +Copyright (c) 2008 NVIDIA, Corporation + +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 (including the next +paragraph) 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. +-------------------------------------------------------------------------------- +libXNVCtrl + +Copyright (c) 2010 NVIDIA, Corporation + +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 (including the next +paragraph) 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. +-------------------------------------------------------------------------------- +libcxx + +Copyright 2018 Ulf Adams +Copyright (c) Microsoft Corporation. All rights reserved. + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +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, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +libcxx +libcxxabi + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +--- LLVM Exceptions to the Apache 2.0 License ---- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. +-------------------------------------------------------------------------------- +libcxx +libcxxabi + +Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT + +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. +-------------------------------------------------------------------------------- +libcxx +libcxxabi + +Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT + +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +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: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +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 +CONTRIBUTORS 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 WITH THE +SOFTWARE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 1988 by Jef Poskanzer. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. This software is provided "as is" without express or +implied warranty. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 1989 by Jef Poskanzer. +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. This software is provided "as is" without express or +implied warranty. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2009-2011, Nokia Corporation and/or its subsidiary(-ies). +All Rights Reserved. +Author: Siarhei Siamashka +Copyright (C) 2013-2014, Linaro Limited. All Rights Reserved. +Author: Ragesh Radhakrishnan +Copyright (C) 2014-2016, D. R. Commander. All Rights Reserved. +Copyright (C) 2015-2016, Matthieu Darbois. All Rights Reserved. +Copyright (C) 2016, Siarhei Siamashka. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2009-2011, Nokia Corporation and/or its subsidiary(-ies). +All Rights Reserved. +Author: Siarhei Siamashka +Copyright (C) 2014, Siarhei Siamashka. All Rights Reserved. +Copyright (C) 2014, Linaro Limited. All Rights Reserved. +Copyright (C) 2015, D. R. Commander. All Rights Reserved. +Copyright (C) 2015-2016, Matthieu Darbois. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2013, MIPS Technologies, Inc., California. +All Rights Reserved. +Authors: Teodora Novkovic (teodora.novkovic@imgtec.com) + Darko Laus (darko.laus@imgtec.com) +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2013-2014, MIPS Technologies, Inc., California. +All Rights Reserved. +Authors: Teodora Novkovic (teodora.novkovic@imgtec.com) + Darko Laus (darko.laus@imgtec.com) +Copyright (C) 2015, D. R. Commander. All Rights Reserved. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2014, D. R. Commander. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2014-2015, D. R. Commander. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2014-2015, D. R. Commander. All Rights Reserved. +Copyright (C) 2014, Jay Foad. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2015, D. R. Commander. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2009-2014 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2009-2015 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2009-2016 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2011 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2011, 2015 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2011-2016 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2010, D. R. Commander. + +Based on the x86 SIMD extension for IJG JPEG library - version 1.02 + +Copyright (C) 1999-2006, MIYASAKA Masaru. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +We are also required to state that + "The Graphics Interchange Format(c) is the Copyright property of + CompuServe Incorporated. GIF(sm) is a Service Mark property of + CompuServe Incorporated." +-------------------------------------------------------------------------------- +libjpeg-turbo + +libjpeg-turbo Licenses +====================== + +libjpeg-turbo is covered by three compatible BSD-style open source licenses: + +- The IJG (Independent JPEG Group) License, which is listed in + [README.ijg](README.ijg) + + This license applies to the libjpeg API library and associated programs + (any code inherited from libjpeg, and any modifications to that code.) + +- The Modified (3-clause) BSD License, which is listed in + [turbojpeg.c](turbojpeg.c) + + This license covers the TurboJPEG API library and associated programs. + +- The zlib License, which is listed in [simd/jsimdext.inc](simd/jsimdext.inc) + + This license is a subset of the other two, and it covers the libjpeg-turbo + SIMD extensions. + + +Complying with the libjpeg-turbo Licenses +========================================= + +This section provides a roll-up of the libjpeg-turbo licensing terms, to the +best of our understanding. + +1. If you are distributing a modified version of the libjpeg-turbo source, + then: + + 1. You cannot alter or remove any existing copyright or license notices + from the source. + + **Origin** + - Clause 1 of the IJG License + - Clause 1 of the Modified BSD License + - Clauses 1 and 3 of the zlib License + + 2. You must add your own copyright notice to the header of each source + file you modified, so others can tell that you modified that file (if + there is not an existing copyright header in that file, then you can + simply add a notice stating that you modified the file.) + + **Origin** + - Clause 1 of the IJG License + - Clause 2 of the zlib License + + 3. You must include the IJG README file, and you must not alter any of the + copyright or license text in that file. + + **Origin** + - Clause 1 of the IJG License + +2. If you are distributing only libjpeg-turbo binaries without the source, or + if you are distributing an application that statically links with + libjpeg-turbo, then: + + 1. Your product documentation must include a message stating: + + This software is based in part on the work of the Independent JPEG + Group. + + **Origin** + - Clause 2 of the IJG license + + 2. If your binary distribution includes or uses the TurboJPEG API, then + your product documentation must include the text of the Modified BSD + License. + + **Origin** + - Clause 2 of the Modified BSD License + +3. You cannot use the name of the IJG or The libjpeg-turbo Project or the + contributors thereof in advertising, publicity, etc. + + **Origin** + - IJG License + - Clause 3 of the Modified BSD License + +4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be + free of defects, nor do we accept any liability for undesirable + consequences resulting from your use of the software. + + **Origin** + - IJG License + - Modified BSD License + - zlib License +-------------------------------------------------------------------------------- +libjpeg-turbo + +libjpeg-turbo note: This file has been modified by The libjpeg-turbo Project +to include only information relevant to libjpeg-turbo, to wordsmith certain +sections, and to remove impolitic language that existed in the libjpeg v8 +README. It is included only for reference. Please see README.md for +information specific to libjpeg-turbo. + + +The Independent JPEG Group's JPEG software +========================================== + +This distribution contains a release of the Independent JPEG Group's free JPEG +software. You are welcome to redistribute this software and to use it for any +purpose, subject to the conditions under LEGAL ISSUES, below. + +This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone, +Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson, +Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers, +and other members of the Independent JPEG Group. + +IJG is not affiliated with the ISO/IEC JTC1/SC29/WG1 standards committee +(also known as JPEG, together with ITU-T SG16). + + +DOCUMENTATION ROADMAP +===================== + +This file contains the following sections: + +OVERVIEW General description of JPEG and the IJG software. +LEGAL ISSUES Copyright, lack of warranty, terms of distribution. +REFERENCES Where to learn more about JPEG. +ARCHIVE LOCATIONS Where to find newer versions of this software. +FILE FORMAT WARS Software *not* to get. +TO DO Plans for future IJG releases. + +Other documentation files in the distribution are: + +User documentation: + usage.txt Usage instructions for cjpeg, djpeg, jpegtran, + rdjpgcom, and wrjpgcom. + *.1 Unix-style man pages for programs (same info as usage.txt). + wizard.txt Advanced usage instructions for JPEG wizards only. + change.log Version-to-version change highlights. +Programmer and internal documentation: + libjpeg.txt How to use the JPEG library in your own programs. + example.c Sample code for calling the JPEG library. + structure.txt Overview of the JPEG library's internal structure. + coderules.txt Coding style rules --- please read if you contribute code. + +Please read at least usage.txt. Some information can also be found in the JPEG +FAQ (Frequently Asked Questions) article. See ARCHIVE LOCATIONS below to find +out where to obtain the FAQ article. + +If you want to understand how the JPEG code works, we suggest reading one or +more of the REFERENCES, then looking at the documentation files (in roughly +the order listed) before diving into the code. + + +OVERVIEW +======== + +This package contains C software to implement JPEG image encoding, decoding, +and transcoding. JPEG (pronounced "jay-peg") is a standardized compression +method for full-color and grayscale images. JPEG's strong suit is compressing +photographic images or other types of images that have smooth color and +brightness transitions between neighboring pixels. Images with sharp lines or +other abrupt features may not compress well with JPEG, and a higher JPEG +quality may have to be used to avoid visible compression artifacts with such +images. + +JPEG is lossy, meaning that the output pixels are not necessarily identical to +the input pixels. However, on photographic content and other "smooth" images, +very good compression ratios can be obtained with no visible compression +artifacts, and extremely high compression ratios are possible if you are +willing to sacrifice image quality (by reducing the "quality" setting in the +compressor.) + +This software implements JPEG baseline, extended-sequential, and progressive +compression processes. Provision is made for supporting all variants of these +processes, although some uncommon parameter settings aren't implemented yet. +We have made no provision for supporting the hierarchical or lossless +processes defined in the standard. + +We provide a set of library routines for reading and writing JPEG image files, +plus two sample applications "cjpeg" and "djpeg", which use the library to +perform conversion between JPEG and some other popular image file formats. +The library is intended to be reused in other applications. + +In order to support file conversion and viewing software, we have included +considerable functionality beyond the bare JPEG coding/decoding capability; +for example, the color quantization modules are not strictly part of JPEG +decoding, but they are essential for output to colormapped file formats or +colormapped displays. These extra functions can be compiled out of the +library if not required for a particular application. + +We have also included "jpegtran", a utility for lossless transcoding between +different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple +applications for inserting and extracting textual comments in JFIF files. + +The emphasis in designing this software has been on achieving portability and +flexibility, while also making it fast enough to be useful. In particular, +the software is not intended to be read as a tutorial on JPEG. (See the +REFERENCES section for introductory material.) Rather, it is intended to +be reliable, portable, industrial-strength code. We do not claim to have +achieved that goal in every aspect of the software, but we strive for it. + +We welcome the use of this software as a component of commercial products. +No royalty is required, but we do ask for an acknowledgement in product +documentation, as described under LEGAL ISSUES. + + +LEGAL ISSUES +============ + +In plain English: + +1. We don't promise that this software works. (But if you find any bugs, + please let us know!) +2. You can use this software for whatever you want. You don't have to pay us. +3. You may not pretend that you wrote this software. If you use it in a + program, you must acknowledge somewhere in your documentation that + you've used the IJG code. + +In legalese: + +The authors make NO WARRANTY or representation, either express or implied, +with respect to this software, its quality, accuracy, merchantability, or +fitness for a particular purpose. This software is provided "AS IS", and you, +its user, assume the entire risk as to its quality and accuracy. + +This software is copyright (C) 1991-2016, Thomas G. Lane, Guido Vollbeding. +All Rights Reserved except as specified below. + +Permission is hereby granted to use, copy, modify, and distribute this +software (or portions thereof) for any purpose, without fee, subject to these +conditions: +(1) If any part of the source code for this software is distributed, then this +README file must be included, with this copyright and no-warranty notice +unaltered; and any additions, deletions, or changes to the original files +must be clearly indicated in accompanying documentation. +(2) If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the work of +the Independent JPEG Group". +(3) Permission for use of this software is granted only if the user accepts +full responsibility for any undesirable consequences; the authors accept +NO LIABILITY for damages of any kind. + +These conditions apply to any software derived from or based on the IJG code, +not just to the unmodified library. If you use our work, you ought to +acknowledge us. + +Permission is NOT granted for the use of any IJG author's name or company name +in advertising or publicity relating to this software or products derived from +it. This software may be referred to only as "the Independent JPEG Group's +software". + +We specifically permit and encourage the use of this software as the basis of +commercial products, provided that all warranty or liability claims are +assumed by the product vendor. + + +The Unix configuration script "configure" was produced with GNU Autoconf. +It is copyright by the Free Software Foundation but is freely distributable. +The same holds for its supporting scripts (config.guess, config.sub, +ltmain.sh). Another support script, install-sh, is copyright by X Consortium +but is also freely distributable. + +The IJG distribution formerly included code to read and write GIF files. +To avoid entanglement with the Unisys LZW patent (now expired), GIF reading +support has been removed altogether, and the GIF writer has been simplified +to produce "uncompressed GIFs". This technique does not use the LZW +algorithm; the resulting GIF files are larger than usual, but are readable +by all standard GIF decoders. + +We are required to state that + "The Graphics Interchange Format(c) is the Copyright property of + CompuServe Incorporated. GIF(sm) is a Service Mark property of + CompuServe Incorporated." + + +REFERENCES +========== + +We recommend reading one or more of these references before trying to +understand the innards of the JPEG software. + +The best short technical introduction to the JPEG compression algorithm is + Wallace, Gregory K. "The JPEG Still Picture Compression Standard", + Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44. +(Adjacent articles in that issue discuss MPEG motion picture compression, +applications of JPEG, and related topics.) If you don't have the CACM issue +handy, a PDF file containing a revised version of Wallace's article is +available at http://www.ijg.org/files/Wallace.JPEG.pdf. The file (actually +a preprint for an article that appeared in IEEE Trans. Consumer Electronics) +omits the sample images that appeared in CACM, but it includes corrections +and some added material. Note: the Wallace article is copyright ACM and IEEE, +and it may not be used for commercial purposes. + +A somewhat less technical, more leisurely introduction to JPEG can be found in +"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by +M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1. This book provides +good explanations and example C code for a multitude of compression methods +including JPEG. It is an excellent source if you are comfortable reading C +code but don't know much about data compression in general. The book's JPEG +sample code is far from industrial-strength, but when you are ready to look +at a full implementation, you've got one here... + +The best currently available description of JPEG is the textbook "JPEG Still +Image Data Compression Standard" by William B. Pennebaker and Joan L. +Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1. +Price US$59.95, 638 pp. The book includes the complete text of the ISO JPEG +standards (DIS 10918-1 and draft DIS 10918-2). + +The original JPEG standard is divided into two parts, Part 1 being the actual +specification, while Part 2 covers compliance testing methods. Part 1 is +titled "Digital Compression and Coding of Continuous-tone Still Images, +Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS +10918-1, ITU-T T.81. Part 2 is titled "Digital Compression and Coding of +Continuous-tone Still Images, Part 2: Compliance testing" and has document +numbers ISO/IEC IS 10918-2, ITU-T T.83. + +The JPEG standard does not specify all details of an interchangeable file +format. For the omitted details we follow the "JFIF" conventions, revision +1.02. JFIF 1.02 has been adopted as an Ecma International Technical Report +and thus received a formal publication status. It is available as a free +download in PDF format from +http://www.ecma-international.org/publications/techreports/E-TR-098.htm. +A PostScript version of the JFIF document is available at +http://www.ijg.org/files/jfif.ps.gz. There is also a plain text version at +http://www.ijg.org/files/jfif.txt.gz, but it is missing the figures. + +The TIFF 6.0 file format specification can be obtained by FTP from +ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz. The JPEG incorporation scheme +found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems. +IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6). +Instead, we recommend the JPEG design proposed by TIFF Technical Note #2 +(Compression tag 7). Copies of this Note can be obtained from +http://www.ijg.org/files/. It is expected that the next revision +of the TIFF spec will replace the 6.0 JPEG design with the Note's design. +Although IJG's own code does not support TIFF/JPEG, the free libtiff library +uses our library to implement TIFF/JPEG per the Note. + + +ARCHIVE LOCATIONS +================= + +The "official" archive site for this software is www.ijg.org. +The most recent released version can always be found there in +directory "files". + +The JPEG FAQ (Frequently Asked Questions) article is a source of some +general information about JPEG. +It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/ +and other news.answers archive sites, including the official news.answers +archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/. +If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu +with body + send usenet/news.answers/jpeg-faq/part1 + send usenet/news.answers/jpeg-faq/part2 + + +FILE FORMAT WARS +================ + +The ISO/IEC JTC1/SC29/WG1 standards committee (also known as JPEG, together +with ITU-T SG16) currently promotes different formats containing the name +"JPEG" which are incompatible with original DCT-based JPEG. IJG therefore does +not support these formats (see REFERENCES). Indeed, one of the original +reasons for developing this free software was to help force convergence on +common, interoperable format standards for JPEG files. +Don't use an incompatible file format! +(In any case, our decoder will remain capable of reading existing JPEG +image files indefinitely.) + + +TO DO +===== + +Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org. +-------------------------------------------------------------------------------- +libjxl + +Copyright 2021 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libmicrohttpd +skia + +Copyright (c) 2011 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libpng + +COPYRIGHT NOTICE, DISCLAIMER, and LICENSE +========================================= + +PNG Reference Library License version 2 +--------------------------------------- + +* Copyright (c) 1995-2024 The PNG Reference Library Authors. +* Copyright (c) 2018-2024 Cosmin Truta. +* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. +* Copyright (c) 1996-1997 Andreas Dilger. +* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +The software is supplied "as is", without warranty of any kind, +express or implied, including, without limitation, the warranties +of merchantability, fitness for a particular purpose, title, and +non-infringement. In no event shall the Copyright owners, or +anyone distributing the software, be liable for any damages or +other liability, whether in contract, tort or otherwise, arising +from, out of, or in connection with the software, or the use or +other dealings in the software, even if advised of the possibility +of such damage. + +Permission is hereby granted to use, copy, modify, and distribute +this software, or portions hereof, for any purpose, without fee, +subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you + use this software in a product, an acknowledgment in the product + documentation would be appreciated, but is not required. + +2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + + +PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) +----------------------------------------------------------------------- + +libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are +Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are +derived from libpng-1.0.6, and are distributed according to the same +disclaimer and license as libpng-1.0.6 with the following individuals +added to the list of Contributing Authors: + + Simon-Pierre Cadieux + Eric S. Raymond + Mans Rullgard + Cosmin Truta + Gilles Vollant + James Yu + Mandar Sahastrabuddhe + Google Inc. + Vadim Barkov + +and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of + the library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is + with the user. + +Some files in the "contrib" directory and some configure-generated +files that are distributed with libpng have other copyright owners, and +are released under other open source licenses. + +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from +libpng-0.96, and are distributed according to the same disclaimer and +license as libpng-0.96, with the following individuals added to the +list of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, +and are distributed according to the same disclaimer and license as +libpng-0.88, with the following individuals added to the list of +Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + +Some files in the "scripts" directory have other copyright owners, +but are released under this license. + +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + +The PNG Reference Library is supplied "AS IS". The Contributing +Authors and Group 42, Inc. disclaim all warranties, expressed or +implied, including, without limitation, the warranties of +merchantability and of fitness for any purpose. The Contributing +Authors and Group 42, Inc. assume no liability for direct, indirect, +incidental, special, exemplary, or consequential damages, which may +result from the use of the PNG Reference Library, even if advised of +the possibility of such damage. + +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: + +1. The origin of this source code must not be misrepresented. + +2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + +3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, +without fee, and encourage the use of this source code as a component +to supporting the PNG file format in commercial products. If you use +this source code in a product, acknowledgment is not required but would +be appreciated. +-------------------------------------------------------------------------------- +libtess2 + +Copyright (C) [dates of first publication] Silicon Graphics, Inc. +All Rights Reserved. + +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 including the dates of first publication and either this +permission notice or a reference to http://oss.sgi.com/projects/FreeB/ 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 SILICON GRAPHICS, INC. +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. + +Except as contained in this notice, the name of Silicon Graphics, Inc. shall not +be used in advertising or otherwise to promote the sale, use or other dealings in +this Software without prior written authorization from Silicon Graphics, Inc. +-------------------------------------------------------------------------------- +libwebp + +Copyright (c) 2010, Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2010 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2011 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2012 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2013 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2014 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2015 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2016 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2017 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2018 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2021 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2022 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +lints + +Copyright 2021, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +loading_animation_widget + +BSD 3-Clause License + +Copyright (c) 2021, Watery Desert +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +logger + +MIT License + +Copyright (c) 2019 Simon Leier +Copyright (c) 2019 Harm Aarts +Copyright (c) 2023 Severin Hamader + +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. + +-------------------------------------------------------------------------------- +markdown + +Copyright 2012, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +material_color_utilities + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2021 Google LLC + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +-------------------------------------------------------------------------------- +modal_bottom_sheet + +MIT License + +Copyright (c) 2020 Jaime Blasco + +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. + +-------------------------------------------------------------------------------- +nested +provider + +MIT License + +Copyright (c) 2019 Remi Rousselet + +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. +-------------------------------------------------------------------------------- +ordered_set + +MIT License + +Copyright (c) 2017 Luan Nico + +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. + + +-------------------------------------------------------------------------------- +package_info_plus +package_info_plus_platform_interface +share_plus_platform_interface + +Copyright 2017 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +path_parsing + +Copyright (c) 2018 Dan Field + +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. + +-------------------------------------------------------------------------------- +perfetto + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +Copyright (c) 2017, The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +petitparser +xml + +The MIT License + +Copyright (c) 2006-2023 Lukas Renggli. +All rights reserved. + +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. + +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2015 Michael Bullington + +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. + + + +Copyright 2012, the Dart project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright 2017, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright 2021, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +platform_detect + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2017 Workiva Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +-------------------------------------------------------------------------------- +pubspec_parse + +Copyright 2018, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +pull_down_button + +The MIT License (MIT) + +Copyright (c) 2022 https://github.com/notDmDrl + +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. +-------------------------------------------------------------------------------- +rapidjson + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip-> All rights reserved-> + +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. +-------------------------------------------------------------------------------- +rapidjson + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +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. +-------------------------------------------------------------------------------- +rapidjson + +Copyright (c) 2006-2013 Alexander Chemeris + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the product nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +rapidjson + +The above software in this distribution may have been modified by +THL A29 Limited ("Tencent Modifications"). +All Tencent Modifications are Copyright (C) 2015 THL A29 Limited. +-------------------------------------------------------------------------------- +rettulf + +BSD 3-Clause License + +Copyright (c) 2022, Li plum +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +sanitize_filename + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. +-------------------------------------------------------------------------------- +share_plus + +Copyright 2017, the Flutter project authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +skia + +Copyright (C) 2014 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright (c) 2011 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright (c) 2014 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2005 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2006 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2006-2012 The Android Open Source Project +Copyright 2012 Mozilla Foundation + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2007 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2008 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2008 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2009 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2009-2015 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2010 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2010 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2011 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2011 Google Inc. +Copyright 2012 Mozilla Foundation + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2011 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2012 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2012 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2012 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2013 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2013 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2014 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2014 Google Inc. +Copyright 2017 ARM Ltd. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2014 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2015 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2015 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 Mozilla Foundation + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2017 ARM Ltd. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2017 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google, LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google LLC. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google, LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google LLC. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google, LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2021 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2021 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2021 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2021 Google, LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2022 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2022 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2022 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2022 Google, LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google, LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2024 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2024 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2024 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2024 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +source_helper + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +-------------------------------------------------------------------------------- +spirv-cross + +Copyright 2014-2016,2021 The Khronos Group, Inc. + +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. +-------------------------------------------------------------------------------- +spring_animation + +Copyright (c) Meta Platforms, Inc. and affiliates. + +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. +-------------------------------------------------------------------------------- +sprintf + +Copyright (c) 2012, Richard Eames +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +sqlite + +The source code for SQLite is in the public domain. No claim of +copyright is made on any part of the core source code. (The +documentation and test code is a different matter - some sections of +documentation and test logic are governed by open-source licenses.) +All contributors to the SQLite core software have signed affidavits +specifically disavowing any copyright interest in the code. This means +that anybody is able to legally do anything they want with the SQLite +source code. + +There are other SQL database engines with liberal licenses that allow +the code to be broadly and freely used. But those other engines are +still governed by copyright law. SQLite is different in that copyright +law simply does not apply. + +The source code files for other SQL database engines typically begin +with a comment describing your legal rights to view and copy that +file. The SQLite source code contains no license since it is not +governed by copyright. Instead of a license, the SQLite source code +offers a blessing: + +May you do good and not evil +May you find forgiveness for yourself and forgive others +May you share freely, never taking more than you give. +-------------------------------------------------------------------------------- +synchronized + +MIT License + +Copyright (c) 2016, Alexandre Roux Tekartik. + +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. +-------------------------------------------------------------------------------- +unicons + +BSD 3-Clause License + +Copyright (c) 2020, Pedro Lemos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +uuid + +Copyright (c) 2021 Yulian Kuncheff + +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. +-------------------------------------------------------------------------------- +vector_math + +Copyright 2015, Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (C) 2013 Andrew Magill + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +-------------------------------------------------------------------------------- +version + +Copyright (c) 2021, Matthew Barbour. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +visibility_detector + +Copyright 2018 the Dart project authors, Inc. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +File: layers/external/vma/vk_mem_alloc.h + + +Copyright (c) 2017-2022 Advanced Micro Devices, Inc. All rights reserved. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +vulkan-validation-layers +vulkan_memory_allocator + +Copyright (c) 2017-2022 Advanced Micro Devices, Inc. All rights reserved. + +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. +-------------------------------------------------------------------------------- +web + +Copyright 2023, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +web_locale_keymap + +Copyright (c) 2022 Google LLC + +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. +-------------------------------------------------------------------------------- +web_socket + +Copyright 2024, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +win32 + +BSD 3-Clause License + +Copyright (c) 2024, Halil Durmus + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +xxhash + +Copyright (C) 2012-2016, Yann Collet + +BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +xxhash + +Copyright (C) 2012-2016, Yann Collet. + +BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +yaml + +Copyright (c) 2014, the Dart project authors. +Copyright (c) 2006, Kirill Simonov. + +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. + +-------------------------------------------------------------------------------- +zlib + +Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +zlib + +Copyright (C) 1998-2005 Gilles Vollant +-------------------------------------------------------------------------------- +zlib + +Copyright (C) 2017 ARM, Inc. +Copyright 2017 The Chromium Authors + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +zlib + +Copyright 2017 The Chromium Authors + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +zlib + +Copyright 2018 The Chromium Authors + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +zlib + +Copyright 2019 The Chromium Authors + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +zlib + +Copyright 2022 The Chromium Authors + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +zlib + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +zlib + +version 1.2.12, March 27th, 2022 + +Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. diff --git a/calcupiano/assets/about.md b/assets/assets/about.md similarity index 100% rename from calcupiano/assets/about.md rename to assets/assets/about.md diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-Bold.ttf b/assets/assets/google_fonts/JetBrainsMono-Bold.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-Bold.ttf rename to assets/assets/google_fonts/JetBrainsMono-Bold.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-BoldItalic.ttf b/assets/assets/google_fonts/JetBrainsMono-BoldItalic.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-BoldItalic.ttf rename to assets/assets/google_fonts/JetBrainsMono-BoldItalic.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-ExtraBold.ttf b/assets/assets/google_fonts/JetBrainsMono-ExtraBold.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-ExtraBold.ttf rename to assets/assets/google_fonts/JetBrainsMono-ExtraBold.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-ExtraBoldItalic.ttf b/assets/assets/google_fonts/JetBrainsMono-ExtraBoldItalic.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-ExtraBoldItalic.ttf rename to assets/assets/google_fonts/JetBrainsMono-ExtraBoldItalic.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-ExtraLight.ttf b/assets/assets/google_fonts/JetBrainsMono-ExtraLight.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-ExtraLight.ttf rename to assets/assets/google_fonts/JetBrainsMono-ExtraLight.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-ExtraLightItalic.ttf b/assets/assets/google_fonts/JetBrainsMono-ExtraLightItalic.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-ExtraLightItalic.ttf rename to assets/assets/google_fonts/JetBrainsMono-ExtraLightItalic.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-Italic.ttf b/assets/assets/google_fonts/JetBrainsMono-Italic.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-Italic.ttf rename to assets/assets/google_fonts/JetBrainsMono-Italic.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-Light.ttf b/assets/assets/google_fonts/JetBrainsMono-Light.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-Light.ttf rename to assets/assets/google_fonts/JetBrainsMono-Light.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-LightItalic.ttf b/assets/assets/google_fonts/JetBrainsMono-LightItalic.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-LightItalic.ttf rename to assets/assets/google_fonts/JetBrainsMono-LightItalic.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-Medium.ttf b/assets/assets/google_fonts/JetBrainsMono-Medium.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-Medium.ttf rename to assets/assets/google_fonts/JetBrainsMono-Medium.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-MediumItalic.ttf b/assets/assets/google_fonts/JetBrainsMono-MediumItalic.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-MediumItalic.ttf rename to assets/assets/google_fonts/JetBrainsMono-MediumItalic.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-OFL.txt b/assets/assets/google_fonts/JetBrainsMono-OFL.txt similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-OFL.txt rename to assets/assets/google_fonts/JetBrainsMono-OFL.txt diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-Regular.ttf b/assets/assets/google_fonts/JetBrainsMono-Regular.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-Regular.ttf rename to assets/assets/google_fonts/JetBrainsMono-Regular.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-SemiBold.ttf b/assets/assets/google_fonts/JetBrainsMono-SemiBold.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-SemiBold.ttf rename to assets/assets/google_fonts/JetBrainsMono-SemiBold.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-SemiBoldItalic.ttf b/assets/assets/google_fonts/JetBrainsMono-SemiBoldItalic.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-SemiBoldItalic.ttf rename to assets/assets/google_fonts/JetBrainsMono-SemiBoldItalic.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-Thin.ttf b/assets/assets/google_fonts/JetBrainsMono-Thin.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-Thin.ttf rename to assets/assets/google_fonts/JetBrainsMono-Thin.ttf diff --git a/calcupiano/assets/google_fonts/JetBrainsMono-ThinItalic.ttf b/assets/assets/google_fonts/JetBrainsMono-ThinItalic.ttf similarity index 100% rename from calcupiano/assets/google_fonts/JetBrainsMono-ThinItalic.ttf rename to assets/assets/google_fonts/JetBrainsMono-ThinItalic.ttf diff --git a/calcupiano/assets/img/preview-placeholder.svg b/assets/assets/img/preview-placeholder.svg similarity index 100% rename from calcupiano/assets/img/preview-placeholder.svg rename to assets/assets/img/preview-placeholder.svg diff --git a/calcupiano/assets/l10n/en.json b/assets/assets/l10n/en.json similarity index 100% rename from calcupiano/assets/l10n/en.json rename to assets/assets/l10n/en.json diff --git a/calcupiano/assets/l10n/ru.json b/assets/assets/l10n/ru.json similarity index 100% rename from calcupiano/assets/l10n/ru.json rename to assets/assets/l10n/ru.json diff --git a/calcupiano/assets/l10n/zh-CN.json b/assets/assets/l10n/zh-CN.json similarity index 100% rename from calcupiano/assets/l10n/zh-CN.json rename to assets/assets/l10n/zh-CN.json diff --git a/calcupiano/assets/soundpack/classic/1.wav b/assets/assets/soundpack/classic/1.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/1.wav rename to assets/assets/soundpack/classic/1.wav diff --git a/calcupiano/assets/soundpack/classic/2.wav b/assets/assets/soundpack/classic/2.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/2.wav rename to assets/assets/soundpack/classic/2.wav diff --git a/calcupiano/assets/soundpack/classic/3.wav b/assets/assets/soundpack/classic/3.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/3.wav rename to assets/assets/soundpack/classic/3.wav diff --git a/calcupiano/assets/soundpack/classic/4.wav b/assets/assets/soundpack/classic/4.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/4.wav rename to assets/assets/soundpack/classic/4.wav diff --git a/calcupiano/assets/soundpack/classic/5.wav b/assets/assets/soundpack/classic/5.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/5.wav rename to assets/assets/soundpack/classic/5.wav diff --git a/calcupiano/assets/soundpack/classic/6.wav b/assets/assets/soundpack/classic/6.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/6.wav rename to assets/assets/soundpack/classic/6.wav diff --git a/calcupiano/assets/soundpack/classic/7.wav b/assets/assets/soundpack/classic/7.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/7.wav rename to assets/assets/soundpack/classic/7.wav diff --git a/calcupiano/assets/soundpack/classic/8.wav b/assets/assets/soundpack/classic/8.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/8.wav rename to assets/assets/soundpack/classic/8.wav diff --git a/calcupiano/assets/soundpack/classic/9.wav b/assets/assets/soundpack/classic/9.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/9.wav rename to assets/assets/soundpack/classic/9.wav diff --git a/calcupiano/assets/soundpack/classic/div.wav b/assets/assets/soundpack/classic/div.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/div.wav rename to assets/assets/soundpack/classic/div.wav diff --git a/calcupiano/assets/soundpack/classic/eq.wav b/assets/assets/soundpack/classic/eq.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/eq.wav rename to assets/assets/soundpack/classic/eq.wav diff --git a/calcupiano/assets/soundpack/classic/minus.wav b/assets/assets/soundpack/classic/minus.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/minus.wav rename to assets/assets/soundpack/classic/minus.wav diff --git a/calcupiano/assets/soundpack/classic/mul.wav b/assets/assets/soundpack/classic/mul.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/mul.wav rename to assets/assets/soundpack/classic/mul.wav diff --git a/calcupiano/assets/soundpack/classic/plus.wav b/assets/assets/soundpack/classic/plus.wav similarity index 100% rename from calcupiano/assets/soundpack/classic/plus.wav rename to assets/assets/soundpack/classic/plus.wav diff --git a/calcupiano/assets/soundpack/classic/preview.png b/assets/assets/soundpack/classic/preview.png similarity index 100% rename from calcupiano/assets/soundpack/classic/preview.png rename to assets/assets/soundpack/classic/preview.png diff --git a/calcupiano/assets/soundpack/default/1.wav b/assets/assets/soundpack/default/1.wav similarity index 100% rename from calcupiano/assets/soundpack/default/1.wav rename to assets/assets/soundpack/default/1.wav diff --git a/calcupiano/assets/soundpack/default/2.wav b/assets/assets/soundpack/default/2.wav similarity index 100% rename from calcupiano/assets/soundpack/default/2.wav rename to assets/assets/soundpack/default/2.wav diff --git a/calcupiano/assets/soundpack/default/3.wav b/assets/assets/soundpack/default/3.wav similarity index 100% rename from calcupiano/assets/soundpack/default/3.wav rename to assets/assets/soundpack/default/3.wav diff --git a/calcupiano/assets/soundpack/default/4.wav b/assets/assets/soundpack/default/4.wav similarity index 100% rename from calcupiano/assets/soundpack/default/4.wav rename to assets/assets/soundpack/default/4.wav diff --git a/calcupiano/assets/soundpack/default/5.wav b/assets/assets/soundpack/default/5.wav similarity index 100% rename from calcupiano/assets/soundpack/default/5.wav rename to assets/assets/soundpack/default/5.wav diff --git a/calcupiano/assets/soundpack/default/6.wav b/assets/assets/soundpack/default/6.wav similarity index 100% rename from calcupiano/assets/soundpack/default/6.wav rename to assets/assets/soundpack/default/6.wav diff --git a/calcupiano/assets/soundpack/default/7.wav b/assets/assets/soundpack/default/7.wav similarity index 100% rename from calcupiano/assets/soundpack/default/7.wav rename to assets/assets/soundpack/default/7.wav diff --git a/calcupiano/assets/soundpack/default/8.wav b/assets/assets/soundpack/default/8.wav similarity index 100% rename from calcupiano/assets/soundpack/default/8.wav rename to assets/assets/soundpack/default/8.wav diff --git a/calcupiano/assets/soundpack/default/9.wav b/assets/assets/soundpack/default/9.wav similarity index 100% rename from calcupiano/assets/soundpack/default/9.wav rename to assets/assets/soundpack/default/9.wav diff --git a/calcupiano/assets/soundpack/default/div.wav b/assets/assets/soundpack/default/div.wav similarity index 100% rename from calcupiano/assets/soundpack/default/div.wav rename to assets/assets/soundpack/default/div.wav diff --git a/calcupiano/assets/soundpack/default/eq.wav b/assets/assets/soundpack/default/eq.wav similarity index 100% rename from calcupiano/assets/soundpack/default/eq.wav rename to assets/assets/soundpack/default/eq.wav diff --git a/calcupiano/assets/soundpack/default/minus.wav b/assets/assets/soundpack/default/minus.wav similarity index 100% rename from calcupiano/assets/soundpack/default/minus.wav rename to assets/assets/soundpack/default/minus.wav diff --git a/calcupiano/assets/soundpack/default/mul.wav b/assets/assets/soundpack/default/mul.wav similarity index 100% rename from calcupiano/assets/soundpack/default/mul.wav rename to assets/assets/soundpack/default/mul.wav diff --git a/calcupiano/assets/soundpack/default/plus.wav b/assets/assets/soundpack/default/plus.wav similarity index 100% rename from calcupiano/assets/soundpack/default/plus.wav rename to assets/assets/soundpack/default/plus.wav diff --git a/calcupiano/assets/soundpack/default/preview.png b/assets/assets/soundpack/default/preview.png similarity index 100% rename from calcupiano/assets/soundpack/default/preview.png rename to assets/assets/soundpack/default/preview.png diff --git a/calcupiano/assets/soundpack/default_long_tone/1.wav b/assets/assets/soundpack/default_long_tone/1.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/1.wav rename to assets/assets/soundpack/default_long_tone/1.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/2.wav b/assets/assets/soundpack/default_long_tone/2.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/2.wav rename to assets/assets/soundpack/default_long_tone/2.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/3.wav b/assets/assets/soundpack/default_long_tone/3.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/3.wav rename to assets/assets/soundpack/default_long_tone/3.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/4.wav b/assets/assets/soundpack/default_long_tone/4.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/4.wav rename to assets/assets/soundpack/default_long_tone/4.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/5.wav b/assets/assets/soundpack/default_long_tone/5.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/5.wav rename to assets/assets/soundpack/default_long_tone/5.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/6.wav b/assets/assets/soundpack/default_long_tone/6.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/6.wav rename to assets/assets/soundpack/default_long_tone/6.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/7.wav b/assets/assets/soundpack/default_long_tone/7.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/7.wav rename to assets/assets/soundpack/default_long_tone/7.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/8.wav b/assets/assets/soundpack/default_long_tone/8.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/8.wav rename to assets/assets/soundpack/default_long_tone/8.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/9.wav b/assets/assets/soundpack/default_long_tone/9.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/9.wav rename to assets/assets/soundpack/default_long_tone/9.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/div.wav b/assets/assets/soundpack/default_long_tone/div.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/div.wav rename to assets/assets/soundpack/default_long_tone/div.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/eq.wav b/assets/assets/soundpack/default_long_tone/eq.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/eq.wav rename to assets/assets/soundpack/default_long_tone/eq.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/minus.wav b/assets/assets/soundpack/default_long_tone/minus.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/minus.wav rename to assets/assets/soundpack/default_long_tone/minus.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/mul.wav b/assets/assets/soundpack/default_long_tone/mul.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/mul.wav rename to assets/assets/soundpack/default_long_tone/mul.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/plus.wav b/assets/assets/soundpack/default_long_tone/plus.wav similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/plus.wav rename to assets/assets/soundpack/default_long_tone/plus.wav diff --git a/calcupiano/assets/soundpack/default_long_tone/preview.png b/assets/assets/soundpack/default_long_tone/preview.png similarity index 100% rename from calcupiano/assets/soundpack/default_long_tone/preview.png rename to assets/assets/soundpack/default_long_tone/preview.png diff --git a/assets/fonts/MaterialIcons-Regular.otf b/assets/fonts/MaterialIcons-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..6b6db3f2134812de65c1a340469bfe1d326c5d30 GIT binary patch literal 11604 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 TySh)w_v*d7WBX%cnThBh_e#5m literal 0 HcmV?d00001 diff --git a/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf b/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dea9c9a781348d1d9a4458ef3c6cef7be7ccff27 GIT binary patch literal 1560 zcmaJ>UrZZy9RL1G?|0YUwNSVMZWziHN(ckCYbnG(0Sbt^8W%O{P_x~j{HZ`YsE8dg zKz#6FF-v3##Jw4aBxX-;4{DYg<9u+5%3jQj#w; z#E3|vB`TxdXP@sd`=2@UBoX@v($gc;R`%!k_E$tM1^np9d@e)*HURntz&&owWo;Xt zMBf3F@u|1QjJx08Au4+nKA%pctkI^`0u!2glW%;oH#=ppEj2z{wGhMHX9 ziNZ8UDf*axXNTBp;6FpI0<6!1-UglkTmh^WF^O3yv`4kTNCIGvte4syiRcu^z9n-0 z$ALe)ZeOK#7uk1g+vRq=A2d`P3Dfgmw`{$1s{FD0q!vrPoj4Z~hQLkmz3Ota>tK~q zCzv+7%r20G3`sTy%}@#7M=kG&Vx>}bB1(n0O6SDb;3zHa%nw>~`-CVaETGXzQA(9n~b&^4#!TJCFfk zoFmh)i0<~3_#(}yj`AhBi~KZIqRZ$7?4oGne!xa@HdK^zNB$!AJWF#lNg0}<5FJBD zN2!~haQK{qXK5T(Au=6Zh#mpmPj67x@y)?^2G&o}h~qN{t*|&oozzA#fQg7EsOMlm z4!u+hOHow2Sp?(=9opXZv#$KRJEHq14z z!t;w<*Z2jAyT!s0#lz0BH>rxKtLPXt>zN1`)a5dM-sjEmpem0RWUWg2M)qj$$sS!@ zVWwK8D0^SvU8;zcx&x`#F6jw4PrYO1Ty_@zr+tKeI*yu~#|Qr6cMuBd!d z_RE{%xwCJv3ATyt)KLSqVk%T)bOvING7;ioriYuO=Ho1E2nYuBs%UdiuR(#W%;=0o z|Dh6z#F(Ma>xtXH82Oe{#^ubp9-r^S{ePsN4Gshsf{kDHhZ_nliw%39H!#=Rv)U_u zpU;0>TuwE=vMcNZ@}i$Zc+Xo!HIZ0x#5`igV-bVvah(gHiGi1tCBcuw%S*#2SC%){ z(yy;gW&*W=Ky9wFx-y`t^A2-(`IF_9lf%nR>9urv?PZ}q@OQor_C2=B&SNWw#a^65 z*hdYP?CkgNGByS*>s`x8$$qaYr;bdflgV^40g*M()s~XIs$U+fZ-gwFF2>#Ot?fWp z&1Mgtov0b_jCHUs+>x+RjxB}_9@OiZ%=PO1zBXm4w^veR6^N?}=Y74BjAaULzqLiF VuTN5C1txBfEOg+wF!AFH{1@!#6aN4J literal 0 HcmV?d00001 diff --git a/assets/packages/unicons/icons/UniconsLine.ttf b/assets/packages/unicons/icons/UniconsLine.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a25acbdaeead535482c092b63778e9f36e134d48 GIT binary patch literal 293252 zcmeFacYIvM)i-`-?lx`J_FZ-DO1mmnFKbzDa>2bJcfgXtxM7S922(70GbJ?J)HpT) znNUJ8y%+*cqs0UWgb-?|CWL_VBp9@Qzh~|?+2(ojyzl4p`{VbCy>su}xpSwSIdkT; z8Id3&E1gRkmCfjGXdYQMeF%}5h}5~qow#_-weMcD0MFa-e8sX=XDl7waNJa)($mSX zFmL(sim#eEJ&W9X4#sPPFY6|ydioKp^VU0!~LR{{3=c2 zYQ=w|1L_&or0$${xPSOwJMzFvTt7X4Z?sRj#6karN5l6V+2A9f{OsbSkZ)#dtdhZ&uK8D#s}_74g-0KNinx=nTAHfxOFU9lowY zYBlc7D5IHL5jz$+%8*mf#a}K)sb#pHiZ7O{H>covG{RE6;na1iP3aozRm~^T5S4>l z$?sR;|4C>ox9UV4Qx1XIe-i!!f&W0@{{sjx#rw~{|3KhB5cm%S{sV#kze7OufU7-9!b*fC2)81< zPgD%Ks2JsypuSS1mD>=I9@#?_-2m~Z1>tW*mCq5y!12c+msCNfsP-VdNmMfeVJpJ- zM78G;4MBNB)+79psBRlkeF4I$2nO&VmQ&ruZc#zLNprXcda5Cb3M^mw0GR) zMB~R29RVbpAP`XIB(!@H>YR*nr=VR^(YNVn;|xe^GmS*Esu8XtI`U$oZuE2ZFrqo< zLd-K>@=o0kn($k1G0;ev!m+11xiLR_i z_?YNNKPI|r8PU}kgKO~JwdWIEhi^80MzjU^cs+o11L8NK?YCg8f4rDzYc0`F))H+) z8*kMR@b0I`bK4H0+Y?0nfWr>dcSk?boq)?-X!G5G@jbwWdmbkG`8=X~e?@fP7ex1; zN%VjP;T)o!4g~c7!3jhUxe)FodiWxuN463@igF$+M0lI%alr3!!1syQiJn|Uw5tdK z@Oc{jcm{Pp^DWUYz9f2fJJEB!M7skBFA)9mLZV-dLjdmm8Zh_`@bb66BYL3{qIwO{ zOL2rG(aZSucYyUC;Mps{kyob^y*7jB4`!k_@`>Jb68*7?=&dP4Z;v4QGsgGbK1knx zAbS5Dq7R1<{pCKQkM1Y>cn{GhsN++N|4{zAfqwEP_;+$%|VhLG^qA$&!`_dW^#TOJmWCLaOc zj!BXjdnN+%ja!NE8Hw?W5zyZW_d<1aD~U;WlbDSAl+h%nqCL|D!n-7u$RO!_mk*B+k5UK(OZac zBZIEdOL4U73j>L68Be4l^+>H9S9D{(mu1EeGP9t$6;Cd74zj++O zFG$=1IQ|&p`D65P>*)x9;ZJsw*ap~cZzOT+Q6zpk7XfA5_5g|7&nD3ieBFU>c3^Do z_z8)hp$&JU+&ck-yN)Jtw+{hn_mm@G+s8@c7pxo){qU6zbfCyiWu7o_UAFFFqylEZX+mQzUlZL*kcc-><$U@#{a5 z038v(9Z%wUjPnbRl6Y|oiI<)w@iM;s-8m%o0A{aX>|Sjl@!Av;ukRx9Mufzh7n67k zaD5Bo^L7=9Kl@3%1KfFcD#BYN-uows_unJ&!G|P1MEJ`_5+B`7;uEyzQ?&oHr%CJ` zN#cuzB>wswi7(N{uP!6;_XkOQgE9N&48MB*RlcSt0aqCNtVneS$ZnTveOV=Bw2nR$;d{M(O;6RxSwR@StMh}k&HJWd`GhCN|M#6 zuciv&L6Wr-5Z;GM_5+gjkCJRaym2$hrXG^b65%QY^r>Y9$yU_Y`a6>NzV8+$(f&$JW?asjXbl_{yF1F&YeSY-Vr3{8%ZuOAv{cS z;c}8kJxTKD^AVmWx#(Jwy`3Z%UqkX()Oj4*vLr$Bc)(;C(w2Wras^&3tely9_Zzg#L`h2FDF!(@9>}NOIHhBsU9^H~bgL8!<*V+eqG0h=Avc)O z+wu_b{q`?O-g+;|pQ0bPT|)BqI0E|F|6`In=90W4i10eepIt%n&S50)LRokHoaEi8 z=N^QgPbPUU`hPFldLP<#|8pcCKtCS%faK0wNIuws@D<62(9eefpGQ#tqvJ_FHj?Dy zz^lhUAqk#CKKUWZr+!0n7slu5`$#_XCz8L|PV(75lY9=acVyHUq4k3#r@H{u_L^4{+IcEy;geNb>|xlkMI#`dGC^Dy`3~$6amln2S{^_Lb#eV z=X``;lji<2X`X9I^ZtZ1AIk9OA@q|LxQMjiNu-75k`|spS^+fs1qVng{G7C+y`&Z6 zn_{$~5F~~FKS<=Q{M%uXJNgF?vv?J~(ZNh7$O~iMT(5A`1CvD0W(x#&Psb7*dU6MBA zIMQZbihzF1T2I=MtqA`jt@|&e%|^fGoJ!i`nU?^op>f`t4}2DB*1hH;IrmA z($)fYCx1)YDX)-rY6HS1(oVzuG}N*FY|>6&gn%}kf%G$55MCnftb0k@@F{6$FD309 zlyeUHcwRec=l`6v3sA>}vq`%M@VodO(k>lB+Q!#OyA0uSly~_jq+RJF?MJBNs`;c{ z{WNLU{E4({zb0)H+P~RB8srx3dgQ+mxOCG$NV}z*w5@>oHVbLnZzS#39@2hVi2#`1 z=0uo7+U=-wM=xo2U`*}=EbhWM-G%<$J%O})=92bvzzuwab}wLhAK-rfG=xV;djMtZ zTua)6b)-Fnw1;a*d*lex9!2_N2#^1mv?uN%?a3HvPYoq)*9oLOT}#?C8fm{k9nYda z&jEhB5q=3c{rU{jeseu(zXc9Fe=cb+tS9ZoH%WWxWYS(nn_otMeh2vNLB3Z2qgMde z-vef^en8r5t4Vvk3juHgf1$ncJZW!Y{QkI#w71rg_NQiqzmxVh@c11A!n35kn?SgW zwD+P2%MpG@+WWVV_JIol{re00^3kKDeS8{epP>Dp?jY@R)Ug-wF97E+{z%$ifkS@< z&VTt^(*AZWX&F*5R_MU8yV`+js~=~0e0xdGsw_{el@!hW|E-=X{}=r-XTNV zS!8IRMur6H89G3Qj$;viNrquX2xwC$o`;`GhLH|3jG91((Y<8ox_}I0W|3hmU@-1) zWEhX{Cfr1ZN!O5JGTJ(2F2bE;m>NX*m<-c85FQ}I43s$&Wz2e-4A5~Hx)+jRHsCww zN;1s7oec9vl41T7gx3kSbAq&g;3;hjZfxhg7|d(LR4k%xtug&xk7u(#+Lpd^y5H?9 z5iRA-BSo9LHKzGY(eg-aglO@Xi01Z0+adS1?C0rX()UC1`h9`sc9f-^;12hPBjIit zDhe`LxNJm6Y#3kGrat}P}4&}bzq36<*^oP`kxw*KMet975?yGT!!|s|Im*4M7 zUHdp?;CPhJ_1x?Z4|KXiA$MOj=c&%U&dz<%qKF#vADcB(%3k@scBhs^@^eSvpVd4t8@kJ<4zi3nY4af=gO$X zR8S_|HDULzBMj203GH#C!QeI+jBD&RbHHi09&^bIA%rvvli6T4zY=oK=FZFdrtw^G zva+sZ$Z>0Dm>q$T*P^alJs zr_h$PENodfoCnLk>hV>^xh$NxwdFnc?1LLafh{&o_O;UbLhbx zqOQC)xwuSv!(q#Z`a(K2z_>(?)ar#9wVC7XEzLo* z3HO8@Hr&q68%fT4R5O$x&3sbuh?)2+b7mV=;d2AGeYeD}{TJJQ*)e%pK< z(k-(toHFIYS+mms|I{|(qzSUTx3jUZcGXQk?>~1uLp*t;ZP8V?UA4$&4nBChsAb3> zDXwM6_xN&1j*p7eh(`cklP?$u1{4%qSG zpJ&!ozhV2dW)q6Oj1b(2=!lk5@gzZb*Kze?;DB?BJ$t+**rEe-R83jQ}Ue!3tkv_R423*_MpQNv{x{xl@s||!6c_by%mu>t2J-GHQ=)g zyDymMz4&6#xQ*WKMVpFc8m2)43ZmDbOo=(dR(~k2Xs)_D2Qp^K%F#!x~Ydw zASjCk#@rV`yFrvS3^!U`&Scc9u5p!O&PmVBqeb;za(-h@9&>J)Ie8K}dBpbQ+uUGi zR=L@4b9V)I`g(PBsg&z;()AQQkE@Tf^F=%{I7_C;M>AP&$jKot#nOjg@&QGB)n#%f zIyVzbK9q@y|H?#f&%|y!q?n&&-Z2spxOO?8bcjB=aU zSqZc@n}S$E!EdxSV3Gp`68e(U+^+bVYc%5uM`=)6BdfSQt0MML)V{)~nFk(P6|u@- zse>QP$Yqa)>?+e1WCV!CYKv*P%2AHTa(=zsWXZ27SH*EO9~rnfe%~K*Cm-M%#B_H^ z5$uC8mY5W!aZ}{rrpQV6=EMi#;0XgB2Cn=P*8xr4Tq;SVK?u#9;yUAM z+^`xX+A(1DQv7TX7#Vg9+yfb?g~KPR9D~5iS>%j^$Bu`KvpuC_Q1YX6hCu_$IhZ#A zCU24Fr!cvJfXj>~yi#B^vO^LN{s8Rz6bKa~5@y`iLG9X+1M7#Ay=v^Y;VSF(R_W}j z0QvEI`WI&xH@C(urxA_GH&$hV4OAYAhToaxisp{0DHRUN|MzLI{|F7G5P=<9$L6doFDCcn(P$ zL^~#1Lg9SPZmX+vXd$o5HrwUOt{vG1rj!&A-;55mgV#=g5r_B{fVAKg<_Jp(@zz8POFI6ywL@4ogWuwJahA;>(zGX9+5-^g zShVm5{SYxAG7GFcapn#hm<5QNV)!rtRv^*bg7Uej7|IATtHA&HTZr2%qCnP*aZ)@6 zrh*&L-d1bOTlUHN9k&?rEjG`4Z=LdZnxz*OeR}pB2rPD2n77s2#>qKU@&=#JO+cP ztSGOMVv*E5fs#^-C1y4V;dGX21}VT7nc>48b5?l_5WG(}n}&}RBcuuPz13oK4yhCM zb={g#`>Jie*Kg7c&dR96A!J#B*(U6oUDF~R-k6l(0*l9IbDC^+|MPyY!(L!=8M-WH zYo5bmao2hCgz))-oejl7pAg1ix!2`luBt7P+-J}nCJTgpEzfK*Rg}jHG$GB6ZDy0z zph*c?3w{;{KGvRwL{dl-X%_t5mq8DBI*3?CHKa4sX%&)Us(FxDvTB2jfi+i29pL03 zjj&|VlD@OPs8vK_t?kVLpQ$pcbW72+JOVKUJfJuII)T?Fb6bmexJJz;U1yVtf}0U? ziKn%sJ1t^_+%=JoaUGHU>RJQIi}eo7X-rV1|YdU4^^ZETgv7L!opL$ zo|^d$yp2J`B4!bfMS$Ci&t*{>(^%VRudpZgKY;6gd#J+x_D*}$E-LIY;&3GQ?{ql! z+oNH}pC7byBD9@q=A8f@-cDigZt!37GEb}&d(ia_dJwE3)Kz|vo^n~|J?@Z#X!x0w zJQfmHrIX%IL2nUOpPg!XndT0Q?OAFKrQ4$+_YQuw!yOXSk{ zeg62P$LH7A>W|acI%3?S+3rwX-IVDMPM=a&7h+LgVM43w?Tj@}u};OBTr(DSb}pRZ zYEqBME1YZewIt+T$X{|13(>a{I;Gbpf6!vtBN0G|af*2L^XoV(}*8N-;z zp|BF5YU#<5oHG${AQF zzvTI~X5bqn)I_@+;fgNSWQfO;Jxb|xxpt;j4IM-owggQe-e?4|h}FHRVZ;dXD4NUb zg)vR6TG9~+e^Bz86yb|Q!JdgR9LnR29O z(qPgi7N6MFb>b{8GW|=I7gY4+mwG&<`F-hoMS)mtjRe2YlfMX+mxt2vV1#Elk^He7 z4i!`kFk+#dRpfvZ)@hwf0Xpz_D|x;(W-_Y*?z5Oo`GJ6?r^gZqY>VHL=fQAu8SDB=y)dY$5)*u)QozCis zaq$kBlI11QdvGk;9+^Ezfk3 zp_!7;^$7$HNncLdCFTaVKV2vwn_IS+sCPcqqPx=#(Lt)OQ}Pw@J|N2L6b3SP{N!$X z#J=S^R+8L@Y96qQ*X;I9n^-$?zr%4qRwcF2$?N5*1mE6F8`+M+LlbNh$9`!qFL1p0 zq9Yu!e~G1R#OL;Kxns{BM|s%(d4ANTrHVLBcA(2V?^55UNAM3h)rIV0(I$H&-I`Fu zp89%=T&KQHwI0J!BA8W{m+a-nzx*;c`3r~Gu$LoyUPhvD>~&P8K3|`zJo~whzj7t| z7|QfmY`D*kIya>OlKOfNz{gF;*Evi4NZ1;9ZO123`*mn_Scs?&HNC`0YHeY%nhy)q zFq%e3p%^wbDej6bN`Qj*uqt@PVz)BK+ss_Bk9puYf1wgszstO{iCJ#2=lVnyV!PdE zG}~O=)^Nb4<=eaSjyY6!zc#ZDs-=_{#IGG%AnK@HU2Ata{CVcQA*)si>UP=8Mo{=} zyV+4BE_GO4WtJMVbOgd)132pShf(@_G7EGj@~kaVpxGi3t1A@Fi-L8t)>z71R)?V` zucS~-K#12KFcqcPLkXs0q*N>f7RxjX!B)vOoyDlcYSadM3D#0rhfMOz^Q!B_(4Lcf zhKjoC^LRbng9Tv^BFTT&mo_T4v9U}ns#$eP&(NVgr>xQ$&$I%VSJ=GL_=qF0Zs2#s zi0Ygnb78q?#&U5qS_L4ZK@4PBFBypH0&R33M)(`gL2%;tOT z9+SlvegFs=4Pgp|MvumHaEO>n0G4{{o9aDC`TXA+Qc*n8R8Z^{a+Gw3VYhhR9tr_b zL;3k32k5c>) zO#qAkS;yicOP9N3*Le&t$WfM0v1(rl*REf3v@s zxd*P()`58#4wm;+a7Fcyh`4*0dvSFIYG7){Fg1CGVygN9fgo6h)XY^@HKqHGAqiPr z(qwM;vKS3S!Z$3~>i<#fDCQ>vL41osz*jaw*J;w`#_MBcE{nBzeoN4Akm3CH-e_HZ zd9>@KGRTgF1w+EF!ouD6Lz>#Eqm_w9_p|N^HL)&VUes07YOI_yBtIaG zO;v5^A!UMGcuT18hw0GD$bYYJx77nFL+eR)o= zE6-ct4EfrRDTow=;$`8AO1InU@!5TKK3m-C_Ebi~WtF~`;quI)@fBKm``Bn{^5dpC z;n)zNS&R;gG#aJFW-!U24a2)9O`nix3Pm84Yvw%7WHjV!Mj^@q4T({Kqv3bJ24JTD zE*LzcFnA_l1DitF{=iy8*z1)2OIbXkkc$tK28-Xnl`qGt6$*9k*(3IW$T1JhRxUi( z41P@ZrfDEDarRbl)oHU>DEa3-vV?78=@OD}?@4a_pK>TE;uGx#Xc}zbZEDe3(rr7n zibOyK4GmI`{|bvzDGwHK(g`@S=ypt>No?2U8nj(pI`C-SI9DA@>|z@;_;s#v^Uye` z?!~^Efk#;sfaMZ7TT`=pyXc%hJwJJ#PSwRZ`P1ij4qVOo#Cn#e@JqFo?X)%s1ucY~ zCn=JpmK_X*Qxq%KKc~SkR6*S_xX~a7%JzyTD|rkTaj~+l!oMZcW>zyyO*guGV5x3w z6*eW~@kRUwc_E%9ccxlB4QdBO2d+}>o;I7c8*bI?r=ZL^0Dht#jqUwsLKA$^{3CfTiwm%9V!e)5hSMd}06C zVZ+Amn7wqK*E?_NY&mh@Q2<=*Q;pX}N)=7ob>Ln%ZhbVme%y7}E$*+iT5J0kUnll; z!*v$3;W7CsRErTB&odyUG)OVN+$h~JHA?8}gOr}X#ec9-$^{J+e=I7L`OMXyG4rME zQ;u>T4RNn-Wa}Sn{L`(2D#N9!;af81#k7ga8ri~cbaTL#!4^kl>C)dTa~re=7>@$j zx5u&A%tVM;Q)U)3Mm6RZyjcf}EPLS1a(7vdPy9hQQz{vy4M1&U@#f}#Yvp@R7q%gL zgzO2niMqEWSo%r!9lGYpFEeafCX(tB8$427I*hRv9v9p}u!p?X9n>$Q;#IS~Q9Tq3 z{vX>VHvHei20s-g7I7?{Ck>O`e-fys`L>RshQoVe7kN(e>Q za@`8zv5aFuMqQx13RrQ;L}|iuOCaPnS*+zx^OShHoQ1aKCUzkZJDx6A6k)l;v7Dtr zl|`PPtNTpuUv9OS+@XNwAZxfMMOh#RW_$`#QsX|k2rgD|AJA1OW&vF&7-YAaGA)Yu z$=%7_VqvP}q;7@O%=s3JB5RL`g{ej-`^9ixT#~&OOTJlS%9N_)Z}9af1TAGSvCBm; zZRb^3%Z!EG?G7dT70nV0le@VXu}u{dmh;g^ZUFmJ46YvPUS0A}SHRQ^rExth|0pgs zMd;)Q&}(l5ls76Z&K@0s_COf7+bXVjffRVJ{Er4&b1?OF5__kzJaS&sj|U zDIoXYW2k^a_I|WdUy-!2AazAJFo-J6=^mz(U1?fgFPRNXJ1faPRZ6OME(r6bpMm(J z9B$;UUhyF}D_Pu|s+(Je^<@W-g`CX203V{D42)l(obfP&(+*s)qvdKF66|NH*bnU* z6EK8jT-U14*uw~7vDyDe7ouqD4!IHsB0;a$AKJ)>5*{T7SMYzX_! zE{kP91AWWDd|vY;dohdq87+jF5imI$@19}J-!8l{r1Fcm_-j@q^D-;%NR`Qe0{gxh zM5!8G$Zc9`T~||?y%5=FIA?%z+OaLC9@H(_^eR6})weCT^+@l{shO}f2v||THM1#> z*QrBhgWRiOHbJ9#S#r0U1H&)l&hcQeAJiVD3{6i>2al7&`KJ`l+Z4{{Aa;g#VGpfA zQz58@a!@;YPY%vIawh}WT*m4ieV!{!w;nPNQgeSZ=6;caY?`be(!IED^h(nO`N0oN zc~#v7003$i8xA|y^DP2~gG?u~^iv11&Wo0-RX=TVOCjy0htOUr7BViTeBuXoMDTC zh6*wztIHHqEk8(4%|VDDHe_b=!KjlOn^nNPA5g&?S?idqBNv-NgZ4Napz0y}gAdxp zE`^bZF(x|XRP_om%)gy5f$r9^lA~e%C{^VR;!E_VO-J|tt@EIk^%sQMGwgmQ!_X)5 zo*B%&Gb|&V>3`=asKXo!Rx8z|r=&87`~dyTu2|f*4BigBb?|Dy?dg@V%-Y4x%3v_e zDT-@JFEWf=Y{p2fUreALSNa7Qi!1ddnhkRx>1y#9Owr*VJXny@Ez~`bGLvh16^3Am zGMUg^)hGdxxmPg`J22l}7Sj&8mY7Z?|b|z@cHB+DJc6;(BO!syb@8f0PZ0b`WYzN1^w4JN&GifF{5+b9X&gA5# zb`{4PaJ=b~1awR7+&(TRCF=3)tfqFQ^VM5**x8qDnVO^e+~wH_mLdBfKUl8XS^nl> zX5gDSvvgpy&MUANhR!pjJjMs3ih^qnT48qPI1J~+b^U_;5`siEmar}WoEctByj-2u zp-^v&|9~H<9F-o&tU_yW+jKPE&qN{BDsg{KTL;FvE(24yZh9XTVl2wX}0IQ*fBE21fp_)U{z$-wi98A$*OO((My3^}X zR?38AnOWSGOsVS}*sEd?8^AT*mCH1+SecfF4`ne_o7j)}ItVj$*n~EeCc~I@HsGf- zylSn`&8j}L=EQOw(-#YN^J`CdA-e&S*|Q6K^H{0LK2Xr*vlW)PO(bCVkzR_j-s;|- zY_vw_czYfSP>2I1w3+EOlXLO>jB#UPRcbjI+Pk)QXvrp9JP_6Ww(6!GH9fE?UKJlR zF8L#e-)8iLL(Y(_%nJsc(q^4718BQA33*9mhhMDBZq2iWZO(G5#Zxw|%xb}YPAfj#uTQGfauI~20|~M+&Z0J4 z$1+-B8cJA8(r) zd@bV+wQt^!*LPZ{U3A-BQ|vDIn1!vQue)qzvwiXzS6{t$lvb0d(Ey{6*3i+lti0`% zb8Aa`77Y`u5M5h4V#M4LBjkZ`8*aPnrjwd{wFV#j6r`on(Y)faYtNru5bL>Ua%oXT zMbZ84u*X#{W}Ll#WUwh-TsE`0RB68l{>dfG9YJ~M)>GPPptu$+A6+o2&B4a9)9HMi zNzI%l<0Y6M1#xp!Y2HA8*}95O195?r*mH?YiI!$yDAd8&U^fz53c;3|>xCDd&3Fyh zXkd1b?Ykod{8+IMmCdrS-f|NDD^F*o3tWPIQ2-pj#KzPTcxa?lkfP2|D<)fkO6zMy}4dx6VRTvdZ)v$@DTbcQ$RtsS_>~vY|2~4oE9uF0j zCX&y(66Hmqcw9QAR#jnhxoj0x1548}z%%6XxI7_epf}*IvAaA*zuguHIU3iyTpAZq zmUx3dcNHaa{0s}A7#c;BFji{+X1m(h170DJXuIJKcRNnaula(Se z@WRuXci7_Cp4AQ=Ou#QcGy3eiT8$xp@@;3(u*O*6-!?_Fg^R4>R~BRPxH=OO7QEbM zD)evK$)-6)I{GlhA{}NpMZ&*Wd|`9`(pTIZ_#RgobMYJmT8dfRuXUgI!m3tTOWMvBAjmJO);3=SYqCF9h z)QhxNi&Khy^RF3KHp1rdTQ_aW3wW&~%Enz&xzg)hSyhY1)>icm?S(VT+MbTm&Z%0J zSbXcy+doJc9yB3 z_>Hzo{sVTz1Y`-=q$}ef<&3!cs^G)UYb*fRYRfaB1xps+K+H#B_Q3qcngAGr0>Q+f z=EDmFUS@Cv)t0V}GSS`2WHq|hX!qLIkI;m>oKeFsc&=+QmWp_lBH@#}o`X|}ZJE(v6Po9;%RSO&FfOyg7j0yo zZQ1br8M)nDY0DeA+C6-^@`BgTTCh_H#?vO8xX{Cnpp`%?UgprDdTeaqUFN*3nSLmp zv#~w9Sd^>&>!#LHf#naRWF(Fg;McJ@4iG3e#oMs|K??yx)Cz^WBVaXp3WCm1a(Zs6 z-)h1F=Lk#3qz#k(Fav+xihat9d8rxK8YsDZPG9?ysnwSkjIZqL==E#j9p{y`lj@9* zq>6=)e7`eT;4xYQ4tJU zoVf`^+FRhu(Hww~`DSiNoI>0F}R!uj%xBND1hi6iQ!)d6hH zj?q>7tGXObh}TUUco#FbDZ-v#vtJ3jp#W}*_D7rIb^Ud56~iXann;tlUv*nuIu<(N z9L7s{qjO;g)_DkY>ZwN3hjzEHARz<9QHTi zSeTT->H_>hiVDT}Ln6_gR{);x7(40{bO;1@(ouA2^`NzW2>nI^k68)nw!{)(=m){%#8sICrjo` z!@%zOumZ*_vHVr?<{&?w8$?^8J>b`lDd;TNQQX>Dko>%$xVS(B3OZYhci>V|lI$~^ zozCRvPOQUDr`ar~6*^ye#aSp9xm>*^E!Z5i-PJO@1=o_+lEto4q>L_UNuFeJ;P8s= zmNEp3!C^^0lkYO0e(vdJSH7ZRzlZtcbGQ$tMK3G}YKkfk2jC?H#N4r{)DaDch*o23 z3y?EVmS{7T0iX5Z(L#(4vk~}?pE~s<(ve&SuY61|u}we!WSdy9{U^!Wexf^b$g!zS zC45smOmvVBas-($LgY)9i@Sw^r|R11huALfF?k?*pVbI5*d!zk5ho2`@$A_FBM_t^f%yC=gg)pd*pmf1%s)y z%w^QwDZ}oz3R7vm!zByP;*JRmKEIjqvd1)`Q9mr8jO{Vv5AN`eiOEf2_vd4UctwpK z?^^u>jsYnLNoFUU6aZM8a+t9LL^7ks{er@~%^b}gIW^-C9=HC?n4t&z&8Fwx_~MP! zsBvc+qlb=JjlT1R8!EfzPn_7MhK!}Cr?g#QJD1{*jqo26IRkBOjcZCQf-=G>*)7-1 zy-*sVm}0U;T$xVc%%?F{0v|_8ws*yu6BogjTu+@^9Djk0a|dOu3`W6RVqL+osxwb; z8pTsM0JQ|;CftPuX7{l26^O4WALdraz93#w*egWc)T5@>N#u0lfQ%JNON71d7^S|I zR*%VrEK+3|@N}KO(H0*Px5=x!&hHAuZCBZ1f;Y91duSPd;0%~;_TqA(qq8V4R)^N` zo3f#9oLFTxXdusG$h0~Q$IuA!6y@cKfydAg{Nx0YmsjLDDBJJv>GlSLUP1Tt1-;&& zu18S{Z66SV{echi!$`>@%%otpCV=_ODB_S901S)v;f^ZN-JL5U;?*H5_9W|utVk&T z=ZeFgTB4jZ7A95?bLN&MA1Dh1%F5=>DHGEX`v$g|a5%ayRqO^30aUOKF72pJY-)(2 zxS~jX{f54##5I@967Uo)iX3y+*^P~7pViP=I`hb~PYd0FfuC{gGsH?t1CWWPbNO5k zYMV1x6zZiOg_Q@jWme9^o>h_dVqi`qjuka+dLO*^IA>RP?x_hmXH_Kc%dGjY>UgO3 z13jZ{mEYsfO7U7Z5<9+l4)d-qU=fSFd;pHF-;h}ESdfeHFshdrz!-a>XA+nfVm3(n zN+gSs>{op6pgc%73P_34qIv1Y_^?c@`rtS#yqDD zd%&M3ma z3uBAhjQ*g{(0#=m>?0L6t8Mz36Tw#-4L(cv6?2VNyRcd-(+8!2enFJnGLgDvtfVQo1G&^t-HSe`gNm5 zcFtI}V#TWD@K~b-g*a`-xtDhvy+NO8;+fM?y)b%=bFV-OwuZJZPVtqyu-vgHY%Tod zTId)xf68^fGHsej$wjI2$#m~VtP3qT%M43MSI+5R%*79I6aHGf@rH(xv3`@Zps2o;Y)8i@7yavv^NoW8UQ1F?nFwf;q=6K5Eg$1!1pmWa7qqZa@2o zMZxptYwa!7J*OWvT^bBE-iDTYob_5m^PJ?0zqz7j+=YOpVN>x>zLxwzV1oZ zYSDoM9kIebsXYb_FYBw0#LO&bO5Yw-K1W#ZS+9;27B(%g2s+{bVba2Mc?x-0_|Sbs z+pz~3&NQtVz5)KO1DzpXpupiNt^*@|o!vepwyHMPJuarZzSdV_lmy!nE9*IB;3H3) z$2s5S;jOaF7RZTW(PzQ9%`W3Ji-*`zLKH<{TT5QUr0UPqIQFr4!fT_B6-|z=sy==p zMtD3f6xEtE^V>e=frwq+8lW>6OEd9@$l%edySK)njMIIP14=rr#P)bFeGM`ihn0kd zFNhj`oDk>-Ls2TB&w{E1x|2~t*)dZp670)OL5bCR$O*2A-I!w{xJDg8)5`+Q8g&ko zD1&#tL7ENHa_tC{9eOBJuhdkE$!ys;!fY)r%Y)FUPlrd>Fxta(td5Z4V&2!0xG}mv z+NhrowL&xG1CKPLL0gVLOBVBW;6quwLvORJS4FBza_9b@g*D%vRSO-5?>e z8>7)imQK2L$|Rpbd;rd7*1VM~^Q=fL=7g)3=h+03Ug?H-4DmH}#Vb)(CUC34Nr1Xb zIS_D{yat|le*C38KHdbhlhI2@7v9;=+TThA^zxJ&qppZ6*R}pEi+C{x5Zi@*bQm-e zs3Hw>-hrIlnI&*Am0>PObQZgsqj2P(lvP>mz`Vn+JLKLkrZIvIe8AT}wS!s7Q`nw> zcAM11d0Jk8Wjv0hge9oCm^>+tdjy}+lF?9@*l+=LVjS9B93qG{UM(Atw7^@KSt-X+ zHYH+ovF2AoE6i#NFQy{Lv>V;U2K)45MsaJ0ElQ>SW_x2ugaEK2GsZ!8!ANE?Z$iFMSvj1h(Mky#c#z=M4c-K@4z&sZc_eU0-s z0xau8`j9vcqJ_nMb3hyS>T7l3VsE9(f%5@2;}zr^M@-XjcuD))PZaM&A)Bav^D(J}2V><P-(-vXIXJ51u_UYeXclA2kH$vF>F9ntk9k_lj!6y4TFJ3WACcbc4?3%)Sj-hg1zMEyO2iUD zKInbr=0=nfPkyO)sk5g&+l>p{q59;ox@ili)g>QDb>uJD7vp9_y{Nk|(}Ozegq6c{ zS{-(GS9M*3p5oV+ZFy$P4{tGHo%Is@wb9H@CEZBtXZeyfsZ6j^OTA8=Q*;fq+lVt+ zK+x6pZ*|G4jFg&|PvcMqer2d&FT!BL$?68|O1ok?(_fusjyGC{SJmLmg1i-j5<69* z__WXF^IQA+tO0fL*?{5tk--C4+Pn2+zje0xCkiLJ#gEn9&t(NIT{GKoctLK;=$Y+E z870=+AjV9XU@{@VjF3Jh7^>dnPUvyE8;!<^6OG2kfqVQub!Z6w2#C_uga9^}3bD=F z?2fyGm2Kko3F|)Fu>*&2eX%pKQBLU`C^-7-Cl%NEu~sVI##|T+V|$-vt!51YOK~dtn3%+SgKSh47+MkF?#0Ijwi7~?C-}#@iLom z)M_gbj3Hpn9EMryIu(B~3RN1O$t?qc7D z6P6DjHEQ_s6aJNsY*;#PPIF63^PG7vrXyZ8=sJq&Jh*<%Nd_jBmEofE0qUw%4Jubv z@cq++3RX4935S%a^QpPXD4O{y+>$%hfZVRG3NxOAiTqn=#YZbYLQJF#T+(nl2rUM~ zN2ve=gND(8L8DlTP?|LAC%q`uoGvZsJg}bJI;SEWFD%`m&>^BD#h>tHH;;R_egzIG zjL1zBor{l;gu0S%Fh1x=!9-BEf#oT*I0h(T20PRYl|?*(SPQcPP)Z(7>E;C+QG%_@ z%nX?02@YTpAW^mjz!!tFYFAIeM9>V2AYTGvPdKl!pwV3wYzzeRsseGdCE~3%9lDKe zyetdl2W?PD*G5Ns>%5hoIuvH2EnoyQ*X)Oi|$g<`=H=@8=r zcH0$4NvkL+^IG#n>7m=Mk~f7bjpk5k#MR`m*{9m3;J{~;b&z}}0YtNO)SHdwq~=6} z*$mM{DvlG@qK8vsCVxHCKP{4Pcl+{Z_@|ZU+w=WvX9lK4T!=UjL5kbwoE4a=@|>KG z)RxZjagucVY7eLJOvaZu?J(YZu0P&o%MZJ}$rljuz@)$RpckJV?@}4BN@Y|^icQ)s zSiAYO*+#J7({Q-hS|C-5Oen>R62f&66kI{ZFav%{aoUjHFrAvBK`>2V!Ry&(I8v=< zEX*-qm80ol227W{(&r1M*WwBKnN^q*59^Z}F_8yL-fYD~b?m?mQ@fhwryU6R&1RMy z2P35y6LqpNBogr3$Fso1N6?E_MS=LDZw2L8yav;+qo<=E0l#XL1&b>e$+xBmY>im& z_aUBEBT4q5{Qff*50ok?y^mM7v6f%(Yu-=7T`Q%sC$xz;_(9rr{(3 zwK%cki`aaO!|QeMMcg{Dsko^aKe?*7si>%FvZ$Y0|11K2r&W*hgM-IGaW;nqC*GNj z;;yG09*^TG{&K6gz>A+)jE{2*DNe3BN&kK~Zsw+n!VD z`4%)ewa~LRp@&dfC@(P35cr}i9jo%k(f#50JPm#8Y+MVP-EBeHu+?sV0?wkPX2ZIa zd)wBnsohlT4CYe!$UR}V-#c&KJh5mibTCiCSJsI=K*_(Jn##3xYwEjGlYhk~Atw|O zPa>nZf8PA$#(U>+8wr1#2wte^^U!q^%@GA52Ed#%XjPN<#m81X$;0_%-Q;p_nLl*x zwbzD9OL4Yi8XOMKm@RWww*tggx*>q%`a&KpyE&XnZIYz9tJQg#A% zZBagR>;R*TfnKC^3T*_uTV4_Q1qG0qP154Gzv9A)Sbm3?W|lae&fO28xL@qHI`%t* zc@|r;EiVvoiv5nDLAu2Yd7%4yi`tL5@w=4qf33jyMU6rh>RtG;} zMnYzemP4fWoA{_NKGRucf};*MGIeTETqH`d6o?g8zvVS{z}eDZ$0-$F`)Z2;j&x78 z8^iF)aRm*Ad|5x>ag+sw^}$wS*tczp!RE-bdF{`?r!0*R6)Y~RX_mKYMl;-SS{#v} z^NhT3(18cxaoX}r1{TRLty-|m{=lz%W$@1_gnjzm_mypN!Li4_y{Rb$-!2R+yBM)v zpOs~LC(vpD68+1#7eT_;-HWv0Mz8(pHsw5ohMt7RZ6D-3#I0TM5<3rVhL?~-=uLv3 z5H};&O$a6x_7X|~c?=rjMpGinnw3%}scFqRq?nNjn7iC$hE0#7{@gVC+u?+B}=jb-f9c%}@_1JIzSRJ%js(qMbTV zqN2)`1C%hyTTbv(T5;BI>8C6vdvH!6wy|-JUY=ZHTg|l2Qk;={P#G>&^1syQgNjpH z^&Wf*M>n`<;~hAo(#~l$YVQQIKaXiQXhzr{>cGv-LEn|XBecn^C1LFkTo_743k=I_ zmJMKt>V;snNP7^9BN2&4%<$lX62zPO5D7eM@fl=b^$ojko?KTqeRJ2C&5-6?z7p?I zJ0}|rE| zV8a*gVv}EfZ>g=Rt`!z7n4h$J!&-h#JMYv<3~^~;pV;RL47@oKG7S`0$vZ}f&6P1B z2JSc4*3{IRwW5fZ^II(KHTjx1Qlx}~C$$sgHvqy|EImiD9~6T^={(x%B}5)Gs1UT4 zs((6Q5`aLHqD%}N=5Z7TqxWzIX@Ub=yT;i8Dk!28v3L}mBn%YIL6aBsqYdPxJ*Z8p ztB<>T9{Oc$Ic-EN<}L9he_Rxc6(Kl} zJF(E!)@q#6RZ~=~IX%|8j*hyvZ$_Wf*)_$|(jtCl(P|3-L5d?ZK~U^Q zvYiivR@-P8>#^Bq$L#%lCa0PTN_^%&g(GhYxfOMLLJLEx4M6Ql;1jr3rSn%qqr2y5 zYVWYSoXuVCFb?d>d-rX-$6~QN!<`S=OY9GcZTv@gpoQ^UHOmu^*$wy$8GN?zK-Y~{ z>y7e+6cr7j*8#OLIYYQ~lAmV7^m@`v*v-nqW%C8BAAQ8Sez;XW0g?X+-QXn;U_K5U z4`Oe+@Isd26~i^qxXNT&CA)d*s=pZVN9}I;Df$+{34}Eun$6JG48tllhW!&YcAo|< z&%hceh#8d#@N$K}-J?u|Y$jyAE#H;N5YmV@jthczNA-oqV)u5t2h@g1%yxI^XhYCt zGX6F{f8f|Y^>2@UTXcHhjCoyWjGo~?Juqgw_%PpXsCK~f=XmwuwB(&Q`ACR%L$SGg z_WthffydO%Rz9;lx$En)uYWPCY-Z}fEXE!_|0e-4f?ZxS&^!oRa;%uWy?~#-I5RR$K#unjP$KGPwoZ#UkoKfyJBM( z!ZAkqRHk z_z1=Wzt>jF=KwLEf*J1>V!bo}NtAVTE^VaEw3Y6phk+y*aaKk%JDA=v;Y~;4*_YmI zH0Kj7o2sQhQt}0_(cUb4vwG_E>J8yR<4pXOF&7n^!xs74nBwgKU9+~ZeKPI!y6s=3sB=tOe-Ii zsXaR5U=3b?rFku#Nf*#nIEwu?x`!U4XX#~ni#`U5q{k^|O0{IiHfKiVWT?!JX-)2ZI znn9lI43--+6MSHOCaTUJ0o(_Dl19SRz94l-2l8aA%Epqn>di=(1EfstLrP(3HtUv5 zrP)TMcUvSM$PRQiCU4HgvTPjETiTC%;L&V6g}T{%V%i}u)8}vP$kqY^l|i@^4yJH4 z2g&u6oUfAhY}sOZwoXOCbTl1I!5B?f15GccYg6>==|L1Mv*!!+U*G(dgNCftNm06J zHky-~gQq#@nIT=d4q`b-#18!FMd+~6oT-v23v>Tq1X-jbL2`En1(|*wf|p`Z=F1!u z1Y)MM9)^%TlKten3~uFoGJw=WDoT|j&(Drg3ONoL$L!eW#14yI+4rfkQa9jkCVvjO z1oCCj3doX)XJe`F;bfO4Y>Y8k!ge$qUDi?`-9-I|#}xgKGphA3he+fsaltIE8&0-6D!8I~)vrkimn)413PR&7~M};$eqwaPG{=wsUc3xyspowq0bsf$f+j3)y5&b0#aspjHX( zUDhB~pRzV`@v5ELr{HIg2>uf)7why zKrIrM;A@Gl?%JeRx^EIX6ax`Da5NixFvBiY|EPYe$r0jmn?$*mGFn!Lt-(Nf1%5~M z`f}$?tqs~Xd#BDH$Hk8SVRL%hV&S>G5S7U7EbC z#_Aq7X+KR+26bKC5I`H_qpX#gSJ#N&y4t)7!j~#&Qe%^gPEt?MdTUf@BT_r{)yB}I zLsP6brFS*v&}cxiG7h}@sBPOO&1nxx${=DOb1WHm7R&^T>=)dg`Q>jAfBDbMFBdP2 zw?X3nP{Svo3VyAQUs^+FqmZT9nOlPv5~yPc!iWn*nSLTwDu6S;BH=^G7_2~nGDI|51I?E#W(E3TjQm+v8eRnQxP(Z0qSW-MjX_ zqc#WSz-Ug{iE|rneBcuwym`aM8}FY!b;aeY*DTJJ+ubW3vZh2@wVB)W=lVgksT(a? z1#`waNDu4aLr_^m$(c%IZ7#LBQNP_8(onV?0)EN~`vmMeNcJ!sX$2@8gJ0Mvpy8N1 zGOAxhHPf_@Kj=a#0w+qaSO3c4Ls>V!SFCaAe!uP#BVK>?4|cw=^NHu5@7({w{{`c(Yzk9Iy z*}H`AJ&d%=jNaWqdm0cV&B9IzeGLx?7p4ijL13HAvJi}9I5l~v4x?C+^q;7mL;)VQ z>)5$Z-Vx!-==KP#i32Rlmj*@4I}j)Mz9dxHBw=dJ93b^IcADlj-evQTX=25 z#Z=?SIT>A#R-4gRzvUkQ&NGAHAISP04gN7(~MsTjRm zzqh9%$j#U7?_IY(m0G{9*Y75@UX**>g%()B_H^5S>fY6ZII;pH(NH+&GeViXwULe( z38xQrQ&OcsDqk8127|OzhJvX)jMm;b#a6`pA`@{qbf>q_&xafxk#s&2GJLskC}3?cw{v>E`GVJ}I~8{~UiZ$^2;#;S7H&zbq>Z%>@-gU5&-h8LWsfU`I+}^In2_)oEn{WmV`dw~+ zDT|P@{!%8+IgK@!r!vrGcmfo7;*Y{~1($GN$Qwny7(YF&`nZeVP>*Ly{RorGmi%s) zKZwwX#xAeBsX3&(JQL=o)AN41#_tOiqF&qpuI7<|&*ShGn!R3^*XSCkc-XpEiyz+x z_gb=tOCJ!LNKA|`A3vUwVGzTx0jn*9>cHp;?@@A{sHhD}nE)d{2xYk;=Ib|dgU8=8 z&fgo?s{=FAMR4PK6~(-~*zOK>Be`cYp-AgVa9O?FSI1j?3}ai3_v+(O=5FUq<`0&`V@A zjLhutjNK0uVuyWKg=oQ5{(dYo6d|)7L5o;8IW~ql3cLrDIj)u5<+~6_0Y_^vZp7?U zbUwT9z&(J{rodSk&M1`mvc%5VRA7_RLcoWZEvw{G+$_Y4;H~ULj&JySY=$H7>yKq3 z??QOKapcZO=2#$r-8+xLmFbFiVb>5}44jG@`}Z5sQ-S^aZQB~W=i!XbA9Hl0%>$=w zcR(#Mbq9m*A1EDLbPIVqWfG=ds32GX)v*3&+Nz&^WepQ=er3(T`>VmUhElGu)>_N4 zPtO0L<}nO`C04DbG!o*PSJq+{moR?3q+(1@zp@VSp#x;e3TbMhv>D?_2shPml#;wy zngSetmD#zi7^77cB+p(hCOT7hf{8s;Y*$&LJjwsy6LPlbaPpK<74e`@LjDGXJ|{Ct zd>W-b+xD-epg3uv$lr1tVHUqfLOfOhlLRP>7FQcY6#?llB)x~YoE!{aoGvJda;q}1 z8HHk;Hu9l3XE^!d$4cFrQ#Xs;_R!a}i1j2&!3vknQ-Ys7rHlNnoHp|j?8>Z?IU`-o zQDV(J{g{zg&bRnI<>y!7>_cCZ^J&iQi0ANhyrOtUJp@mxo>ou6qwcBQjc1wUTV*6y zqW~_|O$iD-#Z05Ml>42m2ZRc6Gq>bUJ&jl>4@8&MK;qF73)`g1 z9_&JgK4!Q}qo6n0Ao#XYeio9>;D$vSolN9Kk}4I>GHnbm5E)Q|nxg5A)6*N%(I$Gc zO!Yq+J7a-ZU>g5oonMsUo#G*Q=00>4Ivju6*KzPP&b_j5;ney>V*S*Gg)6C1H%HRH zeWGb#FcOH~a6>c@860SmUa}q2XKljy#n4!;qr!xy-|#R412WqXMV+&DjX{G(P5L!v z2%5{joo0z{b}(bsP0B4+Y5Gw6xPI8#OR0(|CZj@5XNee=ZB+ao#7TNudgcnxI;v+f z(B2GpSzZ{0=xeDEPOx*GN63?0W81OcQEa>8;XB%j#C*4px!_HbeQ0=1HSH;q~yM-sABm+KowO>k2rkixm?uH3dV1iZF`xK1?5mt4l!8lIYWk37V+VUhOXxtt0=8|l znz{6qW`Lc~0S7TX-Iy&A|3P|cOja(qM#}-_4O}u+EE*|WR;0?4)>iG9rXy~59tb2; zG_$1Y!_(7ek*E@azzm$arG8Ip&nH>;p^r~kTeV}=&y!a**uy&XIsVR^Vb*n4dw`SS zm|=pHZ)p^(*cBkArDB}wR-8JC&eDJMrLTh{Ffzqq9&wr`!bp&N#7gMM=^;6@qb=MS zW1}(x5NJg(@Ur3vwOg%(lh#Jns0BZZJ&W=Th!>X^M98G_l>Rnmh~z*%fKbs3IV~bF zMOt%A6hI|K0JOx8z)mbdPG}eKl_$PIUa1yy)Dc9%o}PUg0u|aI3j{Sx$fVOc?r1ZQ z>3Y>bzx1~97>kecS6eT#w*C3soVE>&1YAhlHaCZyTX1=dr0?_~!<*1_r^|sjj5v@O zO&G4~mvA^Ebj^um$%(L2*Kv?JYt^8nB}|!2kd(B9)$h4krkELI$6>v>8q(7dr^oGZ z(bWL%Tn@L_5iwj29Cvu>xI=e@aMa_(QTFSVnKfF0)D9!=U=k|iE`&25CU;R8;35@- z;UV*zt-6Q}1Ah)_2q{Ou5pW_MUyE%zdX*6bls`Rpf9VgF z{BuFMTTP9gMo_KrY^1qb}{ z?G5}3&qPUGDbUs$K*3iMZM7=uAfz+oAlgU{Ic>+d?h75&Z89T#(a%ee_C?GL<`Bmu zO}IQpz~km|MQipb`r$esL_X@rwEffVI z%^Cgi!IbzF^;R)M`TNdEjj|->%oN;GOs8=fhM2|Tz8m`2CE#J#us9AY?POc_0jv+`M>ppiHA+|6>mmp#10_jyVh?PI@D5@q>^a&a`Sp2D zkU}4KF0rLK7d$q^Z&2+u3_OUmgeEQskT>7KC}}^#DAc{cZ{eRLO4IbTc^Fy6o@w?j z`L(s^h)1o>`Lot0&;R%9ClD!`fKUG>%==e0+}!XcSh)Y7;ZYDd)zqd{0W6gG-Y7UC zWl;plBL^O!dW6-(ER~=+AV^)Jx;7NI%&AJ+MzIeV5)eO>q+XH2X*eR!p}TQHH*gUW ztWC8*g>3LNQ2=HwXv5})uk%}Ie1BTOR#mhp@)tP_WHCmtB!VgsqU?TDN1k{Orj22^ z+`dG_XSh8604zWtZ8t1QM#K{~XzTSJm*I;fqBzl;`AZjSl6ln`QBTO_bvpGDWd(yI zOBuq(=H?JAfS%tdV)q4lRRHe@j0RD9oqys)-XA=lV8VlJNUV1iwxKeh@F_8auE%KNdDV{^yW(MQl#%S55@vNo)oZfyMp#i!2PpvGi7 zf7ek!-Dx0;PcInHy6KIDji!Ei@pvjr_wQ*{q>3`oIz;iW%mHa1 zmQfhAG-jS)pft1AlerX0DS8nzhB*RTDE$v3Ce&R-_-&wy38d*=C@J@3-PhCZkSmwX zj|IK!uPnuKX}`}Ubm7_7JCp4%hxO#q%ink3=RK4SSgcJq#curDGp|CtVr(XqLQXli zu{LbDd+s|LD!3b4ibX_IDX%+8yNZGx!sYkl;?kAtjNn*4n{$TUy-2#$zAF3q``&l? z(InefXL>gOI|BVe*UWzB##mD<7>N{`v+hFp=zTpdBfQq{aUsY{VH#h92v3#fHbDY? zD<%TSn0iPp)W~GP_zJL$3|I(i9y91a%l^ZQ3`_c0P0*dxft<~N z;VDYjS8q@xgbIlc!50yS_d%NKAN1%x>~3JONIa>##`#D0{q*DgZvJr`Yev;GG+l{r zzv{BpWFqQEK-PeORTWy^muTX_&(o1~Bm%5HPjpNK0>g?(iE(7KH*PQtUz5zWV>I~; zJdjGfebR&H!6sbygFBp9efd?};_cHz@EDjI*g{X6Nk^VB7b+1BZZ^Uguf9qJcjqWT zeB*aUD$XLO-cR72F##h3q%tB2&G2abNzSf)(hJ+NSt0Wcp|A?GA*v-Nc)%((UDFW5?ni6W_9Um$kwD zBO~!sz}W_gF~=k-Xd@Knvq=0by&7~Wo*=(BNhQGE;JQMI2+iD2gFIttDwDv&C}^*E zkofJ54!kA)v|WR=TWz@>S>gwH7!Pi30UeEWy?*~l09xPUL~V};l8%%k86dKv9EfHOr7PxY9b*Ksi3&jwsMPXF0F5L9eYXrIgjw$=U^hrYSDvh#`d!4CPy3 z^8ph9nTl8GcbpBxs%k!qZ^Z&2Hm;M2ss^4vh;_XoU zdk6LgBN6RB{FJYLx&8XrUC>nM5|ec0{LhdHFCFb))lcWXA;KpcVod6^hDm12eo)Dnbl}09!feP>Vj28O?uLs=#uS3;CJxM@xDW`o6p(nu zT-64F3!(|pG-;}tAI_MWeCgN+7Lkz9bl?BQN=jumlYb;N#eM1a5>V1Wsr z-R^B?&Ht$W7Su7B(x$wO}t-E2Ui6*w$1fy_9kiR$Bbaa1x_76Um)K>js3~yK*CwM z=LZPTzv9DQOVk!BLiwZwSpG?(Fw(_EeDl_F*P8B=xFb3XpVlAxfer?ZD=!U2XY9V( zU|aZ`A?Stvv1NpX0AjfUkZ&(k(F-|qCMZG$i?!N#DP@CDOTUdOP@o*tz?o~P2QAo- zau5?cme#ry`i$K3K#`{SfZs&fax&Gl)qzdz|3R$wKd@YPAE2!}m=K2N*Bj+VUmCnZV{FjR4LP^moQLY1twre-wSq03R4gT~{jIMCK-h ztL9LFhN8fji|kcs^2vl#4G!@jN_~w508gh!uu~qMAl5{TPOi|`8OS^yH98cRgRby6 z{UU9l`0ZxWhJlk3B1$l6kU-L%G(y$y0VG^q8;KXWOWS&f=f4M7P_zeA&hBcrHfk;_ zTyy?8t9Z?iabs^9sU!$1r9|t7&^~Q+GTK6VkI|`k^`f0>4hRCSVkDLERTn{NPkgei zx3}$+Y6J&~0y-_ccD8HN1A&kT2i^ra1w+odx)fmOwbQsG!3+{`GZJ2h*8q~sJoR6( zLj4`GTu^q*{S8Ms(IjA$JTO&)U%(NTHCj|g?Ht2Js0?n$01xivwvC>MM_f)6`7_*x z%kZYP)VX`UwQsniDjY~|)K1f8Vb|ZuH%c23myR2K%o+zV;0hZkhUC*;CxRNYKq$!q}Sh0u@wy8>a%AnHiWHB1Srq7_C0I+xQG0fvrSXiN(9L2QNB`1?82 z!w|dFG%ST8+TaR3`P?%vfi%gt(U z*K5!OyMO&ypFmyEC`GGNE?6bM3`!ZGA|gWXnSb1ufF~-lfNI;ke!qAAuf@~iR&l@y z=hXSjDUGK%;EE+c97AzJzaf79W2GmBx3*z<1L3r#|D1&u`4<@45SKvF9HA_h)zC zbI;w{yH7ZsM~*n1C!BHrcl~ka{1<1$Gxp8~OKt!)Y10*MSR?zKzl8Y zaH3!y7i0sjK7#Xk=fk|J@`nlbVC{#8+c)5FkVS0^s<1%umv+F11tbdr0ke)3-ITu* zmT$|^3&wC5q9_B9`S#!eunYt30Z2r7PMtOK6oW91;}B#3D>sSlXYCg?70RYfUDe)l zwP)*SS8sUBrCY+iU87q)SGTmAt#=-wN+n1AxlIQ)rW-fSk6R0;Eec5GG7+6tY=H?K zVd1ybtm^61x>OoPzmA6XT{1Ry$-dB0l>JKMpz6J1B(kOjl}grBP%CF(&+a~3H8t&l zTHry|kjYPMVLeKopzb!ac^o76g5PO}>Jz_G6^;aibvK?(f<5hB z+pw^HG15yBJko?bUgRAt3&gRFs)R|1@(xr&hTWR<6VMap01cgfmb|y-p!1!6;Usm% zSr1GS4$gpfQn(G{UC*)4)m$KOT2`je-C>Uh_FR=A+3bY>#*lCk-Rg6c#fnUxX4C(# z9TN4PLcRA=L!vPceFq4n1KFp@E`fDtD3wt7_;AfAkwEz|XiKgHV8VFPX=W5KX+@M9 z%QwU)wNP_wb4a@{))I1OTg!?2T-#fRT4#_gQrjv0G9>Xn*4pU0VN#D4;_*UM|6roj zmi2^MV!Go4I~vQPwUKj3ezKl?B)Crr!c)-pD3^PKpw~b$Hpp9SKV!NfY1jo{j9!2U z_@5_NP?HKS)Ibu*Nhlizt^xH3W9vn(m|7!1!ZGF&#n%0f) zO~yovXY+OIW2sbZE|zLSG37^C7z0SN(rt z$&J@-)_%m-rDFRxZ`wQeuyJUdMS(BsAA?>WK}$L~VIt6Ks#ZKC%iL(Gf)04L)`C-Y~mr=gdAlt@EN?+k1NbI4T4Le0|9gjML_!u5EM^dZxoE%F6JHN=)ERn+<1i%Wn6`N zPrRwMuXRH!{`y*rBCBsC$&(=1Fu+6p|h#=w&+r#cN0lGqioKIb)8x4zn{A$&hAfbQs*7 zxO^CiP;65{?-h6|A_hb+gL}JN@R@P=;gjwvnFAh-WHs*vZ`tue)-c9Po8Nb6?_?++ zb_EVzb@GdsXC}9Kok*!F_FQ(s{#7G>EulRIqjT63H4u8}bb81lJqERp1|KR5Y?O(} z_8T`fl1<^WAG@;R@@1QSgExHb@29trgL`-9&fS+qvMRWPs31cNbWLwr?ua7OAP>#U zjgxdVBJlEMJ6{?sqwv|Js7^O#J>#KlfWbn&d}lN5_#<1~DX4y4A4SZZg}cMd;w0n? zB37yHpZLk6n-MD)O{d*g8pbogMMY?Fit)wKsy#i*^hk?q7+G)1SVGMA=JE?*%jjb= zgs@8jaS+a5@kuP?pCXw3PKM~UsPyS&_rJ0EtF;IIB@p-&fd=m$qO-);O|M@%V?GL( zJ_uS6CK|ON3J`}J;U;xTx*3lGW!4Qmq5AZ#fpR+V5H`g$Dpm#p)xUbX(O5Pf3IxQo z(Z)>SG5sN6WGQt2B~+A(v=}UL_#;mX;s~fbCgN1#5Yd%DfuPufSSsfqm(Kypxf#f;d4h< zFO~Ft37T9giTjciNNS+;mnYZOmWJCK?neSS9!G_A+Jg0m2;L?U9L{CzNw2J-upXO2 zFvJI1)=UdJ##sra3Df+h_8~u*t_5I`BsrO;bBw*Z?=Wo6KYLshMszs-!LL)yXAMLrp%W=j=grB7r0 zdErX|%vSC`k!Na(rcL6AVf4uCLWyVXHY4Sf29xqAvPdIuw^(pe=4lW7-K+y&oSoHXT2thm*yZ@ogl@eNj42K_K>5*!phOy&146t^)&kx$@@?kL|v|5wFrYAHxr^b zO>nzhBUQ52Dl+53=6Hsj=%f@Uqcz}(%3&rTv@=ZL^zqx)K1enYT+}+t4q+G|cp1qk zR+55bR4c-F!G19LC-9Yp@G^>lDyi6*CE8VhldMA4X+FXtB-H_K&(}M+qB8mAsZ{bT$)!vUvE#vK|_7vWZN2J11=YkQ5{WnL!WKBekTAra>`nY$+ z<1izoXpEsbBI2Qy41^5Rrtvd}gy&8xT%a)||4mZ+`ih&QeR?G?ZwfJ>q8JzuRp+J^ z075QAUb5~G3|m>j0vE{~_lGnTk@d~^0-4Cm%3zc=gjAd_4mo1!q~Y3t5(q#pW|t#_ zb@$p{pO)e^^!m$PjCHlz!OF*ZB9^f@)5}uCi*tiFpM^C3((>L?9Q-D+th0Xa4KO<8 zLbkV#K+~jZjJ)ic>}utG&dUxfO3UtWP8Aw?#a&Gc!}7bDX$rs!iG|d9(-KBRm`=4EA@&eUqSb8;CfBx zep3nwlo^G{@h#Z2cgsA$-1w$MRVKTc80d+VXF^JIpNb@5^gsNmA z{OeqeEEhMVva2rGn{ev}N})Ub9YG^(+~FGQIM#jb*$wf4NAo8$afc@~8qGDjy@k9d z;?Hc|((4F0QT3*&{fh2uM=#mCtEZ=Y?g74J^xEzXa2uZPoJC51!kP&cNrYxYhd84RStJ_>E4%Q$EGv?Ts6RPa)#)p{q|3zwTB^{LnUFX#RB zg>#JxHStfVQyCTM^Lj(Fw``pPS3=a(;ts_#UiJ*}56hue04aoS{~D&6Z$gTt66jR5 zh03x*3IQz*F~SBd704n1*kmpTRi>y?9f>JKn3$PPpcdrVP85k+J9IKkn;`58C4ABw z8js%c))QO2Bio$gt6XlXxPt6Rf^v5B?7QmnZDB{$Ul|P+ivFN5l4)Q6>Z$6wa=bEq zHGFW(Ef-x_C=DP9(sBJg;jYAST?>z0*c#n(a%144*IX9W^hB{q_jWWEQ5J0Q&{(8- zb3ddY_v$^{;?8(FfxwX5(bZdC^V9N`m#j0!nj-l1R zZ*;pGzw=A#n5`!_`bTyhn5+m^ZU(jtq^*9zxGwA$LR1|-KxSzSF{Sug)LKvg?D2^1)}~IgKjbv9z*(SZA60D}-s)Pv%AbjQ-O)g%S&shx zE9K~St#z#G3dbCouy6B0eQHwZr-uWXqA_jY7NyM3RJ$6@~jfmzo19#VNQ38{d6NcFXq z{PF7Bi_3zdq@Tb_K6H32RM1(TJU(;^7~k+bXzS#`GsBTcHZ^*|^IwR^QsxJW$dPmQJ zkzn&gcXH~QS6@2jUNsiFVB`#dn(9l03!(b-#J-7u(6BTADXQ2ONw;p;ziUmv5%HIL z*R=l;8Uhh$AFg<(*0%kU>Gl4>?aiTehetz~p4cYdX+ln|Jw5D~hhk4C?WSiU?OXc- z>CrY!Y}ZJseT^A_!>aDA{%Ji6)7%8wy&JAo4Xvgw4l_6iQZ1@9p1?^=^&4vjd@^7* zLHkCAF@d?#ABE<-N>ttkwwcuMPy#)e&_6X$LbceLD@LcIt5-F>;kIK&cYhFJ7;syn zO7{bXAuZo&F?Q+xAljNKbTs8=X8iss)S3OyQa`fziS4gB5?enJy?ipb@9;XR*iOp) zR4NuraU$|`q;Gq;zXvUJR2rK)s;8%u@%Xg}k)4`iTKu ztTBr-fnv!q(`;4zDi|tXuKA#{>fZ9I0kxZ^`c*y2`Xo zB6^K)nI-`glVvR+C>jKSPslbJkr7Uj%riJla}I~6=|?^zBQ~3?^6*;ZjYOWzXgcXO zTB7xmc=j*_VnUWxk7r>tz3!cYD7? zI)^S93l(<^Od=whGG0+!CL*E@kHB3eUyh{zvW_&(mD0{vy?c&s;^Vysh&6MR?N69C zDW5u(WE#ZMvJC;zcQo9`^hu2;#71HLDTtxU6kvnjt)B^Owk!pUFHt?X657>kcdXGT z_h2o-?xNh@NP}+%U@C&c$tsKQ^oohtGA+D^1`dmr{IVzSt)cMBqps!!sm`9N9r=q_ zM9%a7TJzRs!u>x=!rjT(^vdO1)*)E+BwUV`loZ4yS{VoN@0CfokCgZ2QjtjN6wHLD zXd}0;Z)(a&wWLa^mgFlFa-WO^a;Xg)QV2LXMc=u=15;D}LNb*~7N{d2=-sb9(hvk} z4VefNPzpJ;cA!a1uuko~6PU!H`Y9~F>qRPz0OGX~j+`z@53J=);2v_rR1^5n+E8KJ zfVcp~NrSrXB+D=ov#7b75!siWyq>Kj6!G-!J8;#JEg@EPo&g#B8)speZaBJpMTgx> zrKSVm5{L+?m#XhT4Sf)u*ldw1N!Ma3*~m%{iS{h^lG5XhlhRWs+qXgKDKJ_>I?prg zE!ou<-r9SncWbz>i{{7lOsxp%T5~dx7_8~>QjYYVl1;uRy=V8fIHM@8+!auJsvjOg zN8oS3^vy(g47h#G@?j|eUjR#kdrB+nxk8O&2e}{s2xWf65=jsuw7+rDN7@eJeB?v| ziz2yFsfvr%S4-faFpaEh@hMjdOsT@`rOdlPB@`t7a@HvCyG*o3(J9DG~CO~D*GFUy`Cxm>^% z&WEx%AeTp|j={rg+qd<)MY5C?&c0^*>IfZa{q(l59!*1mb!A@rj%#D=zyDZ1o z0kM|bP)P0*=qg?UAxle}eFZ@h6|f2tCpgZ#Ee7kng^9x{46Z$iUIbCNDbkgsHagOV zj&Zx#%Nc2WdZBs?=@+bYa4ExD{VGuZb3h8K)U}wxxXG#t8UFDs_5&bT2}1(Et+&!r zijtqcNIa?{6Fl&TLHMgX)r8b}`U7r{f#3;RbHiceB@h7wQ;>^4=Ou9SHR4iF+#d*n zh;-c*O!zk*@)S$!Pi*sckGc9gJzhj;1OkzGxe=qYr)RLEF9s1f-y29Z23)b0U~6Y$ zbZ1AL1X7iCM?H1q1#>*rf%pnDCAsTOZhV>AsjQqD_r1cXO-} zk_=u=Wb?x$V0Wxr6ZRFd9#3ZfC6&-YX zWYeaoJd9hBoUj)R($Y&b^a=YYVctmBu5*l3#l3LaNyBe#+5umIzXw}U_1moh(VU@# z&l-^avF4mNoeBxV4@VS?N8f?NZGBPTD=j_lmOKK&0T_5agHVD-_JPnbB*Ab7c2(c8 zEzzOepSOe=B@cx;i*uxf1k9EQAA=tTVY8T>IH)mPnzk@{e#;fU zL{hwzV}L)GdLb_bPp)N?TS^MbJj|}T+rUuu#LI$|}kum!p zTAA!4@tWVk2*7yFNgn9~Ni|H@(Es`!bhjnNeHMtv7E~jVjA_Z$14}~+*_9}|j8_Ly zsG&SH_5?|$GP+>hsGO6-0P#66BHmKoG?bHEz51Q%TN&w*yoOkR`><=g{Z(EMvYktA z9~;Vv@7X&8Z2Bm(>CoX5+eLP0Q@NY@aH9G?1^6)6Xddlu>O+d5{f^AOIZEz z2&{4k5rSjE)-NluN|ze+3*-@9`ps;=#Sb zlI_l`kg_~W40K3Jv(HoNAkuG%b5ee|0MZt@u%iihe}KuNDgdIQa77*$fwdObh~KVU z(5>!sU_B+x*Nsd{Udkc|KUhit=JAS&VpFI9>#5gIv%x{g1q+>Oy56Pz1_4d4LF%a6 z(VwNZip<)DxFwE3PPm}-Z~`w5TUtsy8Hd#XRLAxKDVc!yRBS!@nZy3<9&nME1f$jf zG8PUb<4!xruHy^(iGn+n^5_Yq(8{QlAd@nhle#zMYbh)(f{1-LUz5O!*VK*5+=^`m zTt+c%q(bfjy7vKpFrIE&>o%J9HRY;TO9pK*2(34lLDJrY?op?Q3a)Un@G2Ujw34@b8`{HxY_@6N-z>>3SmgLEE2>ngF*LDHOo>hIU<{QqhFZtV z1x#F}UTs{n!oAs@!9<#tZ>`c!q0~otYWJ!@cKpDB7QfE{ zgMugB+}IHbREAPsnzNUJD&C^HWCdm`u_NeDx=NE5>|2|N=iJFmj1rcKJkp{%Wzv^S z-mcEB(-B#20wl(B+dxfCex=7D_);L^}i z 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%0Arxd@288ddrLH zW*nTVrOAqA4Zc9W0SpgA<~M}k!Scd&PC}xPubIkv*!~SLD{f_*1@#pV4G#mJNDJ3m z*|~4Wc(7&lg?r8|t1W*s1PhumG&Be&M)gj0{`Do#2BA6T3{g6eSKMAgQ7NT~jH6*Fcm3Jwps{+*T|0&nPPq zco?L8a1xG5#)ZK%*wjv!7ZpCG7$>CJhyiCPA%B1yFu_R7E#5>gW(X-$0dt7o0`bG6 z`NIL(Fu*G6)d;-P1&u-RWPAK$UR0crUGNTWaeWVQ6ME03m_2=zz`?`SKnPfg@(9|L_pRfrrY;0 zGD-rxMs+q}_uB&MvYxQ_3r3X(9QQa(Eipe*;UiH|M3(~z!_9N5ABSL0`RR%vrWG*f z?dH|aKiTvpnizO=Xizzqr-7@(Zv@ z^TZ$&AT=Wzoz*-!GaDv;g*KGYAlmckdBFAJ`7DOPh^v@DO5hJ%uq26ljey&0a8Mtg zB@ECWKJK!FZ+tp^!(gN5cC$%L|0J2*engij5>bPqe7`=?|NNfQX`Ad&i{75mpJB4> zYJG-msB!i=8HAa{#Ct!@is`1>f&9D`7_ec9Q>HmZEo8r~ zT>)zG`h17$l)%=#*L1&X!x|00X-~QGv?!aX#YzwIy8WgqHPC>86mtVmB5E{nr0FZ5 zftgiO;S-4PD=@(lSvxTKB&u-|LC!2}FrW=AK3lr02M5pzq9RJu$5AAW;c{n10W{-8 zVa@}vzmeQvH^G)OKnE<=xUTl{1!KTek7~xKnWl&rV+*Ci#&nE2!~sK+nQ@9{p4Xg) zy9QF-F^3UgmM}YKO9FS`S_Z-b+2EdP{C2lu815PB!?&M9wy@g5!~COEB!(Xak{K#I zy1_RFk=#{4KXHsqx%StVVVWds8WrxNVvk_*6_B?KryP-Y;4G=2t2XKOZP5}W8I?qX zo`t5_XB&953GikS;LW8R9dJq0hw7}rM%|Q(TpO^bQE51CoLEGIG^$IG>fRZZ+QD}c*N=q!do9;fbv5e7`Y$}(lo=tleg1^l4;Y? zYHV$WKzw`&osGSgoy^aP1fhlmBXjcgL<>CQz!_|`6zwWVz4=Hq$ zGm`IgV>E_7PoF-3HRB{&NSQm^V4x%*3Dy9CM_^-!f^BkZ3hj>IVFa)%Rcf|N@r<(# znH&sOj*^Rs0@DOohq)D!+v(Y(CJIj>4+plbJh4xxs@L>*Os^Wqcr&FEUS6SFB85ZY zOccYGUjNX8R{|K0u_gNFDPZb>)-;Qd3Lk*o!3{)78RKIc;BzvfQn*7A=r4jikRUNn z;vOmTD@KLOoTtWKGW=FQpSc|Hf5uCub<$c!f)4w$qinm~Ve^E6E2w&sal$A(OTK{k zG25HKA0C8AN;v)ZdZKvfJ)d;_86QDZdR$zJw=QUCBX|h+lkyNdXw&ehfdqK}NDrfO zffXln5Hi*cl%btbE};;oS{BR(g*TC4)7psyo0EX3d{(T?Q(bDyo(Lg7`n_N%d|m#Sm--?}OsvQs*wL)PQ-KRn)S z%FW97hv&0{luMaY@i&mI>TLwK>}uNAbUin*+no9gNs)LmBre?z@X*I{4&4&YkQgb# z<0^}!P*Fls0GUP3>)~g#ecfcEsRKs2*$27+Ab&8#JGP%%)+F%~-htEe9}zDjBb9A0 zJ!1+a{*{H=MR2}}(n@#V;y(9ENesZg%VO8O&O88RLf>~B+MNL2!HgB8=Qt!eA$Mm(UXA#>a0m5OrZ84@B< z$0$J(J;1?F90rWj3+_unZ%xRhW>XXPPol00*lvk%co3k-lhgqsgnO5pHaoz3AW2ht zM1Qshu;(sqhbn2bf#I_K+u7s4?po&SYL9K-KcVOHp7}+<4qF%YtFC}fDcOImsH*TZ zwawn13AoIM0e}K(FySQPL$=eKa=Z*~UhC_b<5|(?8C%(NecYe!(X%b69Ekv>n4o)g z>vmRfIx4`1{t8bNH4WPqPT~(%Ql4a^o$m&A<@P=RDv(RhuH23dhiqFE)$S~9xVUK} z3S(%pyyscYc(Y`s#dQv3f!sH!av0F?P_9@JAs|)anJczG4&DP*>qI@%EtP4% z2^3K;-1c3 z{g_EuJe?UsNn&a=0ks+@p$Z5aIYKZ$%j@%@1G~)!)_N88Mf(soMZ53TtK1vg*08Sy z_|Ch!X(#v^xrBLIMQ(|JTUmj+4jG+WamiyGrFuy=Bj9csK|b>qhpQS(ckqo(m>}Cp zHtX1FMh)XI{*7|YElXuOU#B9D*)TIYF1e&bQ(fL@^rEv8eAszpW65S6L(>R!hS5>H zjM(Kk5mgvlp37;jLd1 z_AA&Mn|RK=&G7dbk(lt&wxes*3}lK+DAWN3|r4UrGl*TqkuWFr*;Xd|df5S_K_ zlF~qtX*m=rnvDKxV?kecGbJpYer7-K2VQCefzdz~hX+`}dc}H0xW)Q3`kM_n{YBC% zHIVh%C;h6&`7s|$_A4~|W!|%&%JNU?;5$c;9lPoK=u;}I(m5Id_4D8R0S}d-tN92y z%$bstQCX!qfVVY~Fzn=v!uqX=#ZJjd$NdRU1!}ZGd9p z5EjTPo;q~`SzV5@H7CFvPcfcc>KI&ww%?Jb7;-WnRRgD{$q{h^+-91$&jxdOFyIqB zdKDB%!YI)v#&*xIx>Spmvjpiyyy$E&IsHqE2EJk1{KPA@C0(lsUQ z(Y0HNBsrnNyoJ<^*3(3IpSX*rjZebJ!n+#@^O=uhA)3|!>y_OThf0c;HUJzl~Fm5B`{MBL5fl1^#rz%cFpejd7J&f{P&6p$5PtDp3 zQvomY!x=B%>EP%lg0i(N;X77K4Fq<~frt?o-O2tDH1h!dL2PHY*3e}~9oQMMLqeUg zJl__u&5<6&P0n^Q8yDHq(kKJZS$-GuAZPP04-B^@WcD02D(k z*Z@$}JXc4E1zLBTR4v;bd)xCuiQhOX#r`^0@~B7l8tO9mt{)Z#iGnDO1m zt$);W=9JevW#&*TxU0()g-fj`Nxo!j=ymonx@9~5g^ywlV%g#&@}*G%KKxy3irO-> zWG>UhL|!kJ^qd`gNOHjExV%I!PEsY>Z_(!mVL2z4wcY2YU_&SE0tj|V1Z){jhrvti z9*cY=NcpBLe0ht?7*woqUX&?uXoabNN0Doqd`NjvW9DgZo5Y_ zsi5YWqP`S;TdFnNU4tyaJKf-IwzZ<0z!noQIRgM&BqL&uvTHbPbux=UBX+X%`}^#4 zag-;^2^N4}SP4^F5^H#r$_mJ5_Yr)_t6ZEq3Tp+=DgT;y09n1s^OEH@4xR{*#7an& zq{V@Q)>5@{KN~F7B#@U7Bx7fX5y$wbP$q5=#_v2+i??+uEorYfcmIJ~Jbp2PIzgZL z(1$+bjVoTyEf=rZ;oXQUvGvmRl#hA)7nbap_8MBV?~aSlYjGt|Hl5}7?aL#da#C(N zZ|w`0;3B?g|3!=-`hr5%NirP>3i z=iV$=;QE!DTLRX`)u`%J@J7YeNnvYye}8-RbKaQS^!)5+9@7m4fOQi*%=$Y%I6o8j z3jYAZVN(r85JuGuyW}znGZ+F2Rt40TueZ5$=!_YC2|rG`&*2{2tSBx%LDMkux8Vre zc<9EwBUD7s+tB4*+D+rpz0}*a;XG7LO=@!f#zPySR{t$}PodhvkNE7LN-oMRzpPjp zaRi>$bb4aT5Uv^8GLcTVB11~bJ5niLwmi2eY0rsp8U2v&2;UG73U2{ab4}AB^a=Pq z_!}tFDJ&~gC>i^tK-gYcsX)sBG!+?PNyV63A;chkwso+93U!ZH%Yp?Qgk6KQQ@(Uu z2&6-;uCgRUKXWbs9R>MK>=%&NKt(*Sc~hT+oKrF6++8;2W-C`nC}@lTKwautDn~L2 z(LFdsL(@B~N=AE`jrK&uwxy+!`ASQR7tv>lz9LGgiSSJei0Y72l|VS(J9oL^VV-DQ z-8MX&seTT+vC>vyW{WK71OG0&(L_OVC9)!%P(!0^dwVYi+J0=*RO8Fm`81%}c%x7s zK_B%+#ei=;1+_^RTp-G^6zg4-K4&bg7)a-=C%u7aqHn~-0;)@MsV=|E9ZALt7ggqW zNg_C2Wa}Y;rJ#%*#|L8 zcO#_rZ<_wT>7OuP^ZI)jsUc|*FykTC10ijia?;ijsYozSf*D9^XeCv4Jzvr z?MuU(LDSebDu56x{S`jja5oJ=cg6(@coxu|1JIqLeF|)OWd+W4TH+#}R^mzNP%TY~ z;=vVgHd)Ebcx(@%Y2J#SSLgpHh8Vp`aP2*zV7G+b7!F zlLuofd%jF}62ya&bnwg0g=wj7`XxOgNz`f;4?^KU6zUUQE;Vz*d4i;(>bCBSABg)TT~ahS z_;8(vdL_C%7y(fe+={NDYv@>v$+1=4c+9=jV(B32G#_k1zuJ0M$EG{M6Gbt5lh78d(2e&VU8|3wJco_si?>#%ct98ofnQ(-oJ59v+(Mi zg4bO2fyJxt8H_K?5@HE|R~45uFWaU9uASDUpUl;b zWOCuW8^%^%))(vU5MqGtHf-0qUR1EQo;p=*P76N}Gs#?_u)e=%+p5+mTfJ~%_3~A7 z+tVK3?mG?-%^OD^_^Dj4?ar}ZdvPKbNGN?;9;l188c)Sv%vBSdo5XLEFnu=k_gh>6y8KecvOsL7-` zXVm5xq&?d+6MmX!Uqsw|sutIE}MZrM62 zdWvck%2kSX^&Umlpaq3lqpblJze_p%~b*F@WI9=~!j#cilOgORh{OyIu z$aMAqY-le!U%UwP%1m;VhCD0Zn)!)a_QxXbnR`MFed#f;*V}@Jcph`CbB`6apT9H_ z&OF8e5r*-ibN)pm|51CH{JG!3Ko(qpL< z4feZ?!~Z73WPONgmy(kG7@lGc%o->7*_z(|CQOnF`~?|qE8pC-A8FtaI1!9+B^f4L zo(dEKDM4OpjxaoviU=Kb-$)ror@GP^gs z_5AT@B6purWEatGY%GuU$&gF(!Sf~r`7M9q_X7;N%D!F7|8Z_}9-!;l>;0SCLZ$m1 zu$_H#YUjPNQ6gKu1@&O(YDF3;a+(q=B=(1_w|O`(z$$AYb2%7IYo4;2N(MHHV9UDi z2df222%I2ah4Xh@zGFTev9XHiEw&tEIBw`0wq=q-7zSRPm zny1P`7*YaX*t};MvKfoQa$0lzP~#Ur*CHhCi(Rfvkgndjlkc5Wh&KYq+z7X>?&9eZ za#$5KQ)DHhc|*_<-`Plr;#(RA%3%8hYqkqJ0NGy8@^q$}y&_+92sPs~2}J`|k-h<> zAr)R;Fc(FWVDaS=qT`L^u<()hO~J*3*_xX2#S-q8%^L@*&)T7-a6}Sun56FmjZ-n;7G5v_l2Xl3PS9}pqx#Cd zwS=?;>xVo5V`v!X!y|w;M-iKHUUej1D8z+tJ%CfeuNzOaJCayu-wl^IF zdj3zFevC{Fix_YnMM!^CGbYc0kudc@0mMfV3F&{Ra=hF+@KE#-Y8=^!=sfg{*<#HW$fcJ*t z;LvFN4|>INM1gtU2y_Jv&7oUJdtTOjLT>_ z0NqDX1Gr+8?h5IV`h)^IxsuoqaDGUa{XuV04K!WLX5*JW+O8e-})M20*{08*4sY zFa;5})D%rrMJb3B!$L3`zPH&8cYOT?&3VuYZ5{bLJ?=@`c}3D)m+R73L6;=*gdnQ6m}a334qEU7UQaQD~kIt z2}L*C!&<I} z#qD!Y>)!3cc=SZ{0DPVZdGLo-1H+B+aZ4}(it#|qWV)<*LVl0XCbk5E0Zf75bs2uY z0To|x`O@nkZHq1ppr57(6+0Et1Q64WA<>n^5cFi!z4xFjlG}}67L(Oonq;bOlA2xK zWH6w40ua41mO6CnSRm()Y2Bfg2^b2RG1D~g9Ho|KkH^sV3MOm};VX2_lNhM6D%2dnm zEPPM)_SW*)lC>}MvRN;@Y+!N$GkpOn*ZI!zs`>#i9(y;QH@7d&w#WTzmyDHL*=2Kh zeXFi>=P=mWfN}05v#|etVdtZ7eeK9^AvIOs-19a9a^9fBbpaYd>7FiWx)v-8j1vq8 zZ38PQVX?wMNuhqQEk&SYImIX)$wDM;&hcE*E`{=%kk)Leqmp%O@;Fm7;M18#$AbbM zUek72VLI&VTxz)e-I=zv5lv5LgIS-TAf>$=HFJa6Xz*AN*}mJOrAT`)8V$DdS2}ke zdz4OCJ8;aN;%~u*Q|~^Htk*|mo#X9>@s^+ye7qx)vYFIT2>FEoyr7*%CsnlJ^vogP z!gUg9gazMQ2OmBlEGOHBU4^55_HZ3%!|rZ0gw#>K!loHm1U9b^EyfVM?k zP)i3z`u9WJBdgmX4HQ?RB4^D_4MT998aLcLj6o;-I6o48K-o9o0z+1gcs1=rMZnmj z+wl=NqDyEP`JKL4gCbLC0=|@SPlfH|5<9)zP7j^AJwFQAWAq(6s)3>x3?AP=7AuQ8 zP6YZXm++qzKM8RuM71}I;Fl0Ykhl>Ha)3+uT(;nPCF0K@WI$G7aE74f$g95L6~jI_ zWAw_J!Y}>)Ul!I>^xbO0_+@M$_6s27ToNk)I1<8}>{71~mS>8^O!e9P!~&mhx1#L! z`4&v{s*(Q+LF2Bj!cUEu1ewWKl2>5*cy(@n|NFo7t-;Lb$3FY9(TsI_E*8s`4(wjYl6{Mp z|3BK^1Tc>3$Q#$|o_l)kdqyM8A!)2zqhrRBY*~_J%ZKCx31b`EvW+n|HUx8-OW{a3 z46K0wCNUv_Bx{GmFajN#Ooj2Zjqki2p&-6X~ zz{ZUaJS>##rcK#~aO1{8-EdcR;^mk%H$0ej6|#Xkmr)XfSodDkeCX#QLmLp22G^w_ ziUCM4n5kAQeex4&n$6;n1bMQ_#)0-=_<*<5#Tg9PV@>uR0j1@7PNl_D-NQyVRm6+= zj5=cUiGCH?QDDCxr%k38Mc!kRM~@#TG6CXyrL8WU@;o|$%Wjswp?tCBuf#Ym)s)X1 zr7K}Wgg{36n~om^EvS5)zO{5Ze#;n%Ll}vKGISc+54Ayd0PGvXKE-f^d1mlMIm)A6 zLbd1xfMj4|AV%JxCYF-3Jj3vSG!;4dRHj$Iht1LBVn2+6QT5X+lB~ zL`^K`Fe8F!iK__lPsDFd_{ZqpQ|b`NcV0Z(m887UAcT=k4Iu5U2=_hbr^GDcxH3Yk zl62Tf?KwGcP`nXHx$RUU9oy7X`r}PYS0ti#!~5x(*LvOMOXsu=(SMaq3fI-U`ly9{ zuKK$0(TRpdNp}Llr_zaAY;28oT)60zR-V#2N!@Bd8o6`Ox&rhzdOT3d_>~_Mh_6_D zF%8KC0|rbLp~x@6X?*#SktGKSgEaiatS+E7yiD;+r(;(<7h4#LLK!Wwp5u|^*s8R{ zsh~=a_%1vna4Y;<`yw<~tV(vHj&5D-|DfC&p2OmGnipO4aZ^aS)Nc;QFz9e0ji=Ye38z;&FbCDdggq_r;&kyrt)gftdiX zLRI_ztdXcZcg92T$M0&~DHV|^%n>=h>>w{{^y9;aDBMH1Yn(oaaix|$JGjWBP{?bX|0EsK8X@`^#LXtOQ zR4jt_NlwW$1QXn?>>#S-PO~`^Dpl)&;uXSkfO-N}d;v~5%%C(;CXsUv5E&Sk7?PYf zj{K`i4L11GUlwny@OSid_+Ml1TNL#$Qy`_|So{$ST<+;FGjZoSjC`CYoJWJ9P!LiI zbEL_jQ!fU`#EGS}V1$X37Y$l6d;o(miL+Qap>cwgKtpg5%m5FpZn|B*`(%At#mzT1BfkI0-k*d|j-AG;rh!IBQjg z@Lb?6hV2Nk0|hJuVT_&!evMazBZ%=yx>wqWTVCKhCcZzITaXESW5mvD9sei&v3yqe zBFB&Bm*kCb4Ep*{^rVnI3@3o=DiiO39E-O{Uw9##&&^r_*iQ`L;WmjMk>QRRZpq zs(aE+vyyGB4$!{4bFv1>*|xFk9=Px7<@TP!>2LaBsF3$VnK<8v7wzj!dz!@8#^1N0 zCcEjj4<0O@_LfInu0xvd0#p;ZAN_EkX-{MMZf(#d$V-U;4MQK|r{7S2Qjh0OzI#%@ ztyvHJP=th&Jw^4LO3H*-W83rSSLgJ-?UA{i{|%r$wxGj?aC(rQtkR-E?hhn~Gv-Rv zz4`FkIgeuX&*wf17ZQrl=|K1pN{6Ziw5NFxfyH8!9)|;SfU+AvgOszBCT?WTgE^^f z%4j*pT(^#2`$2vf=vW>>C$~a;iw8b!%;WE;r*Pndcj3v=z&Yt|D{d))9;Ym$We7*! znxP1>YG2x0LWj>42*e^T zS42zqWwU)^$vciL(E$pO-3$X97eUlNoOi8Yqs!0=w?E-GoGxl|{?Pp7hu>k4RZNvQ z)b2i>D!}Ry{Q#aMn-HZL&LoRD*|kq@_}p2ftPkeA&T6MOmrK>9dXYH0H(giL74W4} zK7TfqsuRg~5@E`)$)?%pFBZJIaapX%W^0NrZ@fAfI|9;KH0o*yjjLX-+Vb{NjT`xx z`TU^d;dGY0f0P?m#FzudDx-{;qjhkjcD>OtUX&OZujE z&+l44`RwHSuKByg_V1IN`Mz^_>#lYA{JLFRhs6NvZ@kf0nSz<5$?k?z!Rm0q)naov zkRin5A}|=~T}(;1h{CHodvbNbKpS=R1oYkJuHS5R5|7Lt_{TlsW zAZ6z*NIKh>owcmpnOty|e3W9L$&*al0^Nz4K7SzK@2g342W-UXt=?Sdn?gZ|>Z!iM z=0o}qsT)M2qd0!n;)aIBXN?zsV?0ojuD^tq{3GOdNE-3_xvUiemK>~*EEKmxj!5>i z=6sQW)rX1Zi>Ox}kH7LtFza<4cWJM_Vzs!Oe(%h;jvP78f65ILYu8$$;h87gVbg@k zw0bSlYH49*)E%DrUQzt6s4t`K%#Ucx@Z0O^It1Ee5ERAOQHhISg$Z8DvSet8-7r>p zc!eWKglbVItf-$U)AR0FaPJ-G)i&-qc+aI>!PXtTIO?ypOkXiNdc|~0E|E})5Ph;(Qcig*R$1v%ZM{P5|YmIm8zJ7N{ymj7%yJ^b8h7bl*jAcrL14IG#>+Obd6?w}=-0rwa5>@GPYlU-Z+XD5?qU-iDe@z34T zf;grh)}{*^dwMn&(zWfW)K$sa+9dw%NzuFZ+7y4MT$xRoyLaAj!_IDVs>yfRr#^AM z-sbGtxOZcZv-_4?Y}L!xqRuZi6ZE!Qe#2dg{Jv1aa-EG{E-+OkfWr|; zcCFd-k|$%|w#}Zwj@@>&T3LV31G|FRk2z-6-g8Uy>eNvdfUWJ5`TXQnnU==$?^d?^ zY}3eE@aUrmLYuZB#_t#1{o^+j>n=OIM8rJy$=@oOr2a_j804O*dCk}Y29>{7gyB&Ncdm&q$!Fy!`K9q>rg!CpQ?E=za z={Je@Zd1HYeW%kSwrvxipZUGw)z@Or;}nOTUIXr+PETM#U4ntM0j?n$4cto-=wNUL z)#@w7Sh@zl!+REaec3{t|IA34Q#5x3BMqNJTh8UapA0Q`BOWYLS~O9Ane zm!6^@51!VP5#J&p9e*5PFKY_OA_c%of$YruoL)rT1fR{L4QWsrCZUFtVN;UQ0CMVa z%j{s6vx*pdMi89QH7vbRr)aR|kBo2nR5==`Uf^Qzx3-lSv ztUb=MsVpm?HR2IB0#hu4BrmOfVjSZ6VL6hmt5HZ&6ayG`+(yt^T#%fiSrg7S~ESp=KcW^4T<3u zxK|Q>zi|Y?EYXC`vTQ+uj;55(dJm)lLa9*!Jls_{TIj0CZ$R;uStJQ2j(S91B7MQR+&byFchT${NTZ;lDh6#=%g&TrzbQI6 z80Dm$I4B$a!t9@7w-)~br51DKfTp`i(u6u)?eF~;2N~IHiOgU^Y zNas9y(w<1odKVqAf0nD@EVmqPKf3ADWo0U-VB%^DlvqOCHcM78k`A*2@2wIrm6K7F zcMR|MA=K9h!TPR(ONf-gFx(L}3IbqgD8ozN1}{CpS$H+mIm!VJa~w{IHNfsmE_RnW zGk+k#p7*8XS4UR53q&nVEd6H}%=+BLcY$D+-1x~wg&J^+$h&{D{<7Hw$NaC+_+PU} zA0NP@&lB)V>NSv*E%Xp+1O;eQsxX*;gu&510W_GA%uv6 z9^eB2I>4|2DQlfDbI7ls!xj>hnu*KcA_&72d+af%&tfTMnHzPbT?Wg6qH#bcP%mhm z=Uim(KPUgw{5k#hMb3GxeMaKbRq?pk6pydsQ8)7`+tSvbwl1}~+i$x2rgp{Z@2u88 zQQcYRHrI@8+p=ZbSdH0z!e$1oUFMjxS)9&UwuYIg9bc*2J728IkGHgp=k>?t@2%@M za#kp6#M{S0&*U0gaRnV}} z*pflOI2m;kEkvN7umc2!J6ISJbs?}7eMk0}j1$3o&}?a?ks>dbMJTK6TN2z6i};c= zl}T$6JX2-Cw(~NGdO^-ZvB`#%RVKmW$*czNqJXNX_DbvchTOv5JExcN7h^Y{#fhAF zEt=RcdQgHi7iBwk+LbT6yeJqE%^alhb+Bt98*i}1VqVpyzc=8isU>qR67eNZkQXtl z{cd;bcuRQUJjc*gOX;hLySF&jm4&0SPAeXi(2X^p4eeCf%)b|^eiMAf)nw+^W0h;FLE-%zAYDsbMT*dSfug8b6)k8HkNwM(XH~g~L z{nN6zjA>eI%e9LaUD1}X+Sfayw)HlPDXG#A$V;!+v_4JyV&!gfa_!C=_H8n#0<@#UxyJyB`MQOk{#XWe;koYCSp4mUd{19D9f`{T@3 zIFKv2A1b&nPGr)^K_Oj^mHz_LbPVVKw}YyxgbNtd6}EVJV9>2%WMQv zD~8P58?gXoY@H3B`4f_;P0XURT!8Yur&F?#sZS_lmKnDXe=_uX^PeOH5F z;PWj{o|O&;L)B4->7t8Fj%al#7))lvP2MrD+Y}jIX${()?r_A5M9b^Gw9f0H;KZms zWL;@joEP47{q;9p=v0(=4AtbRzR5FWQ9a{wUB$!K?X=lISkk|d_n-a-<;{H>b>L-IWG(7LGy)VO zr&Zbbc0-u;$A409RDJ{BI5}gNU@@!`$XQKbD2CR6ibObA@{EBAh=B$u`J1}g$IHBfRo1fXGj2E~W1R$Ism;;froiHLB}U-N6nNCCk{c^ymB z7dStsPdnza`2EMCLxWM&egJlV%-@!8qbd%8Dg7fj?wF>D?fi-?(ukq(fc#r)H6a)r zxxRnt`U0s-$FxjT|D~oKqvW01=e7Dj#@hVH$oRoE>2k;D%3`~})r4!}aJVA3^D8|< z06sS;UuMn}$roTM?Ls;;XnM0z4&hB&&uqF!D+y|z`#^6|gkt7FPmR~&68|>yLq-*p z8a#+eNV8w~qRPJaLM}i8`$fCSW>xKCyTy^Hb?E;INEwIW??sjFi_= zB(yZF1)}}nk;}`He8x@wLjPyXT4W3|$U4f_OK2AB$@z8%Cht#3#O=KiFl(kYbIC#d zd-Pu9p-#xE@qk~Y+)m=V@j3Dxl$)%w!C#^nS5=;K*5lpjVyd2-}8AHp2mf?+{E(z>`~L znz}8nZ2Xl|x z#_UwUA!V_Hp@HdiYWn)qkDTJ{Mb!J>e44sIW$g6Lr%5AG$@w_5t~^DQ!n+(=zb>D8 zQ1zEo(FSbcktBcO`({Zq%7 ziZxY+n*vZkL>!GYN)7^n8)55##^AdicBO&KrSj$uwRU41aKXgJEW5$Jgy)29y z4Z?VN=*jnUhTaTiNW-51-Qc8-zzR&EFy<|`2$#As#%K(~-lhNDnUBA+P`C0z_Y4-g z7!;B$g!)3@iW4l%jVN$<-=*mUrI&H=9?Z{l7G8`V8iiE&EbEiGKml5@&n#^SEcr~z z^a37nw9G=LzCk6&qS2Z6X7XZuBA;m;Yn{YD@i6iJIh&~R>S;t5!RF*Q&=1f^AwIs8 z&bUG*KY{7-c9r@hO?}csGc!$Ve-Cs4TFg#ACDkY;Eg*-Fk-VVf^tpftfYBqz;jqag zzjrj-K?#wYIn)+k;L*fp_ej%@35E8;*%^o zkkK9EWfJw`D6jNMV~~4L);FLTNPOl|_{z?~Jft2x?L7Q{+pnjYha&LKo!XH_r)Kip zsXPGZbSga2Fhy=VrTK7>$k|FSM!oJz-x@kKnr4j?fjJfHM_0L55UbL5m7KynFEf!h>-p)ePaw+mmLPUkX0LfF>AxFg<7 zB###;TQDXd{E%F(?1bEJgOPwFXC{l+>9Uz1Tdc9$QE19$vLXB%rQOUb>>5Nxn^E#v z0Y6?g-Wa2>*kE%<;Sb+=#IF@D*Zh8M>8HNx*SfCI>b24PrIWG`#ptZKAPPq#L!T;8 zAqL^+F_bY9CIz(&?fA}$0C@yf%j3KX4c0loB@Msn$s=0NEiR#rPHNpZyIe~+$$H6w z2`NT(KH8ZnU0x#DTZvgn76kMX!%GReOtC9clxoHtvvd}(xH#$z=OV%t&V`-Pz1(oU ztNTdjw`N-{8_0GlkArHF#o6;is>%AA;a_4oe+GX3P=J(krw(*nxm3qGNPtcn>p;#lsZe`iE zdSJ?2T9BAfGWykTdq zapdw5j8tmQ@XlV*(?hC~av0lB=?^!~bM|+b+gn$Rt@n9@EoDb(Us>^aw0GDUa+^)= z#g~nQLe8MaWQuILe(CnJ%10>k_FTHXcKz~Yjm<(dezW{}g~OLbZ5u2uU>t9;xDr6l zv|4~zP`iy0k38<#08%|JQXK~5)E)}=o%tor+v8-d_f!&Sx^ zUQc^}e0v1hAAI4hZbq-gy;wFi-F%H0Kh5vf;AfBAg&&pSO_UEI%H%ypxB(x~lP)pI zXe0+PqcA>zA7dOCWXKvNB;Hs(GMt+?FE>2$kvUB5&BGV3PG9sTR_#$=~^(%2TnWM^WIgs*dFa*LgCfRy41kZ$4hwJODX{JFuOG+Z$O7l0gZVq-SmQ~xAo4nem~bY4%8IcK1oBARqQ_U? zRUA-r-6*+EL&&JaA*?+`HR%oNkGuUf>3NHDxy5T1=L7{;AUUTHdM1$a*b)udP`$YH z_;KYAF4H9P7VB#~d|+ypcpdZju5!E5~Bxf7e&WY~TK+4OFs#DTYUu4m>t!g3_Dj-)W z@~HqQd?6G!Q#0rLqBB27&7S=Zf!tR5p=-;n{J*R%HB(&RLtESyO&6 ziV3^cM15VTu1+r?!0f*@b>gIlv}oz)-1)Q4S>(&EXi+)?GmW#)X@c88kE~vNV|026 zHH3+5pTR1hMlbW55xOFmKQ2;$&cxc z8YLBjmkL5Hfu6&xB0E6yMQ^gkt0@)2jpm?cHoN_$ocf4hgwD#T;R!4w;|U+Uz{D(^ z{d=V1aUuX-#smLepK-X5sVCy0VCRWBIrpJyo%kIXV=rP=l9)egTu@PLfY@lBQ5eHu zY5i1BW|F0 zYOR>-YOZ+bGY{>rQAK3or4M}kLsu`h>YFwkZtVXPkZ4vn)*q8lf|`5B8PGe0Hj`ZA48d=I}r zrH~9GRR6(tvP7u*7{)wD(v1nQmbhG{_EcGUkx(oUA9=(YstAJzSa}fM1|&B4oj064XGUiOsy1C&Pp?+L6`QTg4mt z0cqy4txGB!>1HMDa~79+v#f6Y2{D-ls}L7dl7M~hqVtGDn9YL&T?1p8pWtj!0rplu zhJMoF{)$3rmXIjL^fPINy*DcJ98g(2U9hGR56f!@sv;;VHJdu1tF)uyEv7s73VII{ zN^Mg5ANl+v{pvtZWZQ=xKXzcOs2^IlQh$2o=M-C?HnUd~0~2>`aVYmWw%lbr_FtpT zxY2`-aKPg0Cpf^@yR8}(ur61ImM$GqMn3n&51&`vwg0a-jo*EVXli=z^39v|7O-4E z^I#`{Y$lD>?PjN=h6=~`c6!of@mz(8UkecpcVB%L0*e?KR+aHv0*l~7AAmViAP*($7U+Z_^)J+AgkZ_bDG}>=Iq` zW-gZZpnSWGE8?n48Zr3YYy+$8 zgrMvY@a4i3p!%&n>~t`|XLS#cu2Ob{rt$vT7_vytHTw0(Cp=nG^8lrpc71oTYJ01WJUo! zR6D_SVkJ`e9;lKuBZqhpucxFm_u+l5v`x{p9DY~r$qq9 zAY}>%xg2D(VwwUysEBhKLJDug5#>R+fnKCrFkbclZkon2`@;0}@kqqp(B1BudBfG- z-C&R4KYovF>-_%0fOF;zXCUBIG-p5@W8y!qRC;a1b)tVWtsgHPUpoKf>y<7MaPr8P zEv5pv<5=mc>WzkEdrsG&u25ye$j*hHVl<7?3IJL_#z&&c!KsW!_jJh~=m8X=?lBs4 zzPpZRtqaDeVs_?>}*yStcqG2krVZAZYVzlx8H({arD(m9a>bFW$c zjk%wTou~mzm%^0;&I8DP*}9~FD>?)E3;c<3i#Vi2B4vDqh%rcgnI@VC1O!nxxL_xQ zgKACZd?c3+yzKJn&-+|R(t|xwpuNej>;L)nuZ!TzTthv-v% z#<#^O9su{L55sR1fc!1UaCNEUl&xG$d6ityq`N?CksM$N)1)ZYQD*;??C*-mPOC-y z*OG=LvP3$P4Y%j8Gd`Bdx_qmB+Q{^ITMNbRo-I2?)y~a@u3};9_UQ}G8f$J`_s~B) zw63vv>@4M`zSi-k!6hwg+WPxjSGO#=>mFUZXwPKl@ba!T-&YRz_3qsL{>yjo9bB?x zaPRKR-@kijZ{M5G^mcDpH+AtRH*fyr#Z&7xboUw^x*r`%VQwVWNquAc9nzWVsndPK zawmn-2SO-1^a~xG+t;1@({tBt@9g-(zNz|HvSGtV;`Pdj3pP((^PaEuE?Cg}wf9^z zwfTY><+{lS)dwan(m#H9@)|byzNUTvD|ZV7$9w44I72B=6o5xq4H)$T00y;Pq29&+ zyh;FsB_;xY4LAXg0H~JqKg=(Tie06s326Xyt4&sqr8-`- zz-?c6UdESYD z%gBgDI0M=XQJQ+26GI@fHSds4>g3!@?l72nel9&!=T{}`nf`Y;O!sQh7=pk3B8 zpqk={ii`8*3&n6j4a7oTm)&Ca21ChsD%KuVGa1Dk2_!+A_xe3Shs*3JG^(*eEFDXR zf+!EI}7u2sT#y!2coh1Z1cR%b817O`867n&zh|k zZxFd_QB*=Whl}$QPJk^|Z_pnLM4WC@V~aQH9bXFPz3OoV-CnoT?erkiuF2Dy_XuNb zFF@ydI69eN@n!*C5q*Jr2i3?k5gIZz~K zkOGY1Lo&XI|5}PbBaw)ygqg&X4euZ+q3@J^K}OISoT}tnFgLC=bnP1=G#}V*&5pO|8;nDs)zy;?c2a0@zW^wN|^+sI@jUL#{Wd$m0#A| zQQ#aL2s=Dq%C6xdx99Bj>n`5+(}}g&x{#$VkzA4ug$6E&x$=ufYIdgF*}K=(B6_j%___O}^7|$=2E}bWISHWL(u!?K3Dm8G{W6m`#m>D6Wt*werGk-zsk?*c~NPqUBOy(gm_)tcfas||;CN-exCs3Q# zuQrQDyb;O|GnpUKKjYUADeq$jfpn4OEEKnnZX?!dq(J7R#O%}tYlGDnE{2QhjrOqP z(@%Wm(~gMW?)3BiXKZ#?z~Nl}u}^>cWAsnC)}ok4Rdv*?XaR?=IsF>FH!U-{{7&(P z)33J{6a>ZWr!6Z>PpUCINQuFrrELnrQPYL5r)KVX#ppS^y+ zH{9PJ7OC1meB|8C_4;F->AD@a-rOk^kZgRYy*IAwwZZ7{`VAQ|UbAprt^PBIKkoPe zdjkI1+tk+NMXvmisIA|8?npdPt3Td(>&-jTb)CoqfrZ6lF&^k$;x#s`t3-uSU0IV8 z@Xu^9Be7t{Por6Rl|ZGGoLaL%j>aS-b%>00LMg~LHE8D4A7+f!666JDC?meJKp6y^ zL@9bsQI*)C4}3_fN(kbm+n^2NHEEYNzdcER`maTfkYk`idvd~Ew`;fE$t)bWY7t1! znQ<#3kyelxuT;Y(4`j{e>;c0dC!Gqal%=l^)zM}ZDj8u?gZ3^Xp+cfWs=G8Hcv*@V zEKjI;>}Wd4Tsm!3s#1g1g>O;@MuT@iLE{r;@AuEQO%;2|!M*R)xJ0Fm*m%@6bTSo6 z2lh=Iq*Y~)czI{WUk*kr?-;5gJxf10k8N0zH30iY6~M8YYMVbp5|GenxqrW z!H}6~UfS5Ww0UA8n-?8I%;{~W!xOo}pcpWWgtL6pYWs?_SG50;lgcr}pz|fPQPS{A5OO&q2o_@i zFill4#0P^3R8$ra^`6DPXl;3OWyWbHwj5?VvsdJhOMZWRN#~v;9xA^yEQedw#;O#U#G4?VFzU&S!(2xQ52iGfW11<8INK=5 zJ7#deFz;%xI0vB^<1dG)R?m45VEN%Y(xVF~ih?Dah-Vz5iPOXCq|;@NB^N)U&m>#S zd(FAzdsI_h^{t5}Q^NJ$!x6Y!zh7fIf7gixXE(ZRNJ`X_$!%;OOSXs~`}S@P(P8Je zjb?&AZ^#u%n(Y>s=GTHIr`@61QRAdZb2Ocm8mmvvOeR~y)lHeiCzWfi%%A_8ry|M+ zV(klR%obDY>SQ9WHZ0pPnMr&~)KX~Q8XI9 z_Z@@8bBS+Vj>L;Lb>?@aBUtEu5B|tk*datQ?D#>*A1J0IZi`6YuBO#`iY_{UoOjsR zOm~~Ha(vevHs5Ws|D(QlT8xUN;`;)4j{bXF+@+7YJRX;L!WGxg5!b)+3TYQmfQO*~ zQ?YR(kqzRZV}wGQVMr3%1hCPqa1Joz6Zx$*Q)VroY+6|pD|Cy+v!gZR3OmgHc*GqQ zm!0m@>k+>*^Mt{=P)0TJfmxd55qBi+H#-pE8r5Gv?Z-+29r%R7$H3WH?y^}V?*9P} z_m_s+{*sUy3!T~4Psu`De`zE#M@wgEP0LoUqkrkXX($QgLs)3AZoG@WimC4aKmIoY zwn!YZjak|l@XP~LiD(iPdo7A$Eup(%<*Arjov7(|+nejfd!#92lcims+4$qDY_^WNV5lFU z?S+54X8GW_H)V^bGo~ae@^wH|1|yF59S$S|Zj0tHr)#T$)4E)6JX%7U-L(J+FTxQW zZ3_tE{p=kmS48M$fT7k?Z{TFtz1a}H~nH(`|V#2Lg)GZtV-rYD1~$?ZUvHcTsM#8?F=Ahl@XE1h6Omb zVP9Mcdy|w%RGNK6<{%X@Z&>9Q0myX$u~>?*1yYuzte`Zu(Dwm7B0`8HC6j5fWv;wr z4wuwD!c|xrfXxCP9%6140Otq-NAN9QfP0x7aYL>kipXQVv{<5WMhtkH+nT+}3nKmf zkpTj{s58n@1aDxm<#bV3!`bov$My*8lS%AdjW`8v01^qfBQd+CSv)q1fx#6A2p~!B z3VS@^0kA&!FkD5~c-_vx->m;6>bw7HyZ!x-H)@Wjl6L#mVrEv1mO>HGB?MH|0eK$f zPC-+Rz{}k1Zlq+6ktD1~fp}m!4csXZt$C;&7-w|=SRo+m!9%pxyA_nkBV-!=g#k=y zGR1l2`bfU=-VMfDu{PY959&!`6eH3(JwF}2T~xg|;uWdtnU9MPFZt25GQ8+(uUt=N zad_|Ff4s+@@^~C##cai-ug>nmW6$Og43`Bii`$D>TzG+Ieyk18OM{(1b?mC-P_OUd zS9e`w`SQgNPndwiuDpE<5=Yw7tdbm8uSFuzT8=A6OtL~j{nS`1EgEjb{$pN=Fu4G% z_<%?x6p>AV8km)|3)t}zXJ>YOQ1MTLilbSV@3$cpj9TYN)hR1HDSODdVdkfr!xUIz zw%uVzqlL9Ks08+ek{0Xdazml6e-AmAS)2jq#~L3YL8v`DZ#<-b9x?fKYcrzPnsA+e zuGPH8ES!Gl#}hbsk(P_Z_~uFPwE(Q3oLP7t7{~Rrwo%Zsl~*|mfs+Z@DS;(rIl!{0 zqA`TmA-gKAat*XkClqTU+FMe>h^B8H+#;rnbnP#`GebTrJefiCZ8kZ{fymg$wps{(kY*@T1_tdztjsi zu5_!bA)&lCH(cYbzG5RXwruw_+qYj-hsu1A`y}bPavU`%R$BvQt&-G0&NF5;%SpDIJEk#?8X-YfoZ$uu;0G?o2ZgvwclHF zR-H2Lotf6E9jh<3Tko_x@nzeKfxw>3SdI9u*Hf1dJ40RD9gbz@05XKHYlY-D z_v1aXHE5RN7_1%uqluwOhd>odqck9caWMakU713NzEp2_IZkBym-c5)I9zqXe;spq z5XXuLdapMAuR*`vuD^h6b#||7rT&94m)GtOI)0)%(XVlwC$?xo^9@I`{h3UE_Q(z3 zpWcC*;S&$WOcB>knzXxJVN>M637du-o_CoD<^C^x5<@K~*@k%9bJfzT7usvG?3(Z`BehaRQR;y*D+p;1U6G2 zt0?r^leRKDQF1mBy$B`$2>x;8Op_+7tV!nAK8|663=< zPqTyDL6jT=JbpVAd7RoQZ`s&6^TbATPDA+XY-6zOCg2^Qv=?RKog~Co-Y_ubIW9TQ zXS<(yb<~HYozvy@VfSn406y|GIetJMFyMql<+wPtuhb}I;bA{QWS)C}r6M7DXOeD59)M0c>K4g;!oEWehgSEW)7!w1yUt`L(MEr)`=fa9Ztk1@)c` zvST(yYipxT?zp{wRZ}o-j@x_dQ(RYzsFg8aU8;V*Jz+ln`SkC1n?Pp23wo+kysR{O zL)EQTpHS=C>%en&ZdwpZ1$WhVTJ)dbmhmUDmae*8L0u7bmx6EVcX#uYC7%0tpc)|# zg{b)krWUNgbGmVNfpkE<>#G(J-3~Z|makgyht+()Gk~2FRr-^k_=H&c32~ViaX6h0 z{Yh}WvB54r2MTq&Vod^-)f&$5M=HEdqCdDDf>AV8llQ2Uzj6uQ4AKXgiIR zlV3q3!by-!r@ltz!MHM?Bwy3jnM`%*Uze+Epv$$OV%t^vie69iwSIXynCqbtr(0;@ zsAJ)sJN!%EciXyPHR|QYVz!!W!(e^=U_)0fHo7>+AzhJFsx6gLF5>%~b3b-!dFlTC zf<3UJqEWJe@6@!)mhYMks6!6TkcKtHzvIqp3U!x^hTOrR`$|^`d>CK-;Mib&Cho3Y zP#5BU(f^v-*_JZE&S#WQgMA}~C7jJ9yJ>LJ#GpZMHslHo#M6q)iZx4lu4EQO_0bn- z*`bZ{DdfXI2O=K^ip(Qf_p38^ao{d(#BH;-gyb^N@+4N4=xEGTegZKEQ&N_&1iTLk zJ}AY&(yDWbCSO``knE;`YWvaXg^~?3iAc#b4>7ByS)S&_wsJbas4~VmQMR~d1(zx3 zViwASFIjifh~6#I#V)s_HsP?;?A$$~$acnj)JCxi+b>!<7pg(BKz^RW~{?o*%06+s=+wNOZUx5ebm*JtgS8oNEUYx>%4 z1tBALVeV1~D2HjA7|cj^`b|sr*7fvz?EbW;I2ul`-8Xm>-#EEbj0Xi{;KUcyZJf@A zcrfKOHWZh^C@iP3sZrn&B&IlEb&574tB<4+{>MkGVHc@N?xSg3H%;)=E}05s7x5Ux zSpeP;{BA214(;OvAz>S8ghr#cZr-qA^Q}?rDyuWkQUjjN5a_g9Ci~b;Oole&1fzOr zpK(2uC*2^+lis#z!^Ta9ro0!b5^;O-)Za84cv+|@gem6^`8|6|-@^54a5B^NJ!z(3 z61@u@C2PgyJNBc*=TGSFI3z(PYSWZu$_ZwWVQps4zW8=N1Aq3+-yB8A7*qoo-!LD( zJuxxCa{^{5bRIw00Td7??N7t{!t;)piAV<>fL2+W5v5XcGSU&6zM;7Ra0I{$+lDoU zETwe(ENsK029A25hq8hzepyaVW;>MoV*Dx1ZVM+Ici}nR1yfdEJZ_t&;9&7E_q}YM520vd zRcp{dnYN8^1DM|AP6kR~&HgW1dE5DZDtC518hgJcV*Ps?QTObLci+x#?U0tyc4)YY zZwKfQdzvnsKI4{>CXR&hc%dX<9N7rZtz;G$)AkG=7`Y=ER*>+71SJ5gt9zQHSY_$; z4i60KmfuorcjugwHd`X?kh^xP+aa8ifXI~r-{!gLk2~xW?QWBI+MNnmTyocwc33OM zYa9=gqKpV7!E|R9IDtS65t38@eeTa4x1V(8-0ek}!!C#0YM+$vz?wxouo8Lq5B9Lv zO`CoSy~mV=l^2xKEgq#v=Kjk_bodn=OLoX z-}Qv-fyq0@l|lae=Okqn0V)Ra5H3cn7^^%=--U?LKjxd~oAw3*-f7>wOdv2gHHD#i zhHcV6>2NG}q;qM+Zg!ZwDgQeij$IgNeXP#Qov z!BYe61Vu*Aw6VwO@bY=QQ_<8K%t%=ffW!zd)^bg*@J;RKRi0P6 zvDQ-%R_W2m#NNH7U8pNH6T!04|dR3DFeP;8jP+L;B0 zocJw*)&Q)PvPKFr5wQ3|1tPo~h;FwXpl6p5b!G2^GO1so1&;f)-9WDI#Df>-Y5HaQ zM_0cjwkzvr9SX0B+uhnO4YY7gzg(t8)xRmWzqDHaD7%&<*Tjj0p}imp?woTYDkYsO zSGO*+?~sa^#%``2Hh@9mr?k~(RH$hPYAcFcRG1tsKR>Kw_|23tpL@nJw|1`eW|C%P4=)8mN1Dh|Z27HtbUu1g4 zu~{C680NYvM)_+7vxZT$1r@Pz4XAj>V?R66Cw@#{lp;N;5U%P=ssWF~LCOA%?vXWS z2ovgOF*W;~>Py^23K}m5JU|vn9J|aOtxt#2ltdVrn^-te_s}WacQ_W+d1re={DK;} z6-uboO^q&*@AQDIDomAykHES!jwE%Jthve#ILd7%qk-Bo=gq{#%o9hj1e7c-2Ezml-E0I3O(FM(8CkhlPq z8B!Q|yb!<%Izt$^38e%BT@J7cmZa`HaTiK?@yU21uN{;rEZilFrU9@Tg$Y}%d2$3< zgV_*X4ROy&_NAK`zz`S^SzmNsi>lfJ(XdPH&i6}-;1L8QQ-Tm7Vr?th_AP|-F=h&Q zBaxMN&d0+SpkkRVLQ(COM=_?vFTl*QD8gnJDg(PKaZ12ACAvbM5~jg-)MT=PmSq-Z zTp1+>n@u5~*$Yl`SN;z%--^~tahewPsE(i(iQ=~m`lJuFbCJGG1rQ^fowtv!b`LAj$Xsa zqNnQt$LrdvJ4g&mBa3h~f+dIz%n55Lv#soQxYJ6(6QxDfcn<`iWcRZ64B=qBhh<_5;0dmsS zBbYLRA}~ezU%h`?zghoM=C8cp`el0N8;C3j&3q%N{9xve>FH08u3Y(%gXbJHo*A)K z7sA24mJk`ZG7Sz3xxHZ3V=6(Kf(Ff7%pZ#9pt>v!Sg_y)Xer}507zn8K?EaY5x`R% z1jz$5hwX!qx_+>qb%n-^(;K^%dm56X*^nT{3uFcpChPx;kV@wOHdJ;vsT+gwnab>GI`}!IzRDMBg8ZTj{Ktx~w~>*{!kA&BE>r zI&g6>E*?w!5yqDV$)oCo%(5HAn!E^0&iTl&dv(=x)n8TJQ}syIV^v?JIwXuNqp7gZ zOJbF!H9cZpbdA*qVSdJ2>Lbi_V$=vZ<1qr{G?$B4nYmsm5Qv0RiCGqrjQ|WEMrY<6 z2W;NB7=MSzH;Vg{NIgpzdP6XY7{|;jjV>x#qV$sJlXbh%kJ0nxZuy`$e?RwoF=epm z0C^%$;ak7)88q`~6g3v;8nob1xdpgRDu0n~=1rCg<=euKkMf&}8$$s&O2Axk%uz^e z8Y8%cqZ3$Hk(dzTpRw`?)sjvjGP=%xMqb2?={}z<=nYZ_O=j-F zrdIFB4^(9AH`}Z}m&<3hf$@|qdy~sMr*kVS$#hbd^bW}|9wP?8=3TX+&rri}P`1Kj z+6|G1@rtQUT>%ZFzy(ZmdAF62sjj?i7`K@1{fu(`!l`p(oGTv%jr}N0k@h2vCt_|@ zMNlY1Ti@qp6@eHknf+aURlL5L)9`zIil?@|)&pv`YOd56h&E)% z!RI&xR6htM3CJsW^@xW8C0(v?6780sF~VBGhXi z^4X3&4KYHuchV)!ee}kqOrClY^&Cz>52)oJ@^iUR4c$DvV5DVH_9@6#l*-1OE@DAP zJzfy6^Ts!{oN!Zf4JyfELiR}x0{{m%|Ic1V?5_@{1Cf|hq~qOni^U`s!4qwzj9XInmmjY^v>k6QnYwH8m(BiPXAy zQ@AnPVQQ|cYcb^&Pgg!$>vvm4Bt5vaexP2|4R~t8H9dhq4_@+CYqsnBy@hjodd@8@ z?C)qvCj$DO+V0xH!Nz%YErUbYReoi)D(R**>tuY>&_GKrq<eVtY6-nXmsm?(hCVO%tXk3a;!D(6KeszR?Mwg0~^bnsUyDV>Np%e3pnVYB?tp?w)bv!rQTrv9g-LVm>Z>nkS zIecEL?5)4+FnTMKC!GhxhkfWRCwTs=u#9cTGIj+t&zq|5t~ylpSuA6JTlJ6VKQ?qv34M;(G|4OSUv6RHp|kBm|_TtG?laQMcO?S)QvOiK0y3%8LVm zY&+_uyW27i;Ga1iktHjaM--E&S+cVsJF{8aG~m_DZB2H2uJ*I_;b4PMip5k=tH}kM z+RQHD4~3eWYiutEdphQa6tw_5%vPUmX|mZu&5^o#%ges3zc$((v=zF#3-(;Lx!L4U zqK)ZvcDPnmgDus$%y3GX*MD|2(`+_3wVO4UHI+=J#KYP|uiLGe+M8^ahLBr))Y;gQ zak}eT199(GaJ4PHyN82r#pGXp_L?Owm&p^%q|Pfk9X4;z_Tdn+gC!TQnp|ShOcr-& zXtzKzD9u!ypKbuNd-abJ;b1b_`J`r3V!_od;f8eYe6bQ`=zRA2ZM}<^FR;O!kNPs2 zClc@0UvkBqUM;q|rzLJ4nhy>IzHzyu@!Z1=4XC8<^EHGT@Si*G4btxCG*{DPhsE5G znqO2Oj>Hp@Xy;2oms2qnds8`^wXr*C81$uVR9Wyw2_UcV!dla;!=zb+r)QlyhIdxx z{2)*j00?W%M!+;r|Je;ZJCBs(T9>dB(<5oUG9eWwrvmc@LYYwRb?XpQV{9CekSo^L zI{N|kTH&xVvvjA;qqBQbeINxB<>^eT3r!|+55t_K3ibFgs5xSPIWV}_P@hnuto)hy<+L*xa!iAl%A24Q>LO?L zj?GYHt^7FTn6!SB`)ERcL$#S4A**K5P*BKf(KKr?@3mUqszKp&${Y&*lYT05NRj z+_PFtE>JlgQG8mV=Mfvs2tOou?3qOzVpQ@Hf&Qm;w;K|TwV^X)gKgw;hqqm}7<_XU z+niPTOc`OyD3@8}jXpJ-U75!du?AYeH=_KfI}sjm6^xZbq{NDx1+tRj0g%1g@IU7; zP>cew6pLtpp7pHep(t5IHj;=lv;@$IL2_2<$cAD9sVfsBLj@_QL>nR&4Y-F8<*@h! z=fXURYXHCrWFROg%KA`OJl-8*J2!n+bMxA?#BhIB##ND}CFHOmZHo(0K>b^{*DM;W zJ15gO(whdtm`-;2Z}q3u*3psZ*u-d^B^nu6aKVN8g%>Osh(tanO^cZ)gT94%*yLk7 z&N;iQySwY`bG}vD5&rx_r1WaO*W*@ImzT}t>bS`iuaNbs9T3zu_@jvD+Wgc8|-G>id(eGM)%Y*k8caRQ>;A);yqnpp&vh|VnHnU}X z#qv#Co*iG=)J!FPe5>!=THCbi-Vfih&etQekH>spr88HIB&*%-OU|C0+V;go1JT&L z1%2zz**;rl9*RX436FcJ%sfS0lc7ns%rF%Mj0y;m6$N~dBY{<#JUL>J(V#)hgVg}D z=wxZUA~~{RXy>Ftr~^-t-n^sznwzJmy3wJFF8$!gKe&L~6#3WLNI|2{P}7?G=QLtR z+qK4dWDflU&d>KySjl3#=vfb3KBV^duAtUF>5JUU@};sAhInkjeE#;UhS7uWbPvUaQ`ew&h_59wn*pKZOoA!YVmxUg$YiBCkEV$6c%HYs^=k+!V}jEl3Bywqbd{9PAfGS$GCs+5gtUm!!oGH zu=vsY)CRu848{5}#f0*a7`v>LSh0k*D_IJQ$kH@~SA|j-<1sFRK5K^FoD&fk%t~YxiGCH?|*laG$}*xmVM!G@MsgQkA=ce$=FztY%F`1q~JUukehFU;J}AZRUze zUz`4;i(3m;5%_y_jwYfL$;!4BubtTu(>k%7NlpHh(WPdYZ zF*fh{?%2gYBWKzFTsh$nth~7GvO)coNw7i?B=J8^{2tj^FtQJ!78!Zrn&Ed@OkVH+ zuK;K(fg99OIZR+Ve(4!TPSVy003`iQHFPj8-OIE_a!PTPuo@f->-`jNe+q28H|o19Bs4K88A;YcP5M-`Hl zbABX@1R~?$&#=^Kg#0xR6WSQ#;ReXHIGVf=QZ0=!VAzISz!S~kAqzc8iYQ-~%u`aP zaj=XlhG;=l*UdZ(pD(&~S~9Yx=~)#NIF@4iRk#a@db0~ie_2{_NU3$Oho11Xq=8M- z^QX#SA`9G$Tyy$X?gDcBvj%Yd2nsP9#c!WMMjabc>}H@*E`znV2Th=vM^AyF$&xru z6C_o713nj_37EHN6B2!v5NuW_@nDIslFb3gg44{%y$4-_kVh1U!II9X3jKuGk6T3l z>fbIoVb#1LiK0J05(wi)!+|4Gi8FHAeJZpwB!;CAE#~V=AtLVxh}WquPSQ*l`x$LA zF#vc{38h{r?TKu`*$}2QWR&I;7dDb4NSqtoF#>&oALG7mb^HD9Taj``UXJaMgX%Zb zJPLs3f%h!~xX&4(8Yn^w8V@iOOlvH$kW~G!UeRO{0|@0o9c&B>n(|g*&9N1136LP5 z{Q;=emRzaR)z7J3=Q*GMa9`U+jcbCN9RA=9NQCIQQS+I4x)P?G|Kr(|qq=)!GW_NX zLzcLU?()mo$5(gMP=R(D=N|+WS8IdHvPPG`rcCZY$_d4NfE)tCv8VivLwEZ`*Or z)JN7V30&}ZPt*0f>y0&x%#kcGHLA=6GX!aA@JOW_nLJCUjtWS10Q%`*2wBj{sS1xq z8tNZAlfd|AMxx$A&+A$8f8wuHqUvt)T4cq3cr8SBW~Y&=X7MihY^rO=t{B11gSATMtMyMBEvIf z35JJAnn{Crg!zB=kSp*osbiDf)_EfBN%88C#q`#p-`ZvI^l2f1vNF9LBWI_Lw!?; zYVPwVln*Nwqzs8eWgo#ZN{V=)m}fNz>qjKddNl>i@wzh?i-y02zoOOBo;|>q#$c{g}a2s4MIQ((&eYcLW=P{_Mg)rf~Zz% z`^T1PxRq#~@>zCf(LOuif%=nxlm%L67Sle1vwRxeIVY3Gb?BR>vHsNK+)FWKDLzBL zK-#eHpO42!EU2VaS_X%?>sW+5#ZWY*cWlEN2^9hl5y{+uj^!&RTl}UJ63!^Z}G}W3?NuI;B)qK)Fb-bZ$OZp`GThXCp57u#7o*oYiQZ8 z>EECs6M=1gf6_*Ud@Z(`{`Dj`*7qM%0>_k=|3r2Z3`Lx#U5T?0^GQp8vVXlz4b^BH z`fH#!dct9xwt>Xd20o3A#^0)bc({j2XgA~}k|s4SEY1-__ad%9h8Hzt?g?S>hvf)H zNPzgzC~g)m@dA`rH)%Du(0I`cw7sWknP2}c?TM^yZQ(vDv_{pO&G66&<+xTGG25Oj z_MbmwrZrh9dSr&;kmyK@T^4#iGEv+*(;qZf3ixsntotBXU{DJuj@ zW#M{w8o=LUni@qyvsG1^K(rbZ1jS2m=&TJ~Pl^1(CmzrxC*t5JPz{D%wC8~Op4xKLgh zyO`zpFP3%5FCTDb;;J*7b*k}fACX1s!`zze*EEn%p=Nhsy$Dvp}BVB&6AOGH!RxB28N)!8)?O{cNjI ziJ5GedT=kwgl9E6hB_pj*1mm49V*Vo@!9|{JUA&Ey^?z?li}XNToVyZ8{jLWx9JGI z+-K#T({)}&7g4x$AM93wr^sUE#P-C=;K7!o;liU%s$GT7cQN{;I~+uoPP&TNRO%GX z;|kfWc65u4x&vxe)Uffj>1Z|js9Qa-UL9ds>&Ph`(Ew!YTvtS z>DqhWx1>9rbZ6g}ZbC>P2@x|*4*s=){mjJRwK!-SzMrYiJpDT;bIF63vn5d}# zPsBkS9b6dyGw3+^+mG*e&VBW&I_Y4d^UWVRuU@@++dcQ*bIJz97pJ zJceL|GvHbaf8b_d+8=CGIX+O0U5kpv- zs~9wL07~aSYXSr-sYN-l&{hU21ztCaZZeQf%5tfxf%7bdEs3R-uMTdH+q6{1>Fvv` z0=yI=7XGAy@O5BG7|F!Ark6}sBT7JZ$@n=jzuTAgIlak7M0*gl@-&stQ27s%-p6C% zesvs;qL3WNJwKN-m zRj3ydnv&)gNUNb~!v5#|EOF>hw5(0#j3JN6_N!+ zILYxcv=@UMYFw?42(92o06aSYJw6(dhDOi>-A5=|$O zT(3pfrl(IK*EcK^fZ-54mXv!5Y2|L57T-E$vr#8$OeAF54L&!iBlSLnY?vge|L}*L zld`Zgj*d^WOe1B<`E0*Pq2{VwKFoL$GO$u`8VQzUdL!MuB1Tq9HnKTfe-+YFLEEDL znhn0w4u{Wff!HX5TWBV25uw`SpN$6=i_jJVLtiAQ5}L)1v@YxhTde<@#5LjBqQ6@G zA=XvNTK5Bdt!PV=@4UL>ZzbO{~gdRe{m=srQ}sB&;;Eo&?g&el_J^ zWJ{=pSSsdfA=aXr7S?daJm;vCCePZDfe{U}p7}S3`YvStf$Na76~)A0*r!msqF8sV zpLk~_*HHySN~Nj|XHso31{c!!`+^RKYO`9bux-Limzy{9P#}H?99~>;9fZRl7qNS2 z9dXRUjkH}S)j9p&tK|aCRF{fsbKC4d2wCk8o7H94JZxE*fqL}mLz<>P((JHXtuGce z?a+a>&}U=C8)>^%q-oN$)YJ{6vfikuto#?JF`^2NLr7zE1yYv172R3&lF_nZILz$S zh1AD2$BNaTVL6dnPS*IG!*XIK_N}p)@W`Osiq}l<*Gncq|2e6dR()jpKJzTaDp{lc z6!QuLw0>r(Wl7MPm*uU58=2vQR(Av$7ps_k!;4a7LDSW<#N$%kl-t@_{TjZ={LbRw zB&$~(J%@Q>Kz5EmVp#^+cRlfI^lGr=(q1{L5Fqb;^nbz3oh>3x^P?9#UtA~SFE}scvAeeSPrON(EYth zT#-n-yW~f=)9FlRoDr12z9W#ZTUR*nJ?-jpScMPug}NO!f4tt2MbgxGOuuG%d|+W; zXWxQ;{2S<8-g3p%NeQ{5Zb?W{v0>^#Roh=RyaifG>iV z*x~ddP%xRmV#GLM`ap*45=1xB=O}_2z+xL^yo37?M%l1>&F18~La`&#{g!+0xvC|- z>s|LRD26=AEo|KghxPY1?cKW}ncT2t(RQ7=KWZM^nNqZ zgIQR3OO4mV`u;VSUb6M#JEGx4!@IX{yLjjOG8w;r!TUXl+}>*PgtAeVxW?r%s||xP z5VyjtSf4hFy3s45P|5kVPuVARVHsi1Jc)LN^Zc4BK6Tm+e0*Dd^LaI!NBOe|I+p!) z{=Id+J#>D(V(>>w9UVgCeE|#e%4!Xln$UYJ!^WxslY1G49mM*Wesn5OS_T4ueeA$z zkhQ0>B(rgimMkjBC*>^}nLiKN@F^xkJbt2Sk>{75F$Me@f2S(O$*(;}lO zD4PX-KC@zy%pBh`-B~PkNbhsvOKmHojV1Z4Qe$*wn}9<|W&_8HVCN-w3@vul1z`K8 znl-y9{i^AzGTkTUP8LmL8J5EFNb=(iXGUgMIn^)*7Ny@PONcMhxZE$DR%iXrjz+Th z%GMbl;$>RgsQ6+d{=)~`fN6iC;;E83gDN#1aW&hF$v+oJ95(1U>qAmwvMZnOlAF^H zNP(WK{2e1|owmnhyC37Yi6xcgSVrFrDdlb8+f|v1L=8jyBFJ`yVg!F>H z#Y5C1xWON#oRvfq8b-Cx_y_I_#4Wrjn=gr*s`Aj6JKC>tp&GB_CB zQx$Uz2-Q7IUIG_yt=q#@hVB7@rCP|QMh?y*QpBpH4rMX>3|e9kVz5<7Z;VqYQkatl z@!6)IW!5T(DaNz(t%j=chnvlB@>C%=eTEBPX^)Ju$UYf}F?{dELuks8JW*BHe3 zdJMr;`s-u@6v8vMe#|2je3`jb4p}*TS#y&k+nDad=A)D?Ojq8>fjwRA3jGj;Zcz_( z74ls~d*06%c;5^kE4H^6`3BchA3*=ZV_z_K@D0Ho%z#itn_N7!VfOfdD!XMV2jX0V zZmE^b#s2{Ht9>ojnxj(b{O_gp=gi4e8#_GnlmA}QR%a52IYG~6MjXcCQ>yEMFt()b zDsYwe)IC=BMBS%qm~z(e(hv`Tg+wxgDub^1)#T&$%4wW9m=w(vqWW+~CRgQ%sFNTW8;VCFE}-^{ z!THX*K%c&VvxSj{3IR{>BdTN?U(BIc`~H=&@Hu8Svp1DI^CO@(VcS?bq8;X(w8L_e zJTeoMUPBrO)xH0a5|osX&bANJSo7@5a080>M*mmeYt{&vH8u<*8QuqfwX#Fa5lYq! zfdSIRKU8+~+vkuXs*;7?&!>0Au^`fQ*x{JC%AhoK(%Y0ClmJ=<>C{*RF^OSq8-{iU z9EGteL5koZ0X+0T5t`cA4T^m0~FF%H>EjNiy^hU>_f zfz$KQ2tfvR%|I8#kCgErsx+*X6k}gwfhK(xa9DML%hm5xY!mjlXT2|JMP^&?F;qB@ zS(CnvTFf?SQ=EM+SD#b0PnxI1aSHO_;*|9sB+Rv|&I8&0?#@j<{~n)jQ)l-;wz08t zz)uJIvyG>!$n$n!rZkOxgVqr(2hyz{iot^DnF4rZ+!uIb~A?v5;vB0eX zJn}jr*IR&G?*(`Sh_#AMv=^`+HuwmlG3{e?^K zJ9^~$dG58heQ-k{

8lI%j9dbE+w&gZWL1eqSK127TgaIGtF0+Kpvl!p#*-A0D;K zk_>G4;B9N&^R7Q~^u9}xNk5!RSsY?k%DlIAbOb`iD1JZStL=a*EM(jTq4fvKgA{v8 z#uP+Y+Xi zOGX&R3Sj6UONx58e%zUedG}wsePGC+sCSHhbf?2c>F~u`jlxJ=v4nl{gX6CLzKs*x z1MyeH&0?L?;tG52cQ0Ca*%dd8dZJFdd)0*waWCiO7wfd#DU`?($WO7bZ~NLct?j6Y z^@?HC8V7`<2`I@Q@)^C zyvee|QBHa-iLm|;+m7~M?QmS(e{`D|2B}UR9P?vR9eusQ!0t6Vu}Kjvc>sXz12)akrE)KooOF^cc-*YCzY9^sm=+ z?O>>;Yi+i4E|<2|^rQxvZyrS^6e)Oz(q>XAz4IEM5alZ_V9sO-`JapjSoUERw%F=Z zK@l&A4YiFs%b-1lP<9Rtx2IBmTf7lUAPX}8hM+Bn$779oF}I#Qzb;&zO>z9V*X^#) zgg`YG2DoEoZlyT52oRP<%rZ!^z}HkJW5rHu$8rrmtB z(9Go%-_rG&X@QNsbdKc-qUp(XE}hZx{;d%)+;1gy#< zljMUF1 zO*u=6*_M#_1rF$U{7IJ&U~FXhxkkR=((VQ$GgA|7_6Qa($E2&4B!xWnf0 z+Z~>Wb<7?N-31c^JE^fA-xUhl#s103DY5Q@!4E3IXj5mn?eexrX9U}DXHztob@~Gy zcj@A$#Joh)He>7d1Vhg3?H-pq>APX{t6*1wua4e8vZ+`5%V5ruJ}&XZKDSj_9CfAKid^k?!xu5vB&jl|#)DFY2W1kSq^ zR?%zFw@|jBUPWUj0zt-jBI6zi1VSS79&p0_z+ce!GQz0As&EYMG0xN-!zbh-cIyWQ z20=aJ&kPEs)Vk31*gT~^Na>6_iZUl|u_La3Lz>m5DTLyf+=os*5f}GRHFe%^1|tXB zL*K#W#V00YT*QR9!09IoY-6L}c>~>aYTA^^3=U2v@l%cTFMA{N@*P?l#Ukpf;q(O3w3KQb>CNm#)flc6@sb=E3hNRv=7@DWl)1#(EWpv<8m zZV`lI8vLr4Y`vwjio8Z7#}NcSY*Ut3f-kB`@$R0#!V*eE5kSyXRgpa?v`U{`Ic0u`b9q>$VQh{Ma9f_(c;D4u8xpKBK+^Jw{pGIJ&5a zAqY|5o&_sz6_H-FaFE-P=YbjP1q2C8P8pv_?q2SL)w+y~mLg|XCd^iM)mvK&>#X(R znZNTOng2xZn-N$dK1R)$`3b#sw>LgMF&_86$rBh@y|h{Q8!~^XKeAN3s$XTA;lzl! z`%-Ct^m_x7`YouYhDPxCE3fbASzpet>hok4ma?h9&<9S($=8|=Qu zPP!S)c`T9ad4YHyW4PsX9>I!cuvMHqS&Zi71PgUS?=D=Uu}q71a^{66K~sX zIM`212p%+I9F6SYoKPRe<%CNyZ7W+C#1yEDiJ`AZ-OMWrdDG*(?EkEatH| zQzr5`@JZmt&ys-iB{Go(PD#v^5|j>qE4}N?YY!<;8i9;6Tk#$Ylp>>+_*5eB(3c2# z^jyv1V-g5(ie6h&jv29vGh1pOfX2wY2oFPu7yuVvimV8i)V&Fgm??BZ9~E8f<`g5H z;E9O5R48c(m7PJ-k2LDJBE2%o&nko6r2h3$7trxow%k2P;DSLF7x!V5m5_gnPRa<% zS5n4g8tesk=(Z2SaT*FoVB~=o-HW^8-jS$XebAz~6RnTz$VcnD@*D5o7C@dq;fm1_ zTT9Ag&&gv7{?qS?%-dDaf7%kbXIbI0`TwsQIgfyRcir>W$h^x6BDr(LihEbAumlb- zD_s6hiehu!_a4oL=uB1Ijf7?aS6|nK2SZkiGqCOMjS=roXUN{yxrL6PTs9vfEhqL40U^cFj^ddc`JfsE@}x` zjC<`RtF1iPPt|=u!cc$AruKqf4I8fBv*+r^Qw=qv-ynU z=vEvMYj9xY?v?nP*p+?ryD|>t&JDA#<2%@Q8JDb%88?v!4$ze=^{*MXs)4vsRl1c( zs&PG9gH?l;P^_%k>MpV=k=M?CG>K=0b`roa9B;6sz~yb3zP@yQ_;#b?+_* zqHE>9X2{)P=*Y1cVm1V{?-&wLTajZ6C-}WNw^B5b!{*Lh5aK$Hxl^7)%v~C57dRiW z7%4hpHG+hKF+*Yr9a0{B<&ej7h)u5gQ?Q&^oyU(m5f|s-Tr8hG1QWm^URNLo(@*iZ zm%bXZ93>HN1-^y~5fG-*RLBhwR3*iK1yBiR13Ig(m@gwmFJc#C>U$=&Fxk;hg*=l^ zCw*a=g?Ln8;#63hbn5*->*@KKnE$h%^@um^_VX_-zAN1+_in#_2$$mTn18oBeaFI4 z{rJ>EUf-UA3*H5s#uzA2f<}mZ2czITHPt8({zVg}gcOs^VNY8e03wF@WV64~QMl~` zkL>GBY(Knl$I%vNCZ*Y09{l_l?%%ZO{x5v~!4{M{)34iUEC$muD3Mbf?-ci<4L@>d zzLnb>y7xW&_-!jMyTI!NDthzvEo}!r`lXK^XluD14>-QVSb&bnMT2u7??9uZ`l$RJ zXxt0{7E8;FQO#54Fk+~ulb6Dqu{@J-Hkef&CDGsnk&x(mqK2-Nd~;a;Ko1D2+%9EA zA|Mg8;@pJ<4MXe6g`@lypHh!PTu5@nPwl$Or4p%_9<(2r8c5nP><_SIdXbfcF#JY% z5G-i;A1td}Qan3piK&pwX#Yn>LHbMHYm&Zw)A~y<`+Zpb5(KT0yGgH8pWmJRT2J3+DXcIptLyrIQd3%z*Jz(<~-G ztx|$0Qjbc|59%O2R-@HniK>3VFV$?|s%()2>5HQk<)@MfB7wkrnG+)M5{3iW8{K#^ z$;O!a@X}Qj8|6`G2|+qe$(snFpbzl)`3IT%q^?ela|w0h^*GNa`NN4m{6+dHAb`}q z5njCduEcEc29ST42gU_e2EhR!V)y{U-l-TBZ(viXyro#ner6n}T+_$!W;^ITsj6x%EVIE zfQ(E~4*axuwzT9%X;{b!nT%q$hV8RNr3gxyd(Kf*x`5-0FQrAH=`zS2tsKZ**Tga*8n+; z#jSQ0f(;`BBkZ3lBP4oZxa&1C0QDo>Xn><}kW-mbGa&BhEBel+#pUwiCh<6b>R*5R z)Z}P=aq8sM)QMvK=+w+lu%%^h3P+VM;mlcAOibxJ=rsCuYEpRXi{RW7Q^k5_!E(u< zDlRLDn{b|e3J8;2P8w}x(6(v5tu7Kc5rqe&-LkT9SP`U)>mwwcsSg52GfN%|#2N1> zr8DuGvF^p=GjE?3g=3;HJ^d0U1I)OUl>)oO7mameqV|{RY4P~<^vvhwS|Yv64KS## zMdnL@`QE^b47xIJKtG^`9EQO53L_m8t;>RRj6}%mbD)mMsQjM3^O8?C2i?h)9iF5VW&)mc76m33S z?T`s3k+Fg?-B{W|zbSK5`y=Pr<)v z7X6ntpU3I&cx@u;^(xQfIy0zGhX1f2LUu*pkz>AeUs``E)1UTD`};=v{BN7KID8JV z&f#@frd?SVw?$$P>mjc6u>4Q_0_%)1?FcZ$lM%w{`PFE?E08!wRhpxvju5B!9zL=A zoEBlFBOX|OsadIcC+z27pX&ng6X#K`8S>ZbKS%DY=i$ofk;!SOMMhtc3k+qO4I~D4 znR;gRW=t5f7gdUo)ekkU94m`*F0-nUaL?RfPwQ{fQuTgceaa*5^!R+9zp3d#>YxKZ z4wc4AdS`iYC>Z|n0q*LYjNIJ(irvSRo|8VK((~U}`;T?-`_wP1t+2n{Q1>uqH$edK zM>-a3TQWOKj8t7dhjhlc1Er~{+1T@DA^y&HoBNi!FEb*G8l!R0V{sV z3InR0EvzwE_Q`3el&tXiQ4v?l+fy!$;=aiHi>!bMuZemUmIpziCuMM0vAmUn&0B0ceA*{ z?^LX+%kH+p)aLfuT&N-9LMl?fqD2#~xIg4{0a7(SnN53LcBFqtIT00hIhQT$33vl` zyq4eLb!yZLr3FEhL<#y=w&l_d3wD3~!LdNX(!BA?eZ4jNdd#8vN|)ce9!k4saO$E! zrsjLwn>Kf|LhwcP2u#B%b|en;cc_3u5vgNHg{=ZTL&UD>9IS2w=rpr?`bn#%Zl}VP z_}}Pt%Au4eYzsPx?1WGwxU0F>?NN2gDHdFJ-}+p(f9jes(deLW>xzY*16MAx{j#AM zvg5p5B&0M1edrQLBA93>XW>A~M!oHpj<#GISWc;{x2c>?gf&-v&=d4E{o8IARg!8rO{ z^M@N9E}?|&_1@=D2v*Ms>g~~ zsLz%cm$T`fO&4a0d$%;i*S4+71{%w*1-rY6_;7|75TAGGT$@v8yr~L-TlSMuBF{wPrsP&65aV1^WEKg7F*Fp``GekqU+y` z&)wa*7s-Q+({WQ2O2tL*=C5=?*NgCt<9097jhA-+SboqqoJ`Cc7K#VOkKhU?Bmqo4 ztlb-1(t`=U3t%Ni5N)Y}*2?$_+t?AwfYiO+94Yb{-geVsc=~~vC(UpOaSu))qsrYS zWC5ao_*Sz!Sq-+K)1(!WU-XCQrbhEMv#h9RYhSGbkllNyXKWoK2xwgff&gFc#8dU( zRvumK0CFLhFg}c=k8A>a8d$>D@t{11I9!a1E_K2{kg}WAkUhzCU6T{S3gLsyHhca_Ip%bdW;ukGxP;J>r9&IzonN&RE+#sFPowN_KZu6U&PE0XnptrcZmKx zuh^~h<$YD+ZWG_eZ3247X}$J7JOh8?*YBXq-XU*s8{YzyTt9Zd{M`shya&Vzp;y{r z=w1gP3ImGp+5#?F`1;^2y0m__?95y zZ>ku>uqey1bw!ODMQ0!zG1Dsk6BB4h@m|mQp+GDSpt(JBo!{zGc(Ho6i@KEO1_wL_arHs zDbr3iBDB`4uWofYEeI%okxV7CGRufPvy;aB?wq7uKnQX!OMN3;=!pW#F$5j9_mT0O zG9?)H5Uq1o(iqWi8am9KIV~Qwgrd}j7u6k@lTZN0gZa#z9qK%?@fcRBIdehHMZurT zyh_-fmLBSsb0XXuB!fDWq?cB*H=UjyN<3)N(A=4enCFxY$_=v;WrIRyg&KQkg}N0t zR5*6-BX97GVO`_Z{MXa1bq(i4ILDcTxz>5v%b`mN0FV4qG4| zbx;nh9cQ%jq`}n-CVkAExd>H5mdcQ!TDY(t7!LB-8RR&3Dj+>{EtjhqFTXjH7JJT# z2&ZMksvRxwJcAbEcV^qoow1wa@`LvgM%LxJ7q8TCtuMA}|=1O{&i_sk`r*%A~6<_P?c1e>Jv zb^zAQ3Na~q^ecf&pf(eFga!ySW!9o0C6U@pS$d&cP{AZR0Ij-+Z_o<|pj*QV0&fab zXSm*R8XYG+1JV{AM0rKi zA{cCK^rEt1Iu~$-2OC3is|$b#MX{!X9#1w~A4x4Ox{J$Fkp_<^9P)UADJ!yZ_6)hK zBL0W}LT)uUDnbIeB9alHQ|cSvvChBl9hrLMoX(}A zj?mvbJM-|+c%yOWNKv&kgzR=#I;*PLvPkhN?r`HXiW?ag!=7+r^{Vdq0=eH-txkkI5yj*7CIZo{ zP4jG?STQNYZSIHPl5y z2|5wdC@1_Ta|ZJIQ`cfOz&G@u>|7X41_n7bF?y}ixfG^`o6}dyRHnYCzr8U56Ohg7 zcZR(sp*b)_Y$156gchy8c04eCO+7HUZcj99wYh^9Yl}DR^jmGNU_*RK$zoO9JCGz5 z304tfWOX`Xut^k>U5i|cx{?K?X^x>VuGKD(NlUTpa4Xis&SFCe-4+ZXu)Q=D2TC`y@369}Oqs6f>$8d9?Y8zfX`yjfM7 zk%JJvE~_=BA=j(7UbV}h1DWcqz3u~G4U)9j+TraXl7d<`f~gbr$o$uXnLy;i|D7~Z z2wlQZPa-tVugoXjuk0Xix&P!9A0#n%tRA0NX6k!h|6OX$YRY(eitXtq!;GMJwj zv&VghFHm092ZY666FLAtgyA~hTq)#rD? z2;!r{uQ3~K<>GlTU@j8LyQaxS= zx*D-7PS@yywmu>H+7^r|Hn&y4ys0>CUN=s%JG~y!G!Ju*=Le-cd!3!Yc~F$(XZqx7 z7yagrG>U)&5hN%gxnTy-OK8NH42I%nfOdL~&j@{DE*QG9A%XTApRfqCyw4^Fb?>;W zj<9cA1z50SA26kXNYp_U54a4%z6xMq=eB(e&>a{jm27-~5T>}0M8+NaC;^_l1gO=0 zjNFmud-!y5_ZjyB0@a5c%$2)wm4@2)IO`pSR=H;O8vtueZ(s;m)zV&_D6_|z-ATy8 zfX-nFfND&p!DtVRfaX3X2$W-aPU!!?Uiqfe>Wn6$*lKxYyynZyf7N^uKdt$4%l}kA zzQvh{BWxytsq&BJu4eA(edexk{m=C{tvBye-wA-#V_0ucH3pDCAWH|aD4;i?+)^j| zu-KD`?Nj<`g}{U}5REjOXnFzg23#8;$)zfiavYO`lC_5n%lFPCQ}0j zahAZ}m+Z|6e=HGDt)8vET)^p@%=<%@dcW(ywfhceiIB}1@f0V0&Opw$MYH+?Sa)KU z+?8kC1c4V;YanR#UF3>}-EP-YUGRhOeKTWY8LGVQ=yGKmT(-Urcg&CJ@19z8$7WJ6 zlb6y|e{+r|+9gv9r;H}F_c@)Jth3XtHo!2_xNt0ERZ%O<=jw81Gfrn;M<9c0@FM7) zT6Ft`8Z2H~gS=4|iP3PQ(J6#)z;}=dwDqB^Tr6Z`o7YR~v&zR{AnZms&URGDM0Iu( z+)t3mQN_U1Td7B?{LcWz4D_jR!9qpA)CTi|-CyDiV3F@J>mZcM6}zGJd`=d-uJSN| zep1t9T?)@tAdMnwz65ZJR1_z*LLgLLykT)U6zJ$m?eczB`=U&bi~IzmcqK1KUSrsgcHWJB{4KWEuw2 zxSrF}Ae_2rH%yAgi~;|Y0(B`jnB`%fC0ip(lVb&3`FJtr2v1kV*5QZOJz|8<`U=vB7f|biqBwAUJ|QbZ(5)F} zkxQI3H7~Oj7gt*mB5?^ZTx4QEVMaEGQl&;jWYo4o)Vz7QrbVyH7v~7lN_!9=bLg}- z(5qGsne9>5AR`9;ICj;ee}zvP;r7T|(TnS!G++Na=xtijNHO}E@^6S+qMYOC2SWg$ z29WGftXT1gtATm-DASY*67x=`ngosY!+gYJ9(euJpQaV|ga?Q6iKp-lR5iZQ1MBLP z4=C5ok(ZK$k(jJ-Y{Uo=={Pgxlp#Cp!1|xiJ`a5P6g>l9(c|JH9?z7q= zhxk2r>>w5+;q7po{1Bn<5_6h0n6w;F1n;C0dox!MWdZ~aO%T8p;fnZ5c4yi!y`EOD zRV}a)Z^n%%&Izwgv;j1{7cncu$vO2A216N)r5{JixmF0ruq*gP1SM?qlo1I6F+yFC zga^J>a`QpOKy(!O1J$bw*_UD?Be9pVh5V8WyZm{(>Vk$gA0Ci=@tv2;oR{|bZB&5^e0Z|PoncihYbJ0 z5mkk&g?QK?88YYZD|D{}QvONaubB0xQ$5BzT|m9}yRY~)hf|6>$en4#mLuqevmRVug*g4cv#0<0Wk3n|^oL;ca$A8{$isC*xWy zSsL)=Q+}(r5KTIr-k8np`FoGQzTj}XJn3i%O4{X7f7tGAw#Sn3CGwK;pf88Wc5flw zY_of!7OVfC=@O@AT=KlOvM1Z^^sem5bvw0`3xy#&7mO|FKxvQ85#$Ij!pgs4Fxl*& zZIfMbhBc?t@3zl;I<#!arr4dqc(m+G+JJMgd%_L9`QplkWXuy!E?*ii+k=5L# z&q|M@JJ*`aG-elcX6(_91!E&!X{)IB`UW@n?9EAR9W6;$$YZf*{Ypbv8!USoTz)LR zzGT^3&#K1H7z?ur6TzzxP=G`da+T9;kO69Wc41?c3?sA=en>2tatLq*=sYyTGRlgQ zACBe^E0he;RnlwTzH;T;*UZ~7G_+%$Ty1C)5@VC!<6o!-_z5pCSo)Od{r{Wm2XFNUWemBO1c+ zrkjvFg8U66Q9>1Cy#dAeYJF+7Zfv9!7?@7fwK*>{|czLhSwI~;Z4ya`{{*&;=!W{2~av#vT$7#z3aXtqJJ(rgbin2k32 zjo5&19;S;~f@^jEGRw^f3>Lwa}He3Qte7#mLk(DuUXTPZY%>?n1d;`4%PJ} zpE2U`2Vs!|x&uNs`jNYjEPEvgbd?{hG*-!l05pd@550yClwJipt|3?9K#8ud-J>3@ zoTXNFzUyoZKvZ#Nv5f^9{SIFs>$EwPn|%nnmA}mFiIrmbyVD=Csf|9`CY81j9g21N zav@h^7C@x;`?Dc;hW29qj4hDK*!(|`=Y-_PXX!Dz_ zPmc-PvGoPSxP1DTT)2D4v0@x`b;wuyz zj&EQsS(3*IJ>7zmXjIz_dClb>C9a$u$?!V;e)^d+_ek!-!4BA+%=FXhnls}wSsD;sk|D+yKevMcI&X7%pj*;EMndJYb|KEIsUpub%qn}?>_GYiqEOE{I%1e_uQ3M z?DnZoxB}MP*X(vBeOJL6aD75N2S$+pzFX7W-_I+)Xv{JFD-D6Zwrj7o`l8yeryWuK zhs!_V3frd=!sA@=TYK2`iRI$<)lQF)V%)ckR!~UnA8P~Bj*<2bu3giXvo->&dd&TN zZ6p3bFaDS_>U_*>%&K)~Z-!T?X~v^?^N&whtrH)o#?+%RfAKgsg3_x=Fsg(MQ)Nd| zP$}{U3o+wQYazoxsoK#H=&uL{;onOtW>2nML|vfb0L>i6qZ$ZQyQwTF`Zp6J3H=v@ z6&6uohclTz0t@TE@cBg4=Jhz<7&7eh`HnGCc$%QYVqLml-$7vEW6px}7zLNli5NER zD8xDlvc(n;meb3F=i!vPD`X&r5%3x6C`F?SPMj-bIOBF-$~a-<8HVh!d?(<;(ceUy z^l#sIqi8l~j=3|}6yg~}-Sj=Kw#xz7=!c3m!RV|70)0YqE08k~0!)A~@YvKrEJPVy zw6<|&Bh|%Wm@qctVB@Mxt}IG3@2>WkvRwG<)0+M^f)0y!cvAH~Jq% z$KhaTaao)!kI#IXbwuG<=@A!qIp|Jq~Vql34we2fP9~TX#31dulR&`0iB^EC= zUbJAZVLdo>h|EsYh!w72d6Y`Q9Q;Hvn9$^&qU4(VaG_U6x-yn(Phk+!^dmew4Uv;JclhQ@dN2-LPcI4a=7K)^8o2t^&Afnl}#Y6;D`z zs*UE2Dm1*!))_}@+Xfl?oZ2?LW1!MDwR6=4t2$NAHHO9w>>U2%jZ3(eUpXSf7*Dh= zYi?fF%B6J!r$+WHb0yBwG~!1R_D`#RlT6hk1yWimscCkK4`S~S`Q0$$Au63cBClpO z96okz;+z&h#Y%xg=ml&}9TV%!xoPgqIZ5f=zlO|szu;wUQ{7H<4GD0hu+q>W%Pjf< z{#}?{WmXWxDxD+f~pT(yukj}IBfzag7G!&bZby{WDn9y>ZVpQe!h z+_D?TT+N3I_3Gg<<;^HW8&)lguU`_0Aj4S5mr4!oZY%L+rJMo6BR-+u0Vm|3F;54D z%1@p@cJ#3WU8&yrG;KXAr`|K~y=r~wa0fH!e^gh3K4~r)PDLCmWU#Rrn_5dc+^CAk zSl08T(x>*a{f+hz` z!zMM}gE@v0VU10V2#XiLGOp@qZ0wN4D}i_`Zr|P(TzTL<@6xX~uE$N3eI|SS0}YV% z9(d}b#gfMW6+Z`-b9#!dIucz;qx!#?pzFUgDHqj7=MtJ}e4G4Q1$4KV;V`7iEZ<**_+Chn#P?W}R zu|(Ijac`E|VeJ=_*04w4geEH&-K47er55W`in@!({HAU?L9~}B;@A_h%%h`!_+|D+ zcPWzX`lqSVlGuGP`%O`3X3C@shofuTExO~_G2|&g>IbnlgS0S6@sgS7&eIVZ zUHsXrcIH0zv1}Ws!~2x_LFEsabvcZw9#nB$1hDNUR;wzCak0BYfhda{Knwurj#A-l zr1dEm!Bk>djF!GZ#L||?EJ*RPgly~Y9fYx|47dU`bB-wVib1S5(J;#RS(Bt?3BF z32=}q%VCnGLG+{!AF!g=PLV5K%j7fN+;OEAWP01 zqqxobc!~TL%f+{s!;Rr7#p`D-#|%5Atbp%IgEYP36y*l#H*Zr@yH~8m4Gf4Jn>~)F z`+`OCl&n}mzL;XLPY}=JNjo)x>=^oSlQ3M11{A?+7=?LkJ`mn3FgtgnO8{I0C1BT- zZZ6njVABb~D03Dy!9MZ^!s0~RL=3rbI!&0=?25QDG}w9>UR z2$bef%2OtdCJ+=1Jq0P{jC+ue(6|RPbqe179)j_*7)DDmlWW+uBoKHttX5JjN4oP$ zib~Gs$@;CCsy+7|#WnHsv)e=sG7@oqr;Sv|Ho4s>+eMks zBpS+%OlU<|@5a!!tq@|aue%l2UIW(z@J6|+cJ&Mx%8Hcy>?FODEnkUQ*(u5bKExUm zC4k?-cWVsqgDm{B)KBWG$*I*^x%ihT0iV~>Bq%f)QQ#P2q9B>y!(+@E!fj7L!|6IKXVbWgC zTu90PSF^)}k~GYsVp* zpR1HiYVj8&CG@YDJQTPhljY?mNKcB zi|s^>5Il-DRY1YC7SGAvuZir|Uo_e9N19r>Cr4YG%wtNiL&7jR{?R;UxMV3JGK{%P zMSfPJd>9N1guy%)EnBU4G|botiuHy^DK@H<2OyY2%!ebDLcML`wR2L!KPHC_tuK(3 z4wq14K;##eDxYzn9y2ir$Vm6~x~Z3&J98=Mf`YYhFG|OQzbU0@yi^)*QjE`UDMhNm zuAmZoahAot3(^(Sqc$5Wv~=mWCyBd5VJ62`Q)bW*qu|jwt=M%8SXB7sP$8GsGC12v z>=XsFHkbI9Udly!17{%Z6!Z zS0w@5tKB<3mdgN^>KNTIf9>kA&O(zAqllV+(&_S|EUIvLySoD!8y4L~>#Yu}H|)A# zQ5)Rpp0Jk7m)1C)$~NJ&ZHCntt}c(_a}2*}i56&x_2e(H zH4%CbZG_XAW(Vjo*gqor35eW<Ac_X z(=z^>Ce}A?E`__wQFj6;;tMhO-T zex+yo&0J7?)5H76)Zuxn=<=rnF{N*0i1)u}7`bt3w{a@7OTE9E?~UC7UsNAM zhVXju=}SQyV}+t2W(QcNh7M{s!39|0APvxVCQ&f9Fth-_!) z+wUG7-Fk)D{7u7?6;R>OJ6D*84XVsvzi#8ixZa*CP}@5uNLZN|5qdqocFE=y68YH8C`cU}CKd;ky8IlRJ=Oa_hII`fZ0e>Q|7CRD&2Vsv4Vz8g0so=cQ z4QwK&IC&&{m$3op7%s>`s)dbA<+M>L&FYpEnEx<@HBEmeqopINoikUo7rSqnH$g)_FjUrnhLNnNxI+`6G0r^!@u6q*5uK{U_Bsm4AbA zYb9(N6sLoE5AMtJ)&R>vdS-JmnZ&_Ff#b>uB$fdHh{8Vb1-gbTzEvW_x#7Qw$vU{L zpc_`;Q37^_P``srjl@@4g^0pr#8<03mN;$JsA#+3j={I?YfHAZT9cMQFh9IFWp`TR z4Hm1*X$ytx15SG;=}tHognN_m)_^}A@XhQsZ65pFHmtoqOFG)w&~@kVp5@p3J;lI+ zhPC-nRPzKy+8Xlv8kT6{_)@Vo@F1ovoqNd&h+opH~2l)z(@l^P@n^++nVxg@uWQG zDyf1iVi2%1m@sA7(mFYxCd@`;mw+rY00o>1srOP=Ir|oATlxf!xG+;kl@nXuQ2_dW5flS;8m9sg} z*_4$TnS~raQ+l>RQ=#;I-N>myesuD0lJAC=9-w~!S+kc0U{Ea&Mq$;m*}KVyK_e77 zl8`|Y<2z<64VKA?9#*%^Dow8cXRtkyte*~ezln5`x=Jd z{^cfb>gDczFTPyby0%T>3gvrH-CR~EPX|KUbYcC2NlySDW60L`;CnA9S1I~@!5+;R7aFN+|9OMm?3>wdFHtC$Fri7~7JKL?wQ=NXa# zRQN;4z1jc^L>+=M!T%9>Y3S&*FoJ=wJj$vK3ANlV<_?M+K8*d8@_{n7-{sDAtDKoX z%e(tY*?wr>rQ3(*74k0lwjCXT;hR7B!JCHz9WJ{U5qny`FmGu4rQ(VGYIn}g?o!^GWz zw!jEL$+R%8tq6mY6EsFnuz^8D2|@C8-KQ2bZCQaGGVa8mg;VTGM$3!_4)btP0iLdiT`*FG^Hi;4aj@Gn5W6u6inA1W93PL{(fF1ut1F0EV_q~C7)Bru|-CaIlMem}T2 zUgJYerST=V0bQ!UKuEBOmNml}rDJIOWy`}&lfCV0+D~;ar8|hD1Q1;>ZBxia$+o3t zJ~qMdQ~eOIs3K25v&P{yEo?#kI4B%}O1=WC{^q)!b^9nF54F??11{BaVlFgPu`ZH% z8EYgt{^2{uXdxddxgB9gmbSEP#inMM`H?@=E*WS_WJR`OP_=?+PsH*e)2<-_3E0k zykeM}`3|IQS0LiD4B&8r%n>%Zbw15fIFxu7QA`R<3vO=oY%5`G>zn^)gcIs z39No3ThX8)3eZBr!$k4|GQ3f?xj|lGA^<%pZdbjl+bBOEt3SDVWoz5&fh`>) zW7mxB9KN8lZBemn>>B0wc6&q1#KpJWv4u{cGq>Dz>m?goXL=T0Gxp9qH!dl3EnT%^ z$JjNCc+!7C{Tl=Zl#y3QV#=t>6@kP;kVxn+){PEDfH6W_kn|3d9~E(E=_?P0%7o$_ zBw=6Jt!1G;9_)8$h+b?e<_PtvnWM z(~*{L;ZUYI9ZnNi4);2_pTnyA2d16Ko;ji;U$t^m8Oyig&} zlTTP7hGE4ll135{uT35~uxR0d_doII{zb$!L)Lotz7)}zba6}1<2#Fe>w3tu`3yv5_B?zBbLKFy)kWOiT z7zhp(If%Q#jk{s-7%Y~H83J^4VoFgLs`obAGHpHa4G4O3>&pTGi@Sv*=d9Kix5bCX zSnu|nhIJbMQfY%pGL*~Zr78JKub34 zZV9BUEmkFZ6sJJ@MI2l64VHAEMaIJ+cE8yVqKVdEGC{#L+DWUf)2u^$vwG4=M&g+L zL?SuqYw-r6_Doyv{|acpNCsNMt_@eUG}rsA?ze7ic3T4e4+VJ4-mm;#O~QJTqG}9g z&WFK(^uHoE7OWqLkSF*u<*_5_43ZmcUjfRA;DsgTH8^=u@AVM_Rn=DCv}>%PVb$9f zMDNU9uxWlU-l#3uyuedmuV#}k(V0uSC&WAnqSF7q=eDypmc#Y^S=km_ae~rY> zuenQ6@@7X%d(Q9WY00}^-3TIwxpXKhLxGOq@%CEcmeskbOL#z%=c_HPEQusHD9gFWl z>^0M9gQ);t2r~#9>j6SQo@g98hkDty*}2b>YFqy$q_!GI>`4fUB%nb+eC1Eb!hN;` z+eWJF$_I@IhI9T&iMLrwcvh9pu@r=u`7Fk$Y$1~7r4AJ$7kRhBwiwL)OyyCCYOHs7 z1pfk)f`2L6V54UA9ZJqu7Kb*I>ZFqcqc;tZx zM(DF`?@1i(#IMThqx&BE(2)_#=#nL)mXRYLdT8J1%)|2!AD*Azb70St#X{$yBZoS> za=9+vDHQLd<9VDw0vJ@{2bJ5gbTr}3spyBai83O-p9=R7PEJChAy67PXsU5yIQzjK z;e|WFBqT%#=`P9^Y!EVK)ICW&Cr<)206WG*AHqXJ5M_Y_IP?C+Gu{Gbrh~JdAzq&K z0!SQM`w%MKWIn#~OyysJ{xP0uXni#cL@0aaG2nxV^>e$hvqYv`XEX%9!d*q00&8nr zvs9G$z$A^SN!pb`!NzmzjIiw93T=6Tg&B$-QMsqGg>OL`In<$pd=pBo^)uA8d7f+V zNP8S^Hn$b7VvSSBX0D)nD34&P-*^iDiFLG9o`;>y{AuR$QHjp0d!d)u){ziyd9|5Qkf|A9{!%anDIdB@ z*I*f(e-&(qS6!t%f+6@Kw^qRxc$JEa7MdGD#m`1Fgo&Xx2Gm>mIm=3^uhV}d^7Ky} ztn8g`qZIi`k)OGOKX`GIz)KH=Na!<8j?-tIOR-^|!>T7>aWL#nup~hn17aOLhMlxx zQ>OJ7$O|G0(rxmQ)Y^%)DgCdseW>uP?fXGM6Bni$8@K46`Gi;zA6wKF2qMpCh7jy8976IzY z3KoZXKeK~s9SfEps|y8UrwxMxR*SNs2T|jpGo8yyan{uV{c3fZUr zondE74hSo)HRsnY3!%=`^nd~^D?&!eo-xau(IL*#1s55_WwIKJ^BZ)9{%4mS0a}y{ z^u!;lojrFCoKFQ3662)VAq^8Yv_0ab0NbTu;-la~EP8_>$|(Q_2GhH}Lq+5>qc}=b zFu6Ai4@0ZK+89MR+sv=qmpS?o;@^{eHs*78t!dFB)`PqF&A+}cnDi^QsNEVXhMx`9 zTl!T55MFfxkTle*QC^?luK%cEpfx_yG`Y0wbqhDH5(RAZ@axuiwip-*HD^QVu*myD z`f*z0&vRt?3Y!)dk2oSOj~DGxRhuvDUbMxL%P-iw+}S>C?QL@>B2HUS3r8HeXdnSY zaCdWO$P#ep+AZZQTWf6A;Z>2rbsok3_fDtBSKkwhxOOcG_Wk9kD~=#}uY1ZB4QZns zM2_9CTkHo6LdEmE9#_O~Q@odsxdwMF&{kctK42HVSR$x6%WX+ORq?oFy59|;Q16l< zC#Nw&^@m*x+RDC(L3iX@A)NMkC4WOtaLF!LRF=g2C-^;n3Uc36_ntpOZX^sLI{SdZ zHB6ka7{Z!WOi#g#U zMp#>txlJ+=W62?gX!Nu6f>?iWcf=AzAE-tjSZ&4mdDRQ6E^=}BZCUV;$50zJo|spU@{)pGErnR^x3n-fAB_emO+p_bM9^#xj4LF9(u*ryV&d%SJ%=tc`L2y zv3fEJUF(LWdQp?#gCK_WDYk#UtUjjv5Iutw7jHBTLX_VNv`;HB)*x~v8tgRY2|dJr znA|ME!hVWLq4e$;F~;^zE5`Qr5gyyL|2OqJZ@zW!Qb&0>F9L6Oqulk6=X7oRfX z8Nu=pwn=^*!qefmSzp$0>icc<>o(rqO1sR{WJzQS;U7br3>*f*E)0p!m=bWD3}P;T zJ=ty4b5U?8Boi&EFwm(IgJe_g0rEoT9@@E+q(9nEc(8xVT-A}^J$V27?^x>|+5g}p zH!bTC|K-7%gsL#FGVX9>uIkA8f}!rvg?Bx2-xba29q(E@5+912G|seCZ6=Jd@6NL+^S`*$%Ta;s_0h zlflOzzmkcb#M-jbdECG#9Y4+-2C1enT`A!dr0VU*4ZP9u<2?E0VR;J4(NLbBgC|@A z_FK{ki?0dBt|Lz4kb~Kdok)r6+pQ>h| z5$me^`cpDT4Wdvfi;ehA6(W5iQYbdqeT|{|g4ku|pD}lIjq}y;=6qU$H$JD9D38u+ ziJx0isQ;51k}owNTgf>#1d`ofLF-E)^~xxsz9p8-d#j8CM=Jl*pNTXx`4Dp`G)ly4pPO78kd#-MY4&H~Le}yLv?d z$#dQ9n+sU$^{-!kkS_u4A~-h)c~PlHSbiL=8rO{0rkNS198;!HrI0;6KzBYE6V3-VN{T|VQPk| z)&vy7bY7+(qQl}Kw*M>(?qW|Sf}+LmBL-dfLGUN5QQ|6jV4AOzV|B)9;=>aO}?M7kBSgZfEhXS#H_Vt^bJI0n3*BSrN03JZ-ji-y(WF}Ja&R8ZJ z4}9D+)&y*a=M#Z=HWM>8Lr|Z_ad=!?uxltDpc7{%5h;6P+nD>twuSBk;;3Q!hh_OM z8ryEv8ndm~(4PK?x%}44Cn;CUB&1Wh3p)bwQb%Vo9_Y9bHJdv&W3yoIGH1D~tL$91 zcL7-FW`xJM2qF2tcreskDD;N>Ed`%D&qi>ZGfJ1U#&<_UTE(hT>$Yc~; ziaHcruZ<0`7@L@c6)Tzv|1u0FL{p|fv0_=P1X1=Qp%~3c^Cm|td|Z6$7+!`V51Fww zQ=8UdLsL%QXha|80T6u(2=>Rp5&8Y&mtp7;jWG1YYZb2-|D^ZhYP!oe=xZChz-CZ} z9tM?f=sT*H8Dcs$H4mToAhVZ0tz~29(*(qS$`>@a(Hp!jzvADjw?R~C0Xw0*W~d-Z znk;!1k!Xf^LqA(%jD1c}12az~8Z(0tDE$s>JGj7x*r-Z~f^oEm(y@JVURP|(HE-G0 zCy;!Gi8$69TPokLYfWorc+LMQ?MvX>I;(vB-7D#8-*;KIC0Ul`eP0vXiL*F%;w*BS zeRGqRCMju}wt1Lf5#DQcf5W`#z)T-+ zewq5_{m=QXB*#fh=(LV>b)~y~%lXdvpZ_`Mzl4&O?wa0ZecLWwX3vVr7U{03YhlGr zIhO1mPllIWHZVguXt=i7M;-avHrqz(r;YZ(OWIF@!B_L6lTK&eMeDrhuzPd=OvhAR zU|Czw8}*A^U!a{|fGnc+#2@QPzlVeEHP9A<7>9EFz%O7JOI=x;P;b*uSOVdIML$7? zy7DGoX4^r1YHd+Y*c=Yq>|rvx9l=nw;+%bpM>zZp(7k$Ln~hgYft*Aui*&YNNb`&* z7>$}(lKrFthGryT4RaZ&j7)T7X0ZU`5?r}Blq3T&9-$U56e%trPCh?%9}+px?8fkg zN;*p{WrbEuo@~o_JO$+`xnN<2! z_(!gD(uA-s6B-5YN|t$7y_5nIsy-S6Uz#n*_!=O4JA!CC!!D6Hy0wq!|nD1$awB=je|G4s=C<|h!i%}PFC)Tc)a>ED0<(5Z;ank|S<3Or% zX92oX##t-I_aFzZTR3;al2raTl||bPb~er#@HAEHUrR5I`GeX4d)vrxWNMSoRkuRm2z77clt;5%{qIv9G|7 z2p{3)n8}@3iwXIa>oa-fm{f&{MO5KjCs^7T1Tw*p869qfK=hV<`@ml;nMnC7^{y=% z`iflVRupu^o9t3wtTXQoEuLBub$`koU0hfkb+=K_(n8RWcUl4VW<)wYk1;es_ zboz8S2t(r`oDcdZB;}5VQAciVm(spAms{P@u{uXn`q6S;hm-IT(z)<*vb>iqf*-*k z{~c&hec;7Tf+aMK1r#!W&@jt^5%E(~CHk^i$a6-<2(X}00Hvkt;FpKh0v=k1g?=WN z=>>?ck|dHp$aRJ&8*!!qE(sPPXc&;y;giCXa2R<3QUAM%4yoK<&d{a*67vQaRm$Ji z-RA%O)X5H4uyCaOec^O$(NH8MR^ah)qS7Clh)QMSuMm&kq^c%O*UOp1TB$+wo?s{x zJU!~wPn5p-^)+EvfW7W#Kdt-{=291tr_7ivWXKac7;QmoKUGP`3sgBwloC6bN$?yq z)7yhc7#wE&mV^kmtfWr!tb5cgs^Vx>| z1D3ANzJTN9hPBl(c!L{8rX1}EVZ+ab-|ugU1_S;U^I^Y-O77Y`fv?AW5Bp+I0gdyI zTplrnU3d9nFLm$A=IRyD)ssGyWSPJT5{lTif=2%x#k7`;89lEM17|SVV-+ozL zJiAZz*Y{LCIqF;4YPxat!{KVxI$py8u`epW#`$Y74biNSGCm53A#E6~8G_HBNTOWN zMmd$r_-dkdb!O&zRWWT|J{7I(TDZQcxzV{BykTdo2G4Wkr)Fj42NV1C-*>k6)?|g( zD=|iLFbg>5m$T^OIh~~Byfl-gT2lnOa2H`v@1ZbrBou2n#v)tfdUqf+3aUJ^f?+OT zYzy%ls}-|Uv4>(IyMmE+_fDim_k_dN8PJ2B;_I`1iu~G}A?eTSteE6Chhqis$=TgB z2!W+4RyF4PduPPuia7rsKSddqkPih@X2`&r{iE_Gfsf zInS|PoOG<4(^@=_dxfMPQe!f-^r8_-+Pc}W97$GPq^Di{fW@tp;kauERMKBgvN$6- zLwephWmTm{Mg65O<$mXvi}tXKpQA0vcP>R_Q5Oc_Zd@$g|8Y4O_`K!KOWvDnz1-+d zpj1=jT&EN>MkNS@$h}K@UL>#0Y$#I3sw?}aXgn}m;=E2(zJswuBP}{uZck5n^RbI1 zEa*;}hWIPZ#$p}_?2Gz-M4dSkgP|cFq)pP_l&W&0D&@^5E}E|JWT~g-y5+HRPG|D0 z{i*tG<+rE;_+boms33$ywQ%GK-mr-95)(m?8&pqH?D+-wJcw~n-ok`V^dTaQJeyCh$PG*nDpPm# zSb{;nIc`RkIM~OPR)}Sy{d8D?3ARlc{#7wz4yT(7`xN{VzI#4hw?o6a6~} zTvc_U4>flG|g-9~2TIwnlZ#-@d45n<0Cd{HH=<(DJWy2vvADXRc>G*(g@C_Kh zD8Hy-d8390ij9V1WTq~MK^lQeJ%=|^bnxB@M|!TiN4=}9Gm*1*4%8pIyv=?2^NS+& zwRtF>gW)LFpN+lESN4ZOgCAeE>zPlCiw z)ZZCWL_!Esz#kbfSV__E?DCUZ9845U=Q_kIcA-RE7iDAZwM2O67&Z3l=pn%f2vP8J zrkz$2#gaI-!Q{7V4yPT$C=_(LELD?N$2fx%I14;A@dfL0L}4(`{`!MRI$;hL`Wn`l zyzYQ6?hClRrYTcH?^-J2fRGn))M4|ZYFco^u>`_EQ2`NB4pA_w$zJ`THLAy>dAyLb zZ1K}qm@xQ*jpV3C={!|2drbYCqWcd`40Y8clQmsK6NmQ4HupOmNC2go3{ZnurXEDp zb)X3;l^dD|PX}O=vQFeU9E(X06hqO0@?fN#Lf5Blcr-2^3|21vGLkujJ(~7qCjk3k z>}yU`j2?;F?Ph;8s=*pTeR?h-jcCUhK1GG=cNYf>CxJfGiSYdjUw)NVJuoJBuq~e62PQS8J}Rm`cB>m1?gQ|48WJTIa0Mo z0&Gf*Ed%ZlYC#+15g}DN7b{2CWqqBc|3!D!9HN3TUKg}^`UmB?fx_n~=Ui*H6eIUS z0g=*$*%wfZe3kerv}lCd9WmiA?1oU*e}XtT$>IS%DjM}3CRHDi)JB8Yc)0t(fo=m& zTBKS5o%Ldj5!TBtc)m|$`0FCxGNh^kX+iRq9^@Pdkxi=kh-5K2;y3lD83JHMm;GKJ0HNZ4=AHliz2ELWO!5df{(M&+@;VUsU374(MkLYF#`G!SvD^_wlM54~5(ou+@N=DlR4RML`X5kx6{ZSdiw=DmroGlU&JEHF#tUFNk7jcN^P9-GnTP( zUXReOxF>?tfIwzgf)umq;Wim#AtL|9mu3(@nBhKX+ z|155Ns8oH1%g0b18N=aL)a3y~aJTTwyq#k8IVa<@zWvQoF`CkbArB~yyBmo%Hoez2 zxfrj-MYo37_O5&p>2{p=z$~E+cUeiy!!mw10ts>M|5bfic>>sa6UbTDks^ywda|); zjsX_ID_dibiUdN-ZA$V)(ThO~G*K@4N2{~~4ARK)2dcc}*I9zVAus-P>efG9a!(Hw zn6&2nlGAQ8`(qKU;B*$4)mQq@^@M2~ zOK8$gKZa$C55>!+F4q*YCT4J~^MJFK72RS)P&LfXrFfDwif>b%VR$=`X1E1BPYML$ z;3-v(mUNvNIxz8+h}R0ecdm!N6dE-6;Flg8lz~C(79DO)9=-Qyvi0ztGUinrs+{Uf z`lBOLQzKD-vU94kxw&~_@|nqr=H_CI(8#i7BSwUfzpZ)M)YP)(HmtoIU;B4$W1-ag z!opB!VPSnLG}g9?59M?4Q@yS3GJ0nrVxr$e|IAe<4AMDNRqAAmvfb#Z-29%}|N5Ms z8bL<@KxjjX0nLkA;O{-UQ<^>ANmF54p220-1n}a-NX<04Rsro1`phslVYOhYlUvG?MFK5wGbwzVhaHnLV2glYL17(RllJjT$L+~D zY93hw;jrduj>Vci$W|AyD_ZbIes_VoP{#Jx_e=Ta9_= zaMzNDmvoLe^WxU}>Cw^YdSA>I33*hTEf_|^KvyVgi?_zJaV4Iu3~jq_jjOBq#OLqE zIh?=jyZbXZ#nspEO*c2E_g;TBKjxF_ooW&q9_8I72TD7}9U|@_q7bKE#{upNn~G$A zVbvo`n~=g`GB;=u1lEWIhLjZ+^2ofcO8$)}d$zowPV zgvB+l6pd=_rtwBY&fJEPOb%iuWe}-=o(jr1Qt|wGLPy;v znW7{Y^lx62xOo6Wn1#^tio;h_50U`Lfd*;T6*U6L1o2=kqlTGXaLMPevD;hx5PQ$L!TIE z8qM`Guy)b?W3Xk?F}d-c`bzR=voHo16SsT*VrI-M?v*NdQn;7OxF^0<_6hn`ze=8V#Os;GdrDs?B4>GQ>y z)J~yu%+*xq+#BW?;90h7@DtcLv`NBU>a{&}ib&ToTevp8X)n)+vNE-I?h<`X-rw=Q zg(MC!T2e`5RI!CuZRR7y_H(--|L8RRZjNI0=<>2+m-yC=iSoNrJ}H-^5z{oVf5>2+Plq`u7>9^E!jp zdL5_LT~z67sOcW)TCfDOC|VO8Nn0ATi}V?z(6IQPzgd4dmaa>LQ#Pm5Q@^4rp$Y_x zq@D2V68d#T0GB|`Y$Wo%ldk+3ESuLEq}c0Z8sL%6Yw|U*giw|&=o;v*iB^j62(Azg zd*E#o-}41N9t9OSJhsRQo=HtSx`LbSC3P`IOdYfw3REDitVpUU#{5v<8xAEbAOusT z+L4{d0I*mQM{uu7z-zA>EfTP#sI}YV_}FJd#->RE*ns1Z);3sZ$x;OE>y>Az56@P< zPH$%%e#>(GI@%PUSZ)c};eaH_4Q4tp1_*G1yYwBWL9gLO@CEfgRpqE&O8Q*^>++mz zgt({9fRDRbO97&SHce?z(4i^L#FMjVsk)pGAHxylvqZ|0ESBgXVxuDwTU}SHYxXTy zYge5ug8%rl;*_8Ff|&D`BLI$$(-BZwB&SOru0MT7KT`Z%@woZtDIOYdFjwJu^?qb? zs>Xue3o47O3h^#?u3};$RVnn7o>X}=010C-H?nx%98N$_N)J7kxv?nUY8%=(?$#f5 zk8d2ZwdRe_VypbTu0+e2{eCIsw6C;Nd|Q9iR-Z`JgR9Q(SC)SCmEtLir<`{Q#a5~6;kw{)VPfGH=q`-w zi{rSs1OuPO#VOJhIp|~@zJ3Dt@_OlBh;?Q>G)+9Z?%a!W!ic#SmkB*DbWsQb6gpZ! zmpTm(CAp$!QIS>OiEF`ci{J!xN(YPq8m4E88=Hnx&&&C8^^cL z(vAO$J5M6B66&YhzhUOgoI%W}KMUx!#pk$7d8*vN@P(gq-?A7^1kGqRI=cKlH8?%j zkvX^N;j%clh_}E_KPbDsc+1qj)UV3Mi)`S#5mV(wzwfWO3Joli?(zCeS`DHa*dWJJ zj-`oMeKaVfy+BF~++LJ(AI-~t7HO}-vICsSxEhBDGy8l?_Eu49->Tjs4OGc{IRAtHEtH*jDjy1(Eo0D#jqha$XysiO%iG1OIXZk5;OwYh;SKZ zCFoA%9}9;pQk=Vlx4E4FX;dp=BBJ!R_hJMvZLUr%LRrnIbGmgHHzf`?r=O$fMEzx? zEx~d+D#mQ0)gHEgMr8U@z4S21$qf=5GV+?~%7S7O)bV!8FK0YLx%2U) z+`-h(@RQULqtSR|8VR8Yx?KHe@m`DFC=OGX-38x1`b>WV(~TdDSbJ2&tzO=m(J9mc zCa2#aCLMnLn{;nXbo|Gm@ga8H-ob8#Q9x!#E51j#gR!0w22X~9lY=(1DQ=4f=lO><3X0*3DKTSTS$^;7a z#=e9t{5>aTIis!pzEs}QM89vg)Z_QE%#3kF_jLX~hNpFkhH6=lOe}fhYL2E=PIGlr z;6Da`kArbao2{wdGim&=uc-;mx<54@``d+KlM}_%DEbGIcaiKt0U? z72w>aK8dQJC$qEH z5kvG}(Am8{cE8!ASx^>GC8|ZRDsFzQ^CQbC>AWxEyz@O^kA z5v#JEuX=$yn0@v_mz6hBbX=latC5|e0%{I76g46>47DOP6g49?91;mj8xqqG>k4vJ z(B2$4r34k@5Z1}aTV7&?8FPGy%uUc-ps3S{BVmhj&Do00-TlLExKD=rySIpnEnNdc z#;5E;hfVYNob^GwMYAXRr>n-Ip@j~I*&Pbh+BIZuRXujg4!hNiJhqOOO4Vaq5Z6-e z^hJ$U9W*(WvracoyZP+g)0QqW`$f%+Jm5L2tJi6^mt zXyqv!eNJH0EawTJtnbizD?1h>>sGfbt&@{&3`NYy*MDWaQ502bkJ z48;~**XKTm@j%L(z;{ICrx9VGH_hTLMto-fK{{c?kL9~!#t-U{ti6Z^Ve5?a^T=1u z0sWGC4=kfFn!Lpbb)ry^b~zy7re>D}!dbz?3P&*MG1^G700l-a58Ce0IQRw>F{NAU z>cu!DwwPHa>Hv2R0Sp-Ja1IcK3fW~gtG!z`UAA|JI{g9H^cMflt8E8f-ml)^vo9R6 zXsgDWQj^d8Wb>*}sQ*B_-`f9DtSWTbn5lBnr9A~t?8t_Wv4u;;^1kju*PyAk&Y!&G z{kgo>+PGn*(rMb<-DNVjbiVM5SBIPnRrSy-f8Uy{34&QAsuJ}r$`R45)>P#h!UrqE zYj4aC_eZxMS$ev&ZR_oIgH^4cJSzg7h3)Tmsw-~)fW7Frz!~`#qI1HfF#6%Got*B7` z7uuQb9t+sJ-#c1V`8L|Ge1o=g+E1BzmzI*|;hn~{hCnC$lh;E&Y%~#uca;Jl79tm$ zm=>6$louD{fO;H8LY*X_VyM4s`+d<7a+_>^$AVowJ-Zfo0!r9xS$k}J{Mg!nFJ!6o zX_k%!3pzXryVD)3s*1g9qaIOg{xIsZ+m`RWe(!Rd8mkEl=k{A4xpli!->X)pL#pDx zWbY+@)mw$aB8^>*Hp2|P*JyxVcA)%;2FGB@q6M(h7>|z!R_ZX<2_QRXGQ8`9iz|4< zWOL@$dYfhoRXTcxEFF&5_ zFCnDo=Kxyr9P&*>>zu}p{tVt>s!*K+IA(#^_H>ysdD}6#I<;It^ahMC0-fp$mVo1L z#JwR`B;pF)dm84FSv-t=j(|lxXr6te*%b=8n)`1)aYCOt@T&acI|r2S+Q9+#r4TNn zI09k&Y_Hwnuq!{Xhq^|5zLD2opM6?cDfDM4N>7Zl>Tp{9E)rX56)qCQ87-HxshtVY zsr=i$)4TOM#E->ky-ok-b$|VXYnA`=*kf=1My;GZq15URi|s~H!@H2@aRSR{0YP0` zz(l$f(buGh7zmd{x>C|aE1_V9?qB}Q-%E@HfN1ep11X{6pym*wQ}7NXt=lMrjq=9b zov3mQ)*;z!4Qz(8Sx-WZ_s|+y+@?LUB5rXHf2;49nGusSXJ+s>MK3c2pjVDH1^ z>*^6u&45=UE{BE<0Rvdm$QtbSky=OD+$iEf-@*EYq?4ik>)qlZSft%}xKcE|`~k8A z&4PRu3=veLw9v71xKqA!49FDxk5C}=9r6iTqhL@*9Mz1dkWh&>fDP^#qYoP)5( z{~3ucVKk^GWN_0=eS>If9Glp%{39*90c+^nQL;fiSyYh&dW__Hd0^hBcjBc*}|n6Dz>!AMDu!NF$0$4u_`oI~!V*%RLdbf8yE?dWfTN z-NChE*|?@v*E(yWDi7*YY8+-q9pu~uN_xme4L3;!2na)brx+cu7XnC9$iN2bJ7E2y zF-)n}Ff_uE93dTK;z1jQ_X{~N@NlHrQLXN7aH9U;i!1J`peyV0HncRL+>|R=zi zBEr6xZBe(|7YO)Juh0H6+9%=D+iJS2tGjE&X`=C|JyR8M zYa(7Vyc8eb40Kn8tMJD}WQKM2VnXb!xD5e&=r?3Akwq4Zr52%XQ^Rn(7_Vp~Uggn7 z7uZiFF)nnH+y#EkBjv(BKUl1}SgwcY^0@5@Z#dT$Y}(TlG+yh&j%Wat6`jhzzQZ?B zF5Wn|u%bMXIPdqql--9q3smb7KQ~@;h(B@L;$9_SvP9ALvPz=GWJy;0)N(DwsKspZ zB4vr9e?^O;AR`x8jB0YH<@_U0&;6Cfo2i09dG6_}dsi)LW!RJlYjauNqC7J~$ zJQhE>ru7o_lovZP^dy^*qd-VrDCGW^0TEa}1h0KC@)$eE3^T%unb?Q`UNU^eL)EM5 zEW_8|bIIdPYmR0 z*lz18w&Q6LBqUcziV(s>&!fqh39Am1ho6(8QuP}k{{YVnJE;mpef@A| zw|%2+xy9R$R0f<8gkF@VA^}?c0+G2I0uk-q?n?iRH?-T6bXi@;L*5zxEaI23O2XN5 zOY87(>n(&nv-&_U+$31}FkbU;e-}8A6fFWvHJ1XG1k6+O@hS&t7fBHz1wGu;YexB5 z4LPXkLpkk}$_Rmml`_&UM^OgpcPzXzLYCsUXr&17M4S-~DQObnAwfI}@(j>^O}z_6 z2gBK>Xgs0!Clb-7Y?yF*lgZ)0&O}1IN;_+v4(!#hSULKIhP=qvk1l(7>5_UBxf)%% zcJ!LXYQ_@VVH+5gT#!3_sVJ0-)$MVU0H%!kyo%X`aB|gRc3926XabLF^(jCF<3UuU z!hQu6VTxBi=WasLTD~3H842Nb7Kv=bXO}*-bV)8>Uq8C^;bpiBB`ua-chi7w(``5otrLk9!uNW6{Vr+!L6Gfyi`^5jlvOh zX%17sV{&NGcrCJ-noKs;uBi@7C9>LCOg2-tW4QT>4zm-zpv8lcgt!rf1rwEP7H?Sp z?3$kpcJ%dZ+j(%!s`1%B_O{s4M_lW+ZC+EjOi?fS{I)G?*0GO-h&&1)tYr{rYbZYf zW-sP2^1x^rOn08dn4~DiiHy~(yt9^52hu90GF$JhfPl!pp>QvQ5D}n~+8LyS)dEz* z6T=)3*1m!Z4TQ0nY&}LnY{w3fF?h1ZN~tYaX8C;${g3+kYod{cCTqh)2SnlQREY}l z8VEnjzu$PBIGeV*E3Kb=Hl?`T%30M64zS5|{1`>B9YeAfyZ(z|0pFk$r_pAA!ScsM zQrNtcO}`O`AzWwuWeS9HtJAq$|A+tar2ahWMxOTnr6+D?j>rq@XED{gK-8f+ZuwXWfp)4phZ8|oP^KH++wRm{?g(1ds352= zYRR&V!j_D5A^W1Oh*n*?W6!!)->-bJ#um@AEz3MD1{shaQLI0c7=bfTKOqhuDX~Ll z|Esk56%7;~A@JmAXuQHE`0LQ*rPC|Y?tx96jrB2~=2^XYaB%bL+sjLb$b>=-g~IIX zWlqS+@+Qx^yX^1})m%`#dH*)1lsJW22lI{@NgfrMnFc7o9&$-Y@i`$7yRik~D* zhyo`u*r?zX6}A>zVVs1 zp@5}w*MVJ?wp5k<=>{W>M9H46;t56xUOAhUQss-@ig7USPfQb<;<0%%o@6?mbi?O< zd~|Yh)RVHo&24Y*>udMed};lQM`V79BRK06pPApdrXQ0aSg@Q@pNIC)fu(W+X_6?1 z8qjgHT{T%oXj91762E`W<`CRA29+>dk~e52tt?zbT`h?sDuoCcK7_RB92F@Ikg%xv zIKinqRtyrhx?o~xa)A+&Gqi4Wq_ijr8}Y;*{oikOA{mD# z;=JK^8wq`Tkz;(;U*m{jtqwYODEn__KYD%;WI^X(ZX~_Xh{su&81)Ss*j!ag(Z9tW z_VVPKlRQVfzGu7F6^;h1s(alA!gn9x*q%#j$WDlQMVy=S4fRE%v}Tjc=QXc&3^#{L z!;e~*2cN9&1~CrrGR7w>B;@bHfW}V5y_9#eYJ&Y2P(^(M`|{M5Tol7e)HIVVf91fI z#}_dgJvO~#$MhH>(u*D!J2w8)fBw@(-aol#`fsQAOyY}Ql^@(tNX2Axo|1!8(G28d zkHl>G=99}t7~&j5n&{XVU2tTXcjJy7-1PRzd@h%t#9nTV`{42VS%n|iWIMvcP)8$c zXp+D@AbERwF=7G`z~skesY8nvKW>SCk|B|!z-x$sRm^Y?MAkTu#O<)2q0At)81#W+ z^kIq=efcw-6&IRcnNz$agO*DHn(ZYY*z*)O%PJ*2UXV}In`@o$?uYET{L*Wdn0Rx= zflgmTHwiC3OS>XlXdio3Z_O+`otq=a>3@S5H@OTmh20(vXs8H6kdu zOP_?g<8uU@@I70wINQuz!5Wjt4MVoX3*^U*>Tgog6f`zo;>n`)Fy48*CRr*de!nwm2%02{vWITLnuXTp|Hr@Yy&f;9(Sx*5+CcCX_A~$r!5dP48$~^{C3Dh!X>Oz#i zR8qv=^9}W50EVpqQ(Ivkud8@JY93Ssidq4qW|%AlsX=e-ftp0?9@&2y zfJ{j-42F?Fpg3vEv>G@J5%psz*QpR^QdGCD`3ZR%`Cml&gZ>o` zBmgN_tntBxaBZOg{`AR0K{-}wXVRAh07cGDl~O2#;0?>aTYjef%=)5sN@H{3p8%fx z9O7X)M|97HiRHYV3lXyv)-K{VMtKg73lHNc&?(Skc#t{uIfy_(`XZ_1SU8mL1bo%w z)xJ7@4bXbnkabi#vQzxZ&bRY^(O6shMQtMvX*NoE^o=DGPH!Nh#@ubFkyfhX(LCVw z*fh-_4Qug4;aB!Rz)t^oMu#*lME~f+W9NJmmfwWw8}X)5;KQ|LpmtHzE)wZTjX!fv zfe-7l=18LtMTosf;*wmRTY8{4F<4MyAf8EEuq>gipF#NnQ#cVz(^JMd~xC2yL^}53D=UXt4>qC6kYOY|Xbk`niSXL{?a;5z`yVibII2X;YN; zcI9j-EqQ4}-?3&)kF-9k|6i|IrhhA}zzF?~Z5Fv#e5Fdd_9Qy=t#4YaI zyXmnivFm+Z@9#WZ33g>VW?H&+(}qoOcU#?&Yzk3Dnx+23D|?XTP}t0=x~6Omn$T*l zKT;cBDPnuqv@|J7lcN9d{O-tY`EH?gERqZK)okqE^6I+cw%ES=@h0)z#aHM*@~VEZ zxw9$T9LtE2U?5Ss)E^hBVugEM)sO$?PF2_(Xwc%GPaYh6Vq}5-!`9W4o3^e)?#NR2 zls4Y}qj5dHc3q&Cu1(t{4B%y=GBggzp%JwB91XyTGGGCaW&I$MlDR*O7)1;@M(!ZS zTZN>O9FbuKEP{kXW_PAF`N-_`G`p3XqSe*WkGhC?Q?RHO{1wRZbA2>Bl*s^tkRn-s znrA1y{Ft}Y+SXdt$;_LA#p(fbe2VNir9Lo>T=zLpteWUk^LhzRgR$bHC7jS&G}39 zHuO*xQpl}kyPcCeFkhvVxYu|n^az1|K=#ROCnXM~LRw4}?mi=gk=lh9UV2=3so4%I z5hmDNlSBz+4~&SN$n_|zPjC{M9XrXgL{S~i_J|demdJ)xgVhwNMt%GucNJ1cv6hY> z9Ff6rEXK>53JS9C+-d0TrIW(Q+==`)I;9O~+5kpE_28-oq#ZKSQ;FB)aH6bJ_!7*< z;Jh=-1cJQ6y`k=hk)D9ZWQw4pV#}~GSyD6TQy)&|;%vEkCdLML>fnbi<(`AF}hEg3BmM z8|XddZy}KIqVn>1ue;8kN^15EF=~T?!qKZGT(F?5rQNZOHZ7S_>n|=ZkFx!%Uv+DN zwEIRW9ymL)!Wr}>%_Ju)SlsAI1vC~9FR7J4*E`WBkOvM30iqDhrwozaRjv@g^Qch} zzrgHC*?;ykdn#eI{^&*;_a~)W3*%63oTQz{PTMr)KW&;@e@TqGEP)!gPBC3FC`no~ ze7p4QqQ{eF4dDg#5yWyj5Tw!vd~O4cR??7IKa%b3QEj(DruAK&L0TXlD=0 z;^)enS^1^@hti2&n`4-ED(Zs%ozt)H*oy3lbGBzaJ-a?~^9{{id)K!~IlZ>Lsq%N? ztL5_$a|~tAS5c*{kJQOHbIV1@R9K*%Pup;=+7xAT2b-;0S|oo>;M1& literal 0 HcmV?d00001 diff --git a/assets/packages/unicons/icons/UniconsSolid.ttf b/assets/packages/unicons/icons/UniconsSolid.ttf new file mode 100644 index 0000000000000000000000000000000000000000..79379e14838bc2ae40fb44421f4ba9ab6b7451c5 GIT binary patch literal 34808 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 - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -android { - compileSdkVersion 34 - ndkVersion flutter.ndkVersion - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - - defaultConfig { - applicationId "net.liplum.calcupiano" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. - minSdkVersion flutter.minSdkVersion - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug - } - } -} - -flutter { - source '../..' -} - -dependencies {} diff --git a/calcupiano/android/app/src/debug/AndroidManifest.xml b/calcupiano/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 8ee8e0d..0000000 --- a/calcupiano/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/calcupiano/android/app/src/main/AndroidManifest.xml b/calcupiano/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index c586103..0000000 --- a/calcupiano/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/calcupiano/android/app/src/main/kotlin/MainActivity.kt b/calcupiano/android/app/src/main/kotlin/MainActivity.kt deleted file mode 100644 index dac8518..0000000 --- a/calcupiano/android/app/src/main/kotlin/MainActivity.kt +++ /dev/null @@ -1,5 +0,0 @@ -package net.liplum.calcupiano - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity : FlutterActivity() diff --git a/calcupiano/android/app/src/main/res/drawable-night-v21/launch_background.xml b/calcupiano/android/app/src/main/res/drawable-night-v21/launch_background.xml deleted file mode 100644 index f74085f..0000000 --- a/calcupiano/android/app/src/main/res/drawable-night-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/calcupiano/android/app/src/main/res/drawable-night/launch_background.xml b/calcupiano/android/app/src/main/res/drawable-night/launch_background.xml deleted file mode 100644 index d5ad5ef..0000000 --- a/calcupiano/android/app/src/main/res/drawable-night/launch_background.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/calcupiano/android/app/src/main/res/drawable-v21/launch_background.xml b/calcupiano/android/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f..0000000 --- a/calcupiano/android/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/calcupiano/android/app/src/main/res/drawable/launch_background.xml b/calcupiano/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index fb9ce29..0000000 --- a/calcupiano/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - diff --git a/calcupiano/android/app/src/main/res/mipmap-hdpi/app_icon.png b/calcupiano/android/app/src/main/res/mipmap-hdpi/app_icon.png deleted file mode 100644 index 5982ad5dc40cd10c4925563f26abfca8c76bc363..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1097 zcmV-P1h)H$P)Px(14%?dRCt{2oj;CKF%ZU`70L~$5Y0;5fNC#6wH0NyrJ+QkMd|5KwxmkMCAQ)Q zNNEt4*n*`pGRDt;X1?+GJ>nH!`-{W*cqZ#stWa z>Sp$b%PxGMo2X3yWlVquBqnJlKqaZ*BjyPvKn0Tagb9$KX1NhHOEv+N5woMO-hJ(4 z6MyV;nE<3mWGx^;PfOYah$sag?U0%P0lkCooC)w3jo>>+Ov0aD{6v2bReCQ&hD_fA zG=uNlCBE}Hb)^{T?ssm$77zwK6aztP@KH~} zv~$smp)&c6QH9Y)X=eq8yZ4!Mr(wq5dkKEcPvr1fkeV6g&xkEaLeS~mQ0K5aAX@9$yc;UDy`&`%uHiOjg-F^FsYJ`&z(pxHTnq5@@PguDC#N22 z*&$m%ZzGO!I0q_$L)V1E*NDfHko!Yx>1|=d1X!yRN(E)|ZQczXone#kn&7kq6F?ag zfPu;nIIPtT9TkybsB>+jnNnG4cNDRUTJ-@9j)Pe$EB)ANX>%>)LK!Rv6p$8SS^-8l zs>ZpA1sDYrKp7LDfV4RW5rA{TNvW*#=_x3>J*d3|Cn%+|S^+Nw)!a}9B|Et#`1T_{ z0@O~>hB~ZcZIoJp&4fEZy@OE;`a{eHIiQA#txw9MFaZ)!HrY}!0hIXzop*ybQsMea P00000NkvXXu0mjfKcMQ* diff --git a/calcupiano/android/app/src/main/res/mipmap-mdpi/app_icon.png b/calcupiano/android/app/src/main/res/mipmap-mdpi/app_icon.png deleted file mode 100644 index 5982ad5dc40cd10c4925563f26abfca8c76bc363..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1097 zcmV-P1h)H$P)Px(14%?dRCt{2oj;CKF%ZU`70L~$5Y0;5fNC#6wH0NyrJ+QkMd|5KwxmkMCAQ)Q zNNEt4*n*`pGRDt;X1?+GJ>nH!`-{W*cqZ#stWa z>Sp$b%PxGMo2X3yWlVquBqnJlKqaZ*BjyPvKn0Tagb9$KX1NhHOEv+N5woMO-hJ(4 z6MyV;nE<3mWGx^;PfOYah$sag?U0%P0lkCooC)w3jo>>+Ov0aD{6v2bReCQ&hD_fA zG=uNlCBE}Hb)^{T?ssm$77zwK6aztP@KH~} zv~$smp)&c6QH9Y)X=eq8yZ4!Mr(wq5dkKEcPvr1fkeV6g&xkEaLeS~mQ0K5aAX@9$yc;UDy`&`%uHiOjg-F^FsYJ`&z(pxHTnq5@@PguDC#N22 z*&$m%ZzGO!I0q_$L)V1E*NDfHko!Yx>1|=d1X!yRN(E)|ZQczXone#kn&7kq6F?ag zfPu;nIIPtT9TkybsB>+jnNnG4cNDRUTJ-@9j)Pe$EB)ANX>%>)LK!Rv6p$8SS^-8l zs>ZpA1sDYrKp7LDfV4RW5rA{TNvW*#=_x3>J*d3|Cn%+|S^+Nw)!a}9B|Et#`1T_{ z0@O~>hB~ZcZIoJp&4fEZy@OE;`a{eHIiQA#txw9MFaZ)!HrY}!0hIXzop*ybQsMea P00000NkvXXu0mjfKcMQ* diff --git a/calcupiano/android/app/src/main/res/mipmap-xhdpi/app_icon.png b/calcupiano/android/app/src/main/res/mipmap-xhdpi/app_icon.png deleted file mode 100644 index 5982ad5dc40cd10c4925563f26abfca8c76bc363..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1097 zcmV-P1h)H$P)Px(14%?dRCt{2oj;CKF%ZU`70L~$5Y0;5fNC#6wH0NyrJ+QkMd|5KwxmkMCAQ)Q zNNEt4*n*`pGRDt;X1?+GJ>nH!`-{W*cqZ#stWa z>Sp$b%PxGMo2X3yWlVquBqnJlKqaZ*BjyPvKn0Tagb9$KX1NhHOEv+N5woMO-hJ(4 z6MyV;nE<3mWGx^;PfOYah$sag?U0%P0lkCooC)w3jo>>+Ov0aD{6v2bReCQ&hD_fA zG=uNlCBE}Hb)^{T?ssm$77zwK6aztP@KH~} zv~$smp)&c6QH9Y)X=eq8yZ4!Mr(wq5dkKEcPvr1fkeV6g&xkEaLeS~mQ0K5aAX@9$yc;UDy`&`%uHiOjg-F^FsYJ`&z(pxHTnq5@@PguDC#N22 z*&$m%ZzGO!I0q_$L)V1E*NDfHko!Yx>1|=d1X!yRN(E)|ZQczXone#kn&7kq6F?ag zfPu;nIIPtT9TkybsB>+jnNnG4cNDRUTJ-@9j)Pe$EB)ANX>%>)LK!Rv6p$8SS^-8l zs>ZpA1sDYrKp7LDfV4RW5rA{TNvW*#=_x3>J*d3|Cn%+|S^+Nw)!a}9B|Et#`1T_{ z0@O~>hB~ZcZIoJp&4fEZy@OE;`a{eHIiQA#txw9MFaZ)!HrY}!0hIXzop*ybQsMea P00000NkvXXu0mjfKcMQ* diff --git a/calcupiano/android/app/src/main/res/mipmap-xxhdpi/app_icon.png b/calcupiano/android/app/src/main/res/mipmap-xxhdpi/app_icon.png deleted file mode 100644 index 5982ad5dc40cd10c4925563f26abfca8c76bc363..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1097 zcmV-P1h)H$P)Px(14%?dRCt{2oj;CKF%ZU`70L~$5Y0;5fNC#6wH0NyrJ+QkMd|5KwxmkMCAQ)Q zNNEt4*n*`pGRDt;X1?+GJ>nH!`-{W*cqZ#stWa z>Sp$b%PxGMo2X3yWlVquBqnJlKqaZ*BjyPvKn0Tagb9$KX1NhHOEv+N5woMO-hJ(4 z6MyV;nE<3mWGx^;PfOYah$sag?U0%P0lkCooC)w3jo>>+Ov0aD{6v2bReCQ&hD_fA zG=uNlCBE}Hb)^{T?ssm$77zwK6aztP@KH~} zv~$smp)&c6QH9Y)X=eq8yZ4!Mr(wq5dkKEcPvr1fkeV6g&xkEaLeS~mQ0K5aAX@9$yc;UDy`&`%uHiOjg-F^FsYJ`&z(pxHTnq5@@PguDC#N22 z*&$m%ZzGO!I0q_$L)V1E*NDfHko!Yx>1|=d1X!yRN(E)|ZQczXone#kn&7kq6F?ag zfPu;nIIPtT9TkybsB>+jnNnG4cNDRUTJ-@9j)Pe$EB)ANX>%>)LK!Rv6p$8SS^-8l zs>ZpA1sDYrKp7LDfV4RW5rA{TNvW*#=_x3>J*d3|Cn%+|S^+Nw)!a}9B|Et#`1T_{ z0@O~>hB~ZcZIoJp&4fEZy@OE;`a{eHIiQA#txw9MFaZ)!HrY}!0hIXzop*ybQsMea P00000NkvXXu0mjfKcMQ* diff --git a/calcupiano/android/app/src/main/res/mipmap-xxxhdpi/app_icon.png b/calcupiano/android/app/src/main/res/mipmap-xxxhdpi/app_icon.png deleted file mode 100644 index 5982ad5dc40cd10c4925563f26abfca8c76bc363..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1097 zcmV-P1h)H$P)Px(14%?dRCt{2oj;CKF%ZU`70L~$5Y0;5fNC#6wH0NyrJ+QkMd|5KwxmkMCAQ)Q zNNEt4*n*`pGRDt;X1?+GJ>nH!`-{W*cqZ#stWa z>Sp$b%PxGMo2X3yWlVquBqnJlKqaZ*BjyPvKn0Tagb9$KX1NhHOEv+N5woMO-hJ(4 z6MyV;nE<3mWGx^;PfOYah$sag?U0%P0lkCooC)w3jo>>+Ov0aD{6v2bReCQ&hD_fA zG=uNlCBE}Hb)^{T?ssm$77zwK6aztP@KH~} zv~$smp)&c6QH9Y)X=eq8yZ4!Mr(wq5dkKEcPvr1fkeV6g&xkEaLeS~mQ0K5aAX@9$yc;UDy`&`%uHiOjg-F^FsYJ`&z(pxHTnq5@@PguDC#N22 z*&$m%ZzGO!I0q_$L)V1E*NDfHko!Yx>1|=d1X!yRN(E)|ZQczXone#kn&7kq6F?ag zfPu;nIIPtT9TkybsB>+jnNnG4cNDRUTJ-@9j)Pe$EB)ANX>%>)LK!Rv6p$8SS^-8l zs>ZpA1sDYrKp7LDfV4RW5rA{TNvW*#=_x3>J*d3|Cn%+|S^+Nw)!a}9B|Et#`1T_{ z0@O~>hB~ZcZIoJp&4fEZy@OE;`a{eHIiQA#txw9MFaZ)!HrY}!0hIXzop*ybQsMea P00000NkvXXu0mjfKcMQ* diff --git a/calcupiano/android/app/src/main/res/values-night/styles.xml b/calcupiano/android/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be..0000000 --- a/calcupiano/android/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/calcupiano/android/app/src/main/res/values/strings.xml b/calcupiano/android/app/src/main/res/values/strings.xml deleted file mode 100644 index 7b311cc..0000000 --- a/calcupiano/android/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - Calcu Piano - \ No newline at end of file diff --git a/calcupiano/android/app/src/main/res/values/styles.xml b/calcupiano/android/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef88..0000000 --- a/calcupiano/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/calcupiano/android/app/src/profile/AndroidManifest.xml b/calcupiano/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 8ee8e0d..0000000 --- a/calcupiano/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/calcupiano/android/build.gradle b/calcupiano/android/build.gradle deleted file mode 100644 index bc157bd..0000000 --- a/calcupiano/android/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(':app') -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/calcupiano/android/gradle.properties b/calcupiano/android/gradle.properties deleted file mode 100644 index 94adc3a..0000000 --- a/calcupiano/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M -android.useAndroidX=true -android.enableJetifier=true diff --git a/calcupiano/android/gradle/wrapper/gradle-wrapper.properties b/calcupiano/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index cb24abd..0000000 --- a/calcupiano/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip diff --git a/calcupiano/android/settings.gradle b/calcupiano/android/settings.gradle deleted file mode 100644 index 1d6d19b..0000000 --- a/calcupiano/android/settings.gradle +++ /dev/null @@ -1,26 +0,0 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - } - settings.ext.flutterSdkPath = flutterSdkPath() - - includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "7.3.0" apply false - id "org.jetbrains.kotlin.android" version "1.7.10" apply false -} - -include ":app" diff --git a/calcupiano/ios/.gitignore b/calcupiano/ios/.gitignore deleted file mode 100644 index 7a7f987..0000000 --- a/calcupiano/ios/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -**/dgph -*.mode1v3 -*.mode2v3 -*.moved-aside -*.pbxuser -*.perspectivev3 -**/*sync/ -.sconsign.dblite -.tags* -**/.vagrant/ -**/DerivedData/ -Icon? -**/Pods/ -**/.symlinks/ -profile -xcuserdata -**/.generated/ -Flutter/App.framework -Flutter/Flutter.framework -Flutter/Flutter.podspec -Flutter/Generated.xcconfig -Flutter/ephemeral/ -Flutter/app.flx -Flutter/app.zip -Flutter/flutter_assets/ -Flutter/flutter_export_environment.sh -ServiceDefinitions.json -Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!default.mode1v3 -!default.mode2v3 -!default.pbxuser -!default.perspectivev3 diff --git a/calcupiano/ios/Flutter/AppFrameworkInfo.plist b/calcupiano/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 9625e10..0000000 --- a/calcupiano/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - MinimumOSVersion - 11.0 - - diff --git a/calcupiano/ios/Flutter/Debug.xcconfig b/calcupiano/ios/Flutter/Debug.xcconfig deleted file mode 100644 index ec97fc6..0000000 --- a/calcupiano/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Generated.xcconfig" diff --git a/calcupiano/ios/Flutter/Release.xcconfig b/calcupiano/ios/Flutter/Release.xcconfig deleted file mode 100644 index c4855bf..0000000 --- a/calcupiano/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Generated.xcconfig" diff --git a/calcupiano/ios/Podfile b/calcupiano/ios/Podfile deleted file mode 100644 index 5c4ba94..0000000 --- a/calcupiano/ios/Podfile +++ /dev/null @@ -1,40 +0,0 @@ -platform :ios, '11.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end -end diff --git a/calcupiano/ios/Podfile.lock b/calcupiano/ios/Podfile.lock deleted file mode 100644 index 9d4540c..0000000 --- a/calcupiano/ios/Podfile.lock +++ /dev/null @@ -1,113 +0,0 @@ -PODS: - - audioplayers_darwin (0.0.1): - - Flutter - - DKImagePickerController/Core (4.3.4): - - DKImagePickerController/ImageDataManager - - DKImagePickerController/Resource - - DKImagePickerController/ImageDataManager (4.3.4) - - DKImagePickerController/PhotoGallery (4.3.4): - - DKImagePickerController/Core - - DKPhotoGallery - - DKImagePickerController/Resource (4.3.4) - - DKPhotoGallery (0.0.17): - - DKPhotoGallery/Core (= 0.0.17) - - DKPhotoGallery/Model (= 0.0.17) - - DKPhotoGallery/Preview (= 0.0.17) - - DKPhotoGallery/Resource (= 0.0.17) - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Core (0.0.17): - - DKPhotoGallery/Model - - DKPhotoGallery/Preview - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Model (0.0.17): - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Preview (0.0.17): - - DKPhotoGallery/Model - - DKPhotoGallery/Resource - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Resource (0.0.17): - - SDWebImage - - SwiftyGif - - file_picker (0.0.1): - - DKImagePickerController/PhotoGallery - - Flutter - - Flutter (1.0.0) - - image_picker_ios (0.0.1): - - Flutter - - package_info_plus (0.4.5): - - Flutter - - path_provider_foundation (0.0.1): - - Flutter - - FlutterMacOS - - SDWebImage (5.14.2): - - SDWebImage/Core (= 5.14.2) - - SDWebImage/Core (5.14.2) - - share_plus (0.0.1): - - Flutter - - shared_preferences_foundation (0.0.1): - - Flutter - - FlutterMacOS - - SwiftyGif (5.4.3) - - url_launcher_ios (0.0.1): - - Flutter - -DEPENDENCIES: - - audioplayers_darwin (from `.symlinks/plugins/audioplayers_darwin/ios`) - - file_picker (from `.symlinks/plugins/file_picker/ios`) - - Flutter (from `Flutter`) - - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) - - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) - - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - - share_plus (from `.symlinks/plugins/share_plus/ios`) - - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - -SPEC REPOS: - trunk: - - DKImagePickerController - - DKPhotoGallery - - SDWebImage - - SwiftyGif - -EXTERNAL SOURCES: - audioplayers_darwin: - :path: ".symlinks/plugins/audioplayers_darwin/ios" - file_picker: - :path: ".symlinks/plugins/file_picker/ios" - Flutter: - :path: Flutter - image_picker_ios: - :path: ".symlinks/plugins/image_picker_ios/ios" - package_info_plus: - :path: ".symlinks/plugins/package_info_plus/ios" - path_provider_foundation: - :path: ".symlinks/plugins/path_provider_foundation/darwin" - share_plus: - :path: ".symlinks/plugins/share_plus/ios" - shared_preferences_foundation: - :path: ".symlinks/plugins/shared_preferences_foundation/darwin" - url_launcher_ios: - :path: ".symlinks/plugins/url_launcher_ios/ios" - -SPEC CHECKSUMS: - audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40 - DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac - DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 - file_picker: ce3938a0df3cc1ef404671531facef740d03f920 - Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 - image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5 - package_info_plus: fd030dabf36271f146f1f3beacd48f564b0f17f7 - path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 - SDWebImage: b9a731e1d6307f44ca703b3976d18c24ca561e84 - share_plus: 599aa54e4ea31d4b4c0e9c911bcc26c55e791028 - shared_preferences_foundation: 297b3ebca31b34ec92be11acd7fb0ba932c822ca - SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780 - url_launcher_ios: ae1517e5e344f5544fb090b079e11f399dfbe4d2 - -PODFILE CHECKSUM: 985e5b058f26709dc81f9ae74ea2b2775bdbcefe - -COCOAPODS: 1.12.1 diff --git a/calcupiano/ios/Runner.xcodeproj/project.pbxproj b/calcupiano/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index ae04ee4..0000000 --- a/calcupiano/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,554 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - 9FF40D266E24C5C18C3E0444 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F760A9E5F415A34D1BEC1F57 /* Pods_Runner.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 07EE9AD4D9F841254FB9ED8E /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 0A7C7AF1ABC1E07D9D22B716 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F760A9E5F415A34D1BEC1F57 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FBCDC4D5230769B49E095F2D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9FF40D266E24C5C18C3E0444 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 54BB96242B27160BC3F81E3B /* Pods */ = { - isa = PBXGroup; - children = ( - 0A7C7AF1ABC1E07D9D22B716 /* Pods-Runner.debug.xcconfig */, - FBCDC4D5230769B49E095F2D /* Pods-Runner.release.xcconfig */, - 07EE9AD4D9F841254FB9ED8E /* Pods-Runner.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - 9231988AAE4135116A40D367 /* Frameworks */ = { - isa = PBXGroup; - children = ( - F760A9E5F415A34D1BEC1F57 /* Pods_Runner.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - 54BB96242B27160BC3F81E3B /* Pods */, - 9231988AAE4135116A40D367 /* Frameworks */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, - ); - path = Runner; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 0DEBBEEF0B5C3D9702B805ED /* [CP] Check Pods Manifest.lock */, - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 5E6F0208E0E6751B8F2B3745 /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1430; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 1100; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 0DEBBEEF0B5C3D9702B805ED /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 5E6F0208E0E6751B8F2B3745 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6PL7UWKXD9; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = net.liplum.calcupiano; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6PL7UWKXD9; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = net.liplum.calcupiano; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6PL7UWKXD9; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = net.liplum.calcupiano; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/calcupiano/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/calcupiano/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/calcupiano/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/calcupiano/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/calcupiano/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/calcupiano/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/calcupiano/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/calcupiano/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/calcupiano/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/calcupiano/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/calcupiano/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index a6b826d..0000000 --- a/calcupiano/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/calcupiano/ios/Runner.xcworkspace/contents.xcworkspacedata b/calcupiano/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc1..0000000 --- a/calcupiano/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/calcupiano/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/calcupiano/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/calcupiano/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/calcupiano/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/calcupiano/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/calcupiano/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/calcupiano/ios/Runner/AppDelegate.swift b/calcupiano/ios/Runner/AppDelegate.swift deleted file mode 100644 index 70693e4..0000000 --- a/calcupiano/ios/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import UIKit -import Flutter - -@UIApplicationMain -@objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } -} diff --git a/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fa..0000000 --- a/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4725e9b0ddb1deab583e5b5102493aa332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10932 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 diff --git a/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b0bca859a3f474b03065bef75ba58a9e4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1588 zcmV-42Fv-0P)C1SqPt}wig>|5Crh^=oyX$BK<}M8eLU3e2hGT;=G|!_SP)7zNI6fqUMB=)y zRAZ>eDe#*r`yDAVgB_R*LB*MAc)8(b{g{9McCXW!lq7r(btRoB9!8B-#AI6JMb~YFBEvdsV)`mEQO^&#eRKx@b&x- z5lZm*!WfD8oCLzfHGz#u7sT0^VLMI1MqGxF^v+`4YYnVYgk*=kU?HsSz{v({E3lb9 z>+xILjBN)t6`=g~IBOelGQ(O990@BfXf(DRI5I$qN$0Gkz-FSc$3a+2fX$AedL4u{ z4V+5Ong(9LiGcIKW?_352sR;LtDPmPJXI{YtT=O8=76o9;*n%_m|xo!i>7$IrZ-{l z-x3`7M}qzHsPV@$v#>H-TpjDh2UE$9g6sysUREDy_R(a)>=eHw-WAyfIN z*qb!_hW>G)Tu8nSw9yn#3wFMiLcfc4pY0ek1}8(NqkBR@t4{~oC>ryc-h_ByH(Cg5 z>ao-}771+xE3um9lWAY1FeQFxowa1(!J(;Jg*wrg!=6FdRX+t_<%z&d&?|Bn){>zm zZQj(aA_HeBY&OC^jj*)N`8fa^ePOU72VpInJoI1?`ty#lvlNzs(&MZX+R%2xS~5Kh zX*|AU4QE#~SgPzOXe9>tRj>hjU@c1k5Y_mW*Jp3fI;)1&g3j|zDgC+}2Q_v%YfDax z!?umcN^n}KYQ|a$Lr+51Nf9dkkYFSjZZjkma$0KOj+;aQ&721~t7QUKx61J3(P4P1 zstI~7-wOACnWP4=8oGOwz%vNDqD8w&Q`qcNGGrbbf&0s9L0De{4{mRS?o0MU+nR_! zrvshUau0G^DeMhM_v{5BuLjb#Hh@r23lDAk8oF(C+P0rsBpv85EP>4CVMx#04MOfG z;P%vktHcXwTj~+IE(~px)3*MY77e}p#|c>TD?sMatC0Tu4iKKJ0(X8jxQY*gYtxsC z(zYC$g|@+I+kY;dg_dE>scBf&bP1Nc@Hz<3R)V`=AGkc;8CXqdi=B4l2k|g;2%#m& z*jfX^%b!A8#bI!j9-0Fi0bOXl(-c^AB9|nQaE`*)Hw+o&jS9@7&Gov#HbD~#d{twV zXd^Tr^mWLfFh$@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)y zI9C9*oUga6=hxw6QasLPnee@3^Rr*M{CdaL5=R41nLs(AHk_=Y+A9$2&H(B7!_pURs&8aNw7?`&Z&xY_Ye z)~D5Bog^td-^QbUtkTirdyK^mTHAOuptDflut!#^lnKqU md>ggs(5nOWAqO?umG&QVYK#ibz}*4>0000U6E9hRK9^#O7(mu>ETqrXGsduA8$)?`v2seloOCza43C{NQ$$gAOH**MCn0Q?+L7dl7qnbRdqZ8LSVp1ItDxhxD?t@5_yHg6A8yI zC*%Wgg22K|8E#!~cTNYR~@Y9KepMPrrB8cABapAFa=`H+UGhkXUZV1GnwR1*lPyZ;*K(i~2gp|@bzp8}og7e*#% zEnr|^CWdVV!-4*Y_7rFvlww2Ze+>j*!Z!pQ?2l->4q#nqRu9`ELo6RMS5=br47g_X zRw}P9a7RRYQ%2Vsd0Me{_(EggTnuN6j=-?uFS6j^u69elMypu?t>op*wBx<=Wx8?( ztpe^(fwM6jJX7M-l*k3kEpWOl_Vk3@(_w4oc}4YF4|Rt=2V^XU?#Yz`8(e?aZ@#li0n*=g^qOcVpd-Wbok=@b#Yw zqn8u9a)z>l(1kEaPYZ6hwubN6i<8QHgsu0oE) ziJ(p;Wxm>sf!K+cw>R-(^Y2_bahB+&KI9y^);#0qt}t-$C|Bo71lHi{_+lg#f%RFy z0um=e3$K3i6K{U_4K!EX?F&rExl^W|G8Z8;`5z-k}OGNZ0#WVb$WCpQu-_YsiqKP?BB# vzVHS-CTUF4Ozn5G+mq_~Qqto~ahA+K`|lyv3(-e}00000NkvXXu0mjfd`9t{ diff --git a/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e7edb86cdfe0d15b4b0d98334a86163658..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1716 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 diff --git a/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8f5cee1c98386d13b17e89f719e83555b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1895 zcmV-t2blPYP)FQtfgmafE#=YDCq`qUBt#QpG%*H6QHY765~R=q zZ6iudfM}q!Pz#~9JgOi8QJ|DSu?1-*(kSi1K4#~5?#|rh?sS)(-JQqX*}ciXJ56_H zdw=^s_srbAdqxlvGyrgGet#6T7_|j;95sL%MtM;q86vOxKM$f#puR)Bjv9Zvz9-di zXOTSsZkM83)E9PYBXC<$6(|>lNLVBb&&6y{NByFCp%6+^ALR@NCTse_wqvNmSWI-m z!$%KlHFH2omF!>#%1l3LTZg(s7eof$7*xB)ZQ0h?ejh?Ta9fDv59+u#MokW+1t8Zb zgHv%K(u9G^Lv`lh#f3<6!JVTL3(dCpxHbnbA;kKqQyd1~^Xe0VIaYBSWm6nsr;dFj z4;G-RyL?cYgsN1{L4ZFFNa;8)Rv0fM0C(~Tkit94 zz#~A)59?QjD&pAPSEQ)p8gP|DS{ng)j=2ux)_EzzJ773GmQ_Cic%3JJhC0t2cx>|v zJcVusIB!%F90{+}8hG3QU4KNeKmK%T>mN57NnCZ^56=0?&3@!j>a>B43pi{!u z7JyDj7`6d)qVp^R=%j>UIY6f+3`+qzIc!Y_=+uN^3BYV|o+$vGo-j-Wm<10%A=(Yk^beI{t%ld@yhKjq0iNjqN4XMGgQtbKubPM$JWBz}YA65k%dm*awtC^+f;a-x4+ddbH^7iDWGg&N0n#MW{kA|=8iMUiFYvMoDY@sPC#t$55gn6ykUTPAr`a@!(;np824>2xJthS z*ZdmT`g5-`BuJs`0LVhz+D9NNa3<=6m;cQLaF?tCv8)zcRSh66*Z|vXhG@$I%U~2l z?`Q zykI#*+rQ=z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRe zt3L_uNyQ*cE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=ky zx=~RKa4{iTm{_>_vSCm?$Ej=i6@=m%@VvAITnigVg{&@!7CDgs908761meDK5azA} z4?=NOH|PdvabgJ&fW2{Mo$Q0CcD8Qc84%{JPYt5EiG{MdLIAeX%T=D7NIP4%Hw}p9 zg)==!2Lbp#j{u_}hMiao9=!VSyx0gHbeCS`;q&vzeq|fs`y&^X-lso(Ls@-706qmA z7u*T5PMo_w3{se1t2`zWeO^hOvTsohG_;>J0wVqVe+n)AbQCx)yh9;w+J6?NF5Lmo zecS@ieAKL8%bVd@+-KT{yI|S}O>pYckUFs;ry9Ow$CD@ztz5K-*D$^{i(_1llhSh^ zEkL$}tsQt5>QA^;QgjgIfBDmcOgi5YDyu?t6vSnbp=1+@6D& z5MJ}B8q;bRlVoxasyhcUF1+)o`&3r0colr}QJ3hcSdLu;9;td>kf@Tcn<@9sIx&=m z;AD;SCh95=&p;$r{Xz3iWCO^MX83AGJ(yH&eTXgv|0=34#-&WAmw{)U7OU9!Wz^!7 zZ%jZFi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i h0WYBP*#0Ks^FNSabJA*5${_#%002ovPDHLkV1oKhTl@e3 diff --git a/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b8609df07bf62e5100a53a01510388bd2b22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ diff --git a/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b8609df07bf62e5100a53a01510388bd2b22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ diff --git a/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d164a5a98e212cca15ea7bf2ab5de5108680..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3831 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 diff --git a/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/calcupiano/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d39da7941ef3f6dcb7f06a192d8dcb308d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1888 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 iW8Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/calcupiano/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/calcupiano/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/calcupiano/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/calcupiano/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/calcupiano/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/calcupiano/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725..0000000 --- a/calcupiano/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/calcupiano/ios/Runner/Base.lproj/LaunchScreen.storyboard b/calcupiano/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c..0000000 --- a/calcupiano/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/calcupiano/ios/Runner/Base.lproj/Main.storyboard b/calcupiano/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c2851..0000000 --- a/calcupiano/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/calcupiano/ios/Runner/Info.plist b/calcupiano/ios/Runner/Info.plist deleted file mode 100644 index 8b13ba7..0000000 --- a/calcupiano/ios/Runner/Info.plist +++ /dev/null @@ -1,51 +0,0 @@ - - - - - CADisableMinimumFrameDurationOnPhone - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Calcupiano - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - calcupiano - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UIApplicationSupportsIndirectInputEvents - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - - diff --git a/calcupiano/ios/Runner/Runner-Bridging-Header.h b/calcupiano/ios/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a5..0000000 --- a/calcupiano/ios/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/calcupiano/lib/app.dart b/calcupiano/lib/app.dart deleted file mode 100644 index 2e913eb..0000000 --- a/calcupiano/lib/app.dart +++ /dev/null @@ -1,148 +0,0 @@ -import 'package:animations/animations.dart'; -import 'package:auto_size_text/auto_size_text.dart'; -import 'package:calcupiano/db.dart'; -import 'package:calcupiano/design/adaptive.dart'; -import 'package:calcupiano/design/animated.dart'; -import 'package:calcupiano/design/overlay.dart'; -import 'package:calcupiano/r.dart'; -import 'package:calcupiano/theme/theme.dart'; -import 'package:calcupiano/ui/about.dart'; -import 'package:calcupiano/ui/piano.dart'; -import 'package:calcupiano/ui/sheet_screen.dart'; -import 'package:calcupiano/ui/settings.dart'; -import 'package:calcupiano/ui/soundpack.dart'; -import 'package:easy_localization/easy_localization.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:provider/provider.dart'; -import 'package:rettulf/rettulf.dart'; - -part 'app.i18n.dart'; - -part 'app.portrait.dart'; - -part 'app.landscape.dart'; - -class CalcuPianoApp extends StatefulWidget { - const CalcuPianoApp({super.key}); - - @override - State createState() => CalcuPianoAppState(); -} - -class CalcuPianoAppState extends State { - bool? isDarkModeInitial; - - @override - void initState() { - super.initState(); - isDarkModeInitial = H.isDarkMode; - } - - // This widget is the root of your application. - @override - Widget build(BuildContext context) { - return wrapWithService( - MultiProvider( - providers: [ - ChangeNotifierProvider( - create: (_) => CalcuPianoThemeModel(CalcuPianoThemeData.isDarkMode(isDarkModeInitial))), - ], - child: Consumer( - builder: (_, model, __) { - return Breakpoint( - child: MaterialApp( - localizationsDelegates: context.localizationDelegates, - supportedLocales: context.supportedLocales, - locale: context.locale, - theme: bakeTheme(ThemeData.light(useMaterial3: true), model.data), - darkTheme: bakeTheme(ThemeData.dark(useMaterial3: true), model.data), - themeMode: model.resolveThemeMode(), - home: const CalcuPianoHomePage(), - ), - ); - }, - ), - ), - ); - } - - ThemeData bakeTheme(ThemeData raw, CalcuPianoThemeData theme) { - return raw.copyWith( - appBarTheme: const AppBarTheme( - backgroundColor: Colors.transparent, - ), - splashColor: theme.enableRipple ? null : Colors.transparent, - highlightColor: theme.enableRipple ? null : Colors.transparent, - // TODO: Temporarily debug Visual effects on iOS. - // platform: TargetPlatform.iOS, - pageTransitionsTheme: const PageTransitionsTheme(builders: { - TargetPlatform.android: SharedAxisPageTransitionsBuilder(transitionType: SharedAxisTransitionType.horizontal), - TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), - TargetPlatform.macOS: CupertinoPageTransitionsBuilder(), - }), - ); - } - - Widget wrapWithService(Widget mainBody) { - return wrapWithScreenUtil( - wrapWithTop( - mainBody, - ), - ); - } - - Widget wrapWithTop(Widget mainBody) { - return Top.global(child: mainBody); - } - - Widget wrapWithScreenUtil(Widget mainBody) { - return ScreenUtilInit( - designSize: const Size(360, 690), - minTextAdapt: true, - splitScreenMode: true, - builder: (context, child) { - return mainBody; - }); - } -} - -class CalcuPianoHomePage extends StatefulWidget { - const CalcuPianoHomePage({super.key}); - - @override - State createState() => _CalcuPianoHomePageState(); -} - -class _CalcuPianoHomePageState extends State { - @override - Widget build(BuildContext context) { - return AdaptiveBuilder( - defaultBuilder: (ctx, screen) { - return const Scaffold(body: PianoKeyboard()); - }, - layoutDelegate: AdaptiveLayoutDelegateWithScreenType( - watchPortrait: (ctx, screen) { - return const Scaffold(body: PianoKeyboard()); - }, - watchLandscape: (ctx, screen) { - return const Scaffold(body: PianoKeyboard()); - }, - headsetPortrait: (ctx, screen) { - return const HomePortrait(); - }, - headsetLandscape: (ctx, screen) { - return const HomeTabletLandscape(); - }, - tabletPortrait: (ctx, screen) { - return const HomePortrait(); - }, - tabletLandscape: (ctx, screen) { - return const HomeTabletLandscape(); - }, - ), - ); - } -} diff --git a/calcupiano/lib/app.i18n.dart b/calcupiano/lib/app.i18n.dart deleted file mode 100644 index f4d345d..0000000 --- a/calcupiano/lib/app.i18n.dart +++ /dev/null @@ -1,15 +0,0 @@ -part of 'app.dart'; - -const _ns = "app"; - -class I18n { - I18n._(); - - static String get soundpack => "$_ns.soundpack".tr(); - - static String get sheet => "$_ns.sheet".tr(); - - static String get settings => "$_ns.settings".tr(); - - static String get about => "$_ns.about".tr(); -} diff --git a/calcupiano/lib/app.landscape.dart b/calcupiano/lib/app.landscape.dart deleted file mode 100644 index a963a75..0000000 --- a/calcupiano/lib/app.landscape.dart +++ /dev/null @@ -1,129 +0,0 @@ -part of 'app.dart'; - -class HomeTabletLandscape extends StatefulWidget { - const HomeTabletLandscape({super.key}); - - @override - State createState() => _HomeTabletLandscapeState(); -} - -class _HomeTabletLandscapeState extends State { - final GlobalKey _scaffoldKey = GlobalKey(); - bool _isDrawerOpen = false; - - @override - void didUpdateWidget(covariant HomeTabletLandscape oldWidget) { - super.didUpdateWidget(oldWidget); - final isOpen = _scaffoldKey.currentState?.isDrawerOpen; - if (isOpen != null && isOpen != _isDrawerOpen) { - setState(() { - _isDrawerOpen = isOpen; - }); - } - } - - void _openDrawer() { - _scaffoldKey.currentState?.openDrawer(); - } - - void _closeDrawer(BuildContext ctx) { - ctx.navigator.pop(); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - key: _scaffoldKey, - drawer: CalcuPianoDrawer( - onCloseDrawer: () { - _closeDrawer(context); - }, - ), - onDrawerChanged: (isOpened) { - if (isOpened != _isDrawerOpen) { - setState(() { - _isDrawerOpen = isOpened; - }); - } - }, - body: buildMain(context), - ); - } - - Widget buildMain(BuildContext ctx) { - return Scaffold( - body: [ - NavigationDrawer(children: [ - NavigationDrawerDestination( - icon: const Icon(Icons.menu_rounded), - label: "Menu".text(), - ) - ]).expanded(flex: 1), - const SheetScreen().expanded(flex: 2), - // Why doesn't the constraint apply on this? - const PianoKeyboard().expanded(flex: 3), - ] - .row( - mas: MainAxisSize.min, - maa: MainAxisAlignment.center, - ) - .safeArea(), - ); - } -} - -class HomeDesktopLandscape extends StatefulWidget { - const HomeDesktopLandscape({super.key}); - - @override - State createState() => _HomeDesktopLandscapeState(); -} - -class _HomeDesktopLandscapeState extends State { - @override - Widget build(BuildContext context) { - return Scaffold( - body: [ - buildLeft(context).flexible(flex: 2), - const SheetScreen().flexible(flex: 6), - const PianoKeyboard().flexible(flex: 7), - ].row(), - ); - } - - Widget buildLeft(BuildContext ctx) { - return [ - Column( - children: [ - const DrawerHeader(child: SizedBox()).flexible(flex: 1), - ListTile( - leading: const Icon(Icons.music_note), - title: AutoSizeText(I18n.soundpack, maxLines: 1), - trailing: const Icon(Icons.navigate_next), - onTap: () { - context.navigator.push( - MaterialPageRoute(builder: (ctx) => const SoundpackPage())); - }, - ) - ], - ).expanded(), - const Spacer(), - ListTile( - leading: const Icon(Icons.settings), - title: AutoSizeText(I18n.settings, maxLines: 1), - onTap: () { - context.navigator - .push(MaterialPageRoute(builder: (ctx) => const SettingsPage())); - }, - ), - ListTile( - leading: const Icon(Icons.info_outline_rounded), - title: AutoSizeText(I18n.about, maxLines: 1), - onTap: () { - context.navigator - .push(MaterialPageRoute(builder: (ctx) => const AboutPage())); - }, - ), - ].column(); - } -} diff --git a/calcupiano/lib/app.portrait.dart b/calcupiano/lib/app.portrait.dart deleted file mode 100644 index 3ae0606..0000000 --- a/calcupiano/lib/app.portrait.dart +++ /dev/null @@ -1,194 +0,0 @@ -part of 'app.dart'; - -class HomePortrait extends StatefulWidget { - const HomePortrait({super.key}); - - @override - State createState() => _HomePortraitState(); -} - -class _HomePortraitState extends State with TickerProviderStateMixin { - final GlobalKey _scaffoldKey = GlobalKey(); - late final AnimationController ctrl; - bool _isDrawerOpen = false; - - @override - void initState() { - super.initState(); - ctrl = AnimationController( - vsync: this, - duration: const Duration(milliseconds: 300), - reverseDuration: const Duration(milliseconds: 500), - ); - } - - @override - void didUpdateWidget(covariant HomePortrait oldWidget) { - super.didUpdateWidget(oldWidget); - final isOpen = _scaffoldKey.currentState?.isDrawerOpen; - if (isOpen != null && isOpen != _isDrawerOpen) { - setState(() { - _isDrawerOpen = isOpen; - }); - } - } - - void _openDrawer() { - _scaffoldKey.currentState?.openDrawer(); - } - - void _closeDrawer(BuildContext ctx) { - ctx.navigator.pop(); - } - - @override - Widget build(BuildContext context) { - final fullSize = MediaQuery.of(context).size; - return Scaffold( - key: _scaffoldKey, - drawer: CalcuPianoDrawer( - onCloseDrawer: () { - _closeDrawer(context); - }, - ), - onDrawerChanged: (isOpened) { - if (isOpened) { - ctrl.forward(); - } else { - ctrl.reverse(); - } - if (isOpened != _isDrawerOpen) { - setState(() { - _isDrawerOpen = isOpened; - }); - } - }, - body: AnimatedScale( - scale: _isDrawerOpen ? 0.96 : 1, - curve: Curves.fastLinearToSlowEaseIn, - duration: const Duration(milliseconds: 1000), - child: buildMainArea(context, ctrl, _isDrawerOpen, fullSize), - ), - ); - } - - Widget buildMainArea(BuildContext ctx, AnimationController ctrl, bool isDrawerOpen, Size fullSize) { - if (kIsWeb) { - return buildMain(context, ctrl, _isDrawerOpen); - } else { - // ImplicitlyAnimatedWidget doesn't work on Flutter Web - return [ - buildMain(context, ctrl, _isDrawerOpen), - AnimatedBlur( - blur: _isDrawerOpen ? 3 : 0, - curve: Curves.fastLinearToSlowEaseIn, - duration: const Duration(milliseconds: 1000), - child: SizedBox( - width: fullSize.width, - height: fullSize.height, - ), - ), - ].stack(); - } - } - - Widget buildMain(BuildContext ctx, AnimationController ctrl, bool isDrawerOpen) { - return Scaffold( - appBar: AppBar( - leading: IconButton( - icon: AnimatedIcon( - icon: AnimatedIcons.menu_close, - progress: CurveTween(curve: Curves.easeIn).animate(ctrl), - ), - onPressed: () { - if (ctrl.isCompleted) { - ctrl.reverse(); - } else { - ctrl.forward().then((value) { - _openDrawer(); - }); - } - }, - ), - ), - body: [ - const SheetScreen().expanded(), - // Why doesn't the constraint apply on this? - const PianoKeyboard().expanded(), - ] - .column( - mas: MainAxisSize.min, - maa: MainAxisAlignment.center, - ) - .safeArea(), - ); - } - - @override - void dispose() { - // NOTE: Dispose the animation controller before `super.dispose()` - ctrl.dispose(); - super.dispose(); - } -} - -class CalcuPianoDrawer extends StatelessWidget { - final VoidCallback? onCloseDrawer; - - const CalcuPianoDrawer({super.key, this.onCloseDrawer}); - - void closeDrawer() { - onCloseDrawer?.call(); - } - - @override - Widget build(BuildContext context) { - return SizedBox( - width: 220, - child: Drawer( - child: [ - Column( - children: [ - const DrawerHeader(child: SizedBox()).flexible(flex: 1), - ListTile( - leading: const Icon(Icons.music_note), - title: AutoSizeText(I18n.soundpack, maxLines: 1), - trailing: const Icon(Icons.navigate_next), - onTap: () { - closeDrawer(); - context.navigator.push(MaterialPageRoute(builder: (ctx) => const SoundpackPage())); - }, - ), - ListTile( - leading: const Icon(CupertinoIcons.doc_text), - title: AutoSizeText(I18n.sheet, maxLines: 1), - trailing: const Icon(Icons.navigate_next), - onTap: () { - closeDrawer(); - //context.navigator.push(MaterialPageRoute(builder: (ctx) => const SoundpackPage())); - }, - ) - ], - ).expanded(), - const Spacer(), - ListTile( - leading: const Icon(Icons.settings), - title: AutoSizeText(I18n.settings, maxLines: 1), - onTap: () { - closeDrawer(); - context.navigator.push(MaterialPageRoute(builder: (ctx) => const SettingsPage())); - }, - ), - ListTile( - leading: const Icon(Icons.info_outline_rounded), - title: AutoSizeText(I18n.about, maxLines: 1), - onTap: () { - closeDrawer(); - context.navigator.push(MaterialPageRoute(builder: (ctx) => const AboutPage())); - }, - ), - ].column(), - ), - ); - } -} diff --git a/calcupiano/lib/assets.dart b/calcupiano/lib/assets.dart deleted file mode 100644 index 9248694..0000000 --- a/calcupiano/lib/assets.dart +++ /dev/null @@ -1,12 +0,0 @@ -// ignore: non_constant_identifier_names -final Assets = _Assets(); - -class _Assets { - static const _ns = "assets"; - final img = _Img(); -} - -class _Img { - static const _ns = "${_Assets._ns}/img"; - final previewPlaceholder = "$_ns/preview-placeholder.svg"; -} diff --git a/calcupiano/lib/db.dart b/calcupiano/lib/db.dart deleted file mode 100644 index 9f9acbb..0000000 --- a/calcupiano/lib/db.dart +++ /dev/null @@ -1,128 +0,0 @@ -import 'dart:io'; - -import 'package:calcupiano/r.dart'; -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/utils.dart'; -import 'package:flutter/foundation.dart'; -import 'package:hive_flutter/adapters.dart'; - -class K { - K._(); - - static const externalSoundpackIdList = "External-Soundpack-ID-List"; - static const currentSoundpackID = "Current-Soundpack-ID"; - static const isDarkMode = "Is-Dark-Mode"; -} - -final H = HImpl._(); -// ignore: non_constant_identifier_names -final DB = DBImpl(); - -class HImpl { - HImpl._(); - - /// To reduce complexity, CalcuPiano will save the settings in only one box with fixed keys, - /// see [K], application-wide. - late Box box; - - String? get currentSoundpackID => box.get(K.currentSoundpackID) as String?; - - set currentSoundpackID(String? id) => box.put(K.currentSoundpackID, id); - - List? get externalSoundpackIdList => box.get(K.externalSoundpackIdList) as List?; - - set externalSoundpackIdList(List? list) => box.put(K.externalSoundpackIdList, list); - - bool? get isDarkMode => box.get(K.isDarkMode) as bool?; - - set isDarkMode(bool? newVal) => box.put(K.isDarkMode, newVal); - - ValueListenable> listenToCurrentSoundpackID() { - return box.listenable(keys: const [K.currentSoundpackID]); - } - - ValueListenable> listenToCustomSoundpackIdList() { - return box.listenable(keys: const [K.externalSoundpackIdList]); - } -} - -extension HImplX on HImpl { - void ensureCurrentSoundpackIdValid() { - final externalIdList = H.externalSoundpackIdList ?? []; - final current = currentSoundpackID; - if (current == null) { - currentSoundpackID = R.defaultSoundpack.id; - } else if (R.builtinSoundpacks.any((s) => s.id == current)) { - return; - } else if (!externalIdList.contains(current)) { - currentSoundpackID = externalIdList.isNotEmpty ? externalIdList.first : R.defaultSoundpack.id; - } - } -} - -class ListenTo { - final List? keys; - - /// It indicates this *Build Method* will listen to specific key/keys, - /// any change will lead to a rebuild in this hierarchy. - const ListenTo([this.keys]); -} - -/// [SoundpackStorage] contains all external soundpacks. -class DBImpl { - late final Box box; - - /// High-level operation - ExternalSoundpackProtocol? getSoundpackById(String id) { - final json = box.get(id); - return Converter.fromJson(json); - } - - /// Low-level operation. - /// Set the soundpack directly will not clear the local file, or change [H.externalSoundpackIdList]. - /// Note: Any further change won't be saved. - void setSoundpackSnapshotById(ExternalSoundpackProtocol soundpack) { - final json = Converter.toJson(soundpack); - if (json != null) { - box.put(soundpack.id, json); - } - } - - /// High-level operation - /// Add current snapshot of soundpack to storage. - /// Note: Any further change won't be saved. - void addSoundpackSnapshot(ExternalSoundpackProtocol soundpack) { - setSoundpackSnapshotById(soundpack); - final idList = H.externalSoundpackIdList ?? []; - idList.add(soundpack.id); - idList.distinct(); - H.externalSoundpackIdList = idList; - } - - /// High-level operation - Future removeSoundpackById(String id) async { - final idList = H.externalSoundpackIdList ?? []; - String? nextOne; - final deletedIndex = idList.indexOf(id); - idList.remove(id); - if (idList.isNotEmpty) { - // Don't worry, `deletedIndex + 1` must be larger-equal then 0. - nextOne = idList[(deletedIndex + 1) % idList.length]; - } - H.externalSoundpackIdList = idList; - if (H.currentSoundpackID == id) { - // If currently-used soundpack was deleted, jump to next one. - if (nextOne != null) { - H.currentSoundpackID = nextOne; - } else { - // If id list is empty, use default soundpack. - H.currentSoundpackID = R.defaultSoundpack.id; - } - } - // Delete the local files. - final file = File(joinPath(R.soundpacksRootDir, id)); - await file.delete(recursive: true); - } - - ValueListenable> listenable({List? keys}) => box.listenable(keys: keys); -} diff --git a/calcupiano/lib/design/adaptive.dart b/calcupiano/lib/design/adaptive.dart deleted file mode 100644 index 1261df8..0000000 --- a/calcupiano/lib/design/adaptive.dart +++ /dev/null @@ -1,239 +0,0 @@ -import 'package:flutter/widgets.dart'; - -// Thanks to https://github.com/mohammadtaherri/flutter_flexible_ui -/// It also stands for split screen. -// Portrait -const Size kDefaultMinWatchPortraitSize = Size(300, 480); -const Size kDefaultMinHeadsetPortraitSize = Size(480, 720); -const Size kDefaultMinTabletPortraitSize = Size(720, 1280); - -//Landscape -const Size kDefaultMinWatchLandscapeSize = Size(360, 300); -const Size kDefaultMinHeadsetLandscapeSize = Size(720, 480); -const Size kDefaultMinTabletLandscapeSize = Size(1280, 720); - -class BreakpointData { - final Size minWatchPortraitSize; - - final Size minWatchLandscapeSize; - - final Size minHeadsetPortraitSize; - - final Size minHeadsetLandscapeSize; - - final Size minTabletPortraitSize; - - final Size minTabletLandscapeSize; - - const BreakpointData({ - this.minWatchPortraitSize = kDefaultMinWatchPortraitSize, - this.minWatchLandscapeSize = kDefaultMinWatchLandscapeSize, - this.minHeadsetPortraitSize = kDefaultMinHeadsetPortraitSize, - this.minHeadsetLandscapeSize = kDefaultMinHeadsetLandscapeSize, - this.minTabletPortraitSize = kDefaultMinTabletPortraitSize, - this.minTabletLandscapeSize = kDefaultMinTabletLandscapeSize, - }); - - ScreenType getScreenType(Size size, Orientation orientation) { - if (orientation == Orientation.portrait) { - if (size.width <= minWatchPortraitSize.width || size.height <= minWatchPortraitSize.height) { - return ScreenType.watchPortrait; - } - if (size.width <= minHeadsetPortraitSize.width || size.height <= minHeadsetPortraitSize.height) { - return ScreenType.headsetPortrait; - } - return ScreenType.tabletPortrait; - } else { - if (size.width <= minWatchLandscapeSize.width || size.height <= minWatchLandscapeSize.height) { - return ScreenType.watchLandscape; - } - if (size.width <= minHeadsetLandscapeSize.width || size.height <= minHeadsetLandscapeSize.height) { - return ScreenType.headsetLandscape; - } - return ScreenType.tabletLandscape; - } - } - - BreakpointData copyWith({ - Size? minWatchPortraitSize, - Size? minWatchLandscapeSize, - Size? minHeadsetPortraitSize, - Size? minHeadsetLandscapeSize, - Size? minTabletPortraitSize, - Size? minTabletLandscapeSize, - }) => - BreakpointData( - minWatchPortraitSize: minWatchPortraitSize ?? this.minWatchPortraitSize, - minWatchLandscapeSize: minWatchLandscapeSize ?? this.minWatchLandscapeSize, - minHeadsetPortraitSize: minHeadsetPortraitSize ?? this.minHeadsetPortraitSize, - minHeadsetLandscapeSize: minHeadsetLandscapeSize ?? this.minHeadsetLandscapeSize, - minTabletPortraitSize: minTabletPortraitSize ?? this.minTabletPortraitSize, - minTabletLandscapeSize: minTabletLandscapeSize ?? this.minTabletLandscapeSize, - ); - - @override - bool operator ==(Object other) { - if (other is! BreakpointData) return false; - if (identical(this, other)) return true; - - if (minWatchPortraitSize != other.minWatchPortraitSize) return false; - if (minWatchLandscapeSize != other.minWatchLandscapeSize) return false; - if (minHeadsetPortraitSize != other.minHeadsetPortraitSize) return false; - if (minHeadsetLandscapeSize != other.minHeadsetLandscapeSize) return false; - if (minTabletPortraitSize != other.minTabletPortraitSize) return false; - if (minTabletLandscapeSize != other.minTabletLandscapeSize) return false; - - return true; - } - - @override - int get hashCode => - minWatchPortraitSize.hashCode ^ - minWatchLandscapeSize.hashCode ^ - minHeadsetPortraitSize.hashCode ^ - minHeadsetLandscapeSize.hashCode ^ - minTabletPortraitSize.hashCode ^ - minTabletLandscapeSize.hashCode; -} - -class Breakpoint extends InheritedWidget { - const Breakpoint({ - Key? key, - this.breakpointData = const BreakpointData(), - required Widget child, - }) : super(key: key, child: child); - final BreakpointData breakpointData; - - @override - bool updateShouldNotify(covariant Breakpoint oldWidget) { - return oldWidget.breakpointData != breakpointData; - } - - /// The [breakPointData] from the closest [Breakpoint] instance that encloses the given - /// context. - static BreakpointData? of(BuildContext context) { - return context.dependOnInheritedWidgetOfExactType()?.breakpointData; - } -} - -extension BreakpointX on BuildContext { - /// Get the current [BreakpointData]. This is a shortcut for `Breakpoint.of(context)`. - BreakpointData? get breakpoint => Breakpoint.of(this); -} - -typedef AdaptiveWidgetBuilder = Widget Function(BuildContext context, AdaptiveScreen screen); - -class AdaptiveBuilder extends StatelessWidget { - const AdaptiveBuilder({ - super.key, - required this.defaultBuilder, - this.breakpointData, - this.layoutDelegate, - }); - - final AdaptiveWidgetBuilder defaultBuilder; - final AdaptiveLayoutDelegate? layoutDelegate; - final BreakpointData? breakpointData; - - @override - Widget build(BuildContext context) { - AdaptiveScreen screen = AdaptiveScreen( - mediaQueryData: MediaQuery.of(context), - breakpointData: breakpointData ?? Breakpoint.of(context) ?? const BreakpointData(), - ); - - return layoutDelegate?.getBuilder(screen)?.call(context, screen) ?? defaultBuilder.call(context, screen); - } -} - -abstract class AdaptiveLayoutDelegate { - @protected - AdaptiveWidgetBuilder? getBuilder(AdaptiveScreen screen); -} - -class AdaptiveLayoutDelegateWithScreenType implements AdaptiveLayoutDelegate { - const AdaptiveLayoutDelegateWithScreenType({ - this.defaultBuilder, - this.watchPortrait, - this.watchLandscape, - this.headsetPortrait, - this.headsetLandscape, - this.tabletPortrait, - this.tabletLandscape, - }); - - final AdaptiveWidgetBuilder? defaultBuilder; - final AdaptiveWidgetBuilder? watchPortrait; - final AdaptiveWidgetBuilder? watchLandscape; - final AdaptiveWidgetBuilder? headsetPortrait; - final AdaptiveWidgetBuilder? headsetLandscape; - final AdaptiveWidgetBuilder? tabletPortrait; - final AdaptiveWidgetBuilder? tabletLandscape; - - @override - @protected - AdaptiveWidgetBuilder? getBuilder(AdaptiveScreen screen) { - switch (screen.screenType) { - case ScreenType.watchPortrait: - return watchPortrait; - case ScreenType.watchLandscape: - return watchLandscape; - case ScreenType.headsetPortrait: - return headsetPortrait; - case ScreenType.headsetLandscape: - return headsetLandscape; - case ScreenType.tabletPortrait: - return tabletPortrait; - case ScreenType.tabletLandscape: - return tabletLandscape; - } - } -} - -class AdaptiveLayoutDelegateWithSingleBuilder implements AdaptiveLayoutDelegate { - const AdaptiveLayoutDelegateWithSingleBuilder(this.builder); - - final AdaptiveWidgetBuilder builder; - - @override - AdaptiveWidgetBuilder? getBuilder(AdaptiveScreen screen) { - return builder; - } -} - -class AdaptiveScreen { - final MediaQueryData mediaQueryData; - final BreakpointData breakpointData; - late final ScreenType screenType; - - AdaptiveScreen({ - required this.mediaQueryData, - required this.breakpointData, - }) { - final size = mediaQueryData.size; - final orientation = mediaQueryData.orientation; - screenType = breakpointData.getScreenType(size, orientation); - } - - factory AdaptiveScreen.fromContext(BuildContext context) => AdaptiveScreen( - mediaQueryData: MediaQuery.of(context), - breakpointData: Breakpoint.of(context) ?? const BreakpointData(), - ); - - factory AdaptiveScreen.fromWindow() { - WidgetsFlutterBinding.ensureInitialized(); - return AdaptiveScreen( - mediaQueryData: MediaQueryData.fromView(WidgetsBinding.instance.window), - breakpointData: const BreakpointData(), - ); - } -} - -enum ScreenType { - watchPortrait, - watchLandscape, - headsetPortrait, - headsetLandscape, - tabletPortrait, - tabletLandscape, -} diff --git a/calcupiano/lib/design/animated.dart b/calcupiano/lib/design/animated.dart deleted file mode 100644 index 6d7389b..0000000 --- a/calcupiano/lib/design/animated.dart +++ /dev/null @@ -1,101 +0,0 @@ -import 'dart:ui'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; - -// Thanks to [Yasin Arık](https://github.com/yasinarik/flutter_pro_animated_blur). -class AnimatedBlur extends ImplicitlyAnimatedWidget { - final double blur; - final Widget? child; - - const AnimatedBlur({ - super.key, - required this.blur, - required super.duration, - super.curve = Curves.linear, - super.onEnd, - this.child, - }); - - @override - AnimatedWidgetBaseState createState() => _AnimatedBlurState(); - - @override - void debugFillProperties(DiagnosticPropertiesBuilder properties) { - super.debugFillProperties(properties); - properties.add(DiagnosticsProperty('blur', blur)); - } -} - -class _AnimatedBlurState extends AnimatedWidgetBaseState { - Tween? _blurTween; - - @override - void forEachTween(TweenVisitor visitor) { - _blurTween = - visitor(_blurTween, widget.blur, (dynamic value) => Tween(begin: value as double)) as Tween?; - } - - @override - Widget build(BuildContext context) { - return BackdropFilter( - filter: ImageFilter.blur( - sigmaX: _blurTween?.evaluate(animation) ?? 0, - sigmaY: _blurTween?.evaluate(animation) ?? 0, - ), - child: widget.child, - ); - } - - @override - void debugFillProperties(DiagnosticPropertiesBuilder description) { - super.debugFillProperties(description); - description.add(DiagnosticsProperty>('blur', _blurTween, defaultValue: null)); - } -} - -extension LiveListAnimationX on Widget { - Widget aliveWith( - Animation animation, - ) => - // For example wrap with fade transition - FadeTransition( - opacity: CurveTween( - curve: Curves.fastLinearToSlowEaseIn, - ).animate(animation), - // And slide transition - child: SlideTransition( - position: CurveOffset( - begin: const Offset(0, 0.5), - end: Offset.zero, - curve: Curves.fastLinearToSlowEaseIn, - ).animate(animation), - // Paste you Widget - child: this, - ), - ); -} - -class CurveOffset extends Animatable { - final Offset begin; - final Offset end; - - /// Creates a curve tween. - /// - /// The [curve] argument must not be null. - CurveOffset({required this.begin, required this.end, required this.curve}); - - /// The curve to use when transforming the value of the animation. - final Curve curve; - - @override - Offset transform(double t) { - return Offset( - curve.transform(t) * (end.dx - begin.dx) + begin.dx, - curve.transform(t) * (end.dy - begin.dy) + begin.dy, - ); - } - - @override - String toString() => 'CurveTweenOffset(curve: $curve)'; -} diff --git a/calcupiano/lib/design/dialog.dart b/calcupiano/lib/design/dialog.dart deleted file mode 100644 index e738567..0000000 --- a/calcupiano/lib/design/dialog.dart +++ /dev/null @@ -1,131 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:loading_animation_widget/loading_animation_widget.dart'; -import 'package:rettulf/rettulf.dart'; - -import 'multiplatform.dart'; - -extension DialogEx on BuildContext { - /// return: whether the button was hit - Future showTip({ - required String title, - required String desc, - required String ok, - bool highlight = false, - bool serious = false, - bool dismissible = true, - }) async { - return showAnyTip( - dismissible: dismissible, - title: title, - make: (_) => desc.text(style: const TextStyle()), - ok: ok, - highlight: false, - serious: serious, - ); - } - - Future showAnyTip({ - required String title, - required WidgetBuilder make, - required String ok, - bool highlight = false, - bool serious = false, - bool dismissible = true, - }) async { - final dynamic confirm = await show$Dialog$( - dismissible: dismissible, - make: (ctx) => $Dialog$( - title: title, - serious: serious, - make: make, - primary: $Action$( - warning: highlight, - text: ok, - onPressed: () { - ctx.navigator.pop(true); - }, - )), - ); - return confirm == true; - } - - Future showRequest({ - required String title, - required String desc, - required String yes, - required String no, - bool highlight = false, - bool serious = false, - bool dismissible = true, - }) async { - return await showAnyRequest( - dismissible: dismissible, - title: title, - make: (_) => desc.text(style: const TextStyle()), - yes: yes, - no: no, - highlight: highlight, - serious: serious, - ); - } - - Future showAnyRequest({ - required String title, - required WidgetBuilder make, - required String yes, - required String no, - bool highlight = false, - bool serious = false, - bool dismissible = true, - }) async { - return await show$Dialog$( - dismissible: dismissible, - make: (ctx) => $Dialog$( - title: title, - serious: serious, - make: make, - primary: $Action$( - warning: highlight, - text: yes, - onPressed: () { - ctx.navigator.pop(true); - }, - ), - secondary: $Action$( - text: no, - onPressed: () { - ctx.navigator.pop(false); - }, - ), - ), - ); - } - - Future showWaiting({ - required Future until, - required String title, - bool serious = false, - }) async { - bool isWaiting = true; - show$Dialog$( - dismissible: false, - make: (ctx) => WillPopScope( - onWillPop: () async { - return !isWaiting; - }, - child: $Dialog$( - title: title, - serious: serious, - make: (_) => LoadingAnimationWidget.beat( - color: theme.primaryColor, - size: 64, - ).padAll(24), - ), - ), - ); - await until; - isWaiting = false; - navigator.pop(); - return; - } -} diff --git a/calcupiano/lib/design/draggable.dart b/calcupiano/lib/design/draggable.dart deleted file mode 100644 index 5c6d013..0000000 --- a/calcupiano/lib/design/draggable.dart +++ /dev/null @@ -1,75 +0,0 @@ -import 'package:flutter/widgets.dart'; -import 'package:rettulf/rettulf.dart'; - -typedef KeyWidgetBuilder = Widget Function(BuildContext ctx, Key key); - -class OmniDraggable extends StatefulWidget { - final Offset offset; - final Widget child; - - const OmniDraggable({super.key, required this.child, this.offset = Offset.zero}); - - @override - State createState() => _OmniDraggableState(); -} - -class _OmniDraggableState extends State with SingleTickerProviderStateMixin { - var _x = 0.0; - var _y = 0.0; - final _mainBodyKey = GlobalKey(); - - // Hide the first frame to avoid position flash - double opacity = 0; - - @override - void initState() { - super.initState(); - WidgetsBinding.instance.addPostFrameCallback((timeStamp) { - final ctx = _mainBodyKey.currentContext; - if (ctx != null) { - final box = ctx.findRenderObject(); - if (box is RenderBox) { - final childSize = box.size; - final selfSize = context.mediaQuery.size; - setState(() { - _x = (selfSize.width - childSize.width) / 2 + widget.offset.dx; - _y = (selfSize.height - childSize.height) / 2 + widget.offset.dy; - }); - } - } - }); - } - - @override - Widget build(BuildContext context) { - return Opacity( - opacity: opacity, - child: [ - Positioned( - key: _mainBodyKey, - left: _x, - top: _y, - child: Listener( - child: widget.child, - onPointerMove: (d) { - setState(() { - _x += d.delta.dx; - _y += d.delta.dy; - }); - }, - )) - ].stack()); - } -} - -extension WidgetOmniDraggableX on Widget { - OmniDraggable draggable({ - Key? key, - Offset offset = Offset.zero, - }) => - OmniDraggable( - key: key, - offset: offset, - child: this, - ); -} diff --git a/calcupiano/lib/design/multiplatform.dart b/calcupiano/lib/design/multiplatform.dart deleted file mode 100644 index d1c0e97..0000000 --- a/calcupiano/lib/design/multiplatform.dart +++ /dev/null @@ -1,278 +0,0 @@ -import 'package:calcupiano/foundation.dart'; -import 'package:rettulf/rettulf.dart'; - -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:unicons/unicons.dart'; - -extension BuildContextDesignX on BuildContext { - bool get isMaterial { - switch (theme.platform) { - case TargetPlatform.android: - case TargetPlatform.fuchsia: - case TargetPlatform.linux: - case TargetPlatform.windows: - return true; - case TargetPlatform.iOS: - case TargetPlatform.macOS: - return false; - } - } - - bool get isCupertino => !isMaterial; -} - -IconData getPlatformIcon() { - if (isAndroid) { - return UniconsLine.android; - } else if (isMacOS || isIOS) { - return UniconsLine.apple; - } else if (isWindows) { - return UniconsLine.windows; - } else if (isLinux) { - return UniconsLine.linux; - } - return UniconsLine.browser; -} - -extension $BuildContextEx$ on BuildContext { - Future show$Dialog$({ - required WidgetBuilder make, - bool dismissible = true, - }) async { - if (isCupertino) { - return await showCupertinoDialog( - context: this, - builder: make, - barrierDismissible: dismissible, - ); - } else { - return await showDialog( - context: this, - builder: make, - barrierDismissible: dismissible, - ); - } - } -} - -class $Button$ extends StatelessWidget { - final String text; - final VoidCallback? onPressed; - - const $Button$({ - super.key, - required this.text, - this.onPressed, - }); - - @override - Widget build(BuildContext context) { - if (context.isCupertino) { - return CupertinoButton(onPressed: onPressed, child: text.text()); - } else { - return ElevatedButton(onPressed: onPressed, child: text.text()); - } - } -} - -class $Action$ { - final String text; - final bool isDefault; - final bool warning; - final VoidCallback? onPressed; - - const $Action$({ - required this.text, - this.onPressed, - this.isDefault = false, - this.warning = false, - }); -} - -class $Dialog$ extends StatelessWidget { - final String? title; - final $Action$? primary; - final $Action$? secondary; - - /// Highlight the title - final bool serious; - final WidgetBuilder make; - - const $Dialog$({ - super.key, - this.title, - required this.make, - this.primary, - this.secondary, - this.serious = false, - }); - - @override - Widget build(BuildContext context) { - Widget dialog; - final second = secondary; - final first = primary; - if (context.isCupertino) { - dialog = CupertinoAlertDialog( - title: title?.text( - style: TextStyle( - fontWeight: FontWeight.w600, - color: serious ? context.$red$ : null)), - content: make(context), - actions: [ - if (second != null) - CupertinoDialogAction( - isDestructiveAction: second.warning, - isDefaultAction: second.isDefault, - onPressed: () { - second.onPressed?.call(); - }, - child: second.text.text(), - ), - if (first != null) - CupertinoDialogAction( - isDestructiveAction: first.warning, - isDefaultAction: first.isDefault, - onPressed: () { - first.onPressed?.call(); - }, - child: first.text.text(), - ) - ], - ); - } else { - dialog = AlertDialog( - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(28.0))), - title: title?.text( - style: TextStyle( - fontWeight: FontWeight.w600, - color: serious ? context.$red$ : null)), - content: make(context), - actions: [ - if (second != null) - TextButton( - onPressed: () { - second.onPressed?.call(); - }, - child: second.text.text( - style: TextStyle( - color: second.warning ? context.$red$ : null, - fontWeight: second.isDefault ? FontWeight.w600 : null, - ), - ), - ), - if (first != null) - TextButton( - onPressed: () { - first.onPressed?.call(); - }, - child: first.text.text( - style: TextStyle( - color: first.warning ? context.$red$ : null, - fontWeight: first.isDefault ? FontWeight.w600 : null, - ), - )) - ], - ); - } - return dialog; - } -} - -class $TextField$ extends StatelessWidget { - final TextEditingController? controller; - final String? placeholder; - final Widget? prefixIcon; - final Widget? suffixIcon; - final int? maxLines; - final bool readOnly; - final bool enabled; - final bool autofocus; - - final String? labelText; - final TextInputAction? textInputAction; - final ValueChanged? onSubmit; - - const $TextField$({ - super.key, - this.controller, - this.autofocus = false, - this.placeholder, - this.labelText, - this.textInputAction, - this.prefixIcon, - this.suffixIcon, - this.onSubmit, - this.maxLines = 1, - this.readOnly = false, - this.enabled = true, - }); - - @override - Widget build(BuildContext context) { - final label = labelText; - if (context.isCupertino) { - return [ - if (label != null) label.text().padV(5), - CupertinoTextField( - controller: controller, - autofocus: autofocus, - placeholder: placeholder, - textInputAction: textInputAction, - prefix: prefixIcon, - suffix: suffixIcon, - readOnly: readOnly, - enabled: enabled, - maxLines: maxLines, - onSubmitted: onSubmit, - decoration: const BoxDecoration( - color: CupertinoDynamicColor.withBrightness( - color: CupertinoColors.white, - darkColor: CupertinoColors.darkBackgroundGray, - ), - border: _kDefaultRoundedBorder, - borderRadius: BorderRadius.all(Radius.circular(8.0)), - ), - style: CupertinoTheme.of(context).textTheme.textStyle), - ].column(mas: MainAxisSize.min, caa: CrossAxisAlignment.start); - } else { - return TextFormField( - controller: controller, - autofocus: autofocus, - maxLines: maxLines, - readOnly: readOnly, - enabled: enabled, - textInputAction: textInputAction, - decoration: InputDecoration( - hintText: placeholder, - icon: prefixIcon, - labelText: labelText, - suffixIcon: suffixIcon, - ), - onFieldSubmitted: onSubmit, - ); - } - } -} - -const BorderSide _kDefaultRoundedBorderSide = BorderSide( - color: CupertinoDynamicColor.withBrightness( - color: Color(0x33000000), - darkColor: Color(0xAAA0A0A0), - ), - width: 1.0, -); -const Border _kDefaultRoundedBorder = Border( - top: _kDefaultRoundedBorderSide, - bottom: _kDefaultRoundedBorderSide, - left: _kDefaultRoundedBorderSide, - right: _kDefaultRoundedBorderSide, -); - -extension ColorEx on BuildContext { - Color get $red$ => isCupertino - ? CupertinoDynamicColor.resolve(CupertinoColors.systemRed, this) - : Colors.redAccent; -} diff --git a/calcupiano/lib/design/overlay.dart b/calcupiano/lib/design/overlay.dart deleted file mode 100644 index 22503f1..0000000 --- a/calcupiano/lib/design/overlay.dart +++ /dev/null @@ -1,334 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; -import 'dart:collection'; - -// Thanks to [Overlay Support](https://github.com/boyan01/overlay_support) -final GlobalKey _keyFinder = GlobalKey(debugLabel: 'overlay_support'); - -typedef TopBuilder = Widget Function(BuildContext context); - -/// Basic api to show overlay widget. -/// -/// [builder]: see [TopBuilder]. -/// -/// [key]: to identify a TopEntry. -/// -/// for example: -/// ```dart -/// final key = ValueKey('my overlay'); -/// -/// // step 1: popup a overlay -/// showTop(builder, key: key); -/// -/// // step 2: popup a overlay use the same key -/// showTop(builder2, key: key); -/// ``` -/// If the notification1 of step1 is showing, the step2 will dismiss previous notification1. -/// -/// -TopEntry showTop( - TopBuilder builder, { - Key? key, - BuildContext? context, -}) { - assert(key is! GlobalKey); - - final top = findTopState(context); - final overlay = top?.overlayState; - if (top == null || overlay == null) { - assert(() { - debugPrint('overlay not available, dispose this call : $key'); - return true; - }()); - return TopEntry.empty(); - } - - final overlayKey = key ?? UniqueKey(); - - final oldTopEntry = top.getEntry(key: overlayKey); - - oldTopEntry?.closeWindow(); - - final entry = OverlayEntry(builder: (context) { - return KeyedTop(key: overlayKey, child: builder(context)); - }); - final topEntry = TopEntry._internal(entry, overlayKey, top); - top.addEntry(topEntry, key: overlayKey); - overlay.insert(entry); - return topEntry; -} - -TopEntry? getTopEntry({ - required Key key, - BuildContext? context, -}) { - final top = findTopState(context); - return top?.getEntry(key: key); -} - -abstract class TopEntry extends CloseableProtocol { - factory TopEntry._internal( - OverlayEntry entry, - Key key, - TopState top, - ) { - return _TopEntryImpl._(entry, key, top); - } - - factory TopEntry.empty() { - return _EmptyTopEntry(); - } - - /// Find [TopEntry] by [context]. - /// - /// The [context] should be the BuildContext which build a element in Notification. - /// - static TopEntry? of(BuildContext context) { - return TopEntry.empty(); - } -} - -/// [TopEntry] represent a overlay popup by [showTop]. -/// -/// Provide function [dismiss] to dismiss a Notification/Overlay. -/// -class _TopEntryImpl implements TopEntry { - final OverlayEntry _entry; - final Key _overlayKey; - final TopState _top; - - _TopEntryImpl._( - this._entry, - this._overlayKey, - this._top, - ); - - // To known when notification has been dismissed. - final Completer _dismissedCompleter = Completer(); - - @override - Future get isClosed => _dismissedCompleter.future; - - // OverlayEntry has been removed from Overlay - bool _dismissed = false; - - @override - void closeWindow() { - if (_dismissed) return; - // Remove this entry from TopState. - _top.removeEntry(key: _overlayKey); - _dismissed = true; - _entry.remove(); - _dismissedCompleter.complete(); - } -} - -class _EmptyTopEntry implements TopEntry { - @override - void closeWindow() {} - - @override - Future get isClosed => Future.value(null); -} - -/// A widget that builds its child. -/// The same as [KeyedSubtree] -class KeyedTop extends StatelessWidget { - final Widget child; - - const KeyedTop({required Key key, required this.child}) : super(key: key); - - @override - Widget build(BuildContext context) { - return child; - } -} - -TopState? findTopState([BuildContext? context]) { - if (context == null) { - assert( - _debugInitialized, - 'Global Top Not Initialized ! \n' - 'ensure your app wrapped widget Top.global', - ); - final state = _keyFinder.currentState; - assert(() { - if (state == null) { - throw FlutterError('''we can not find TopState in your app. - - do you declare Top.global you app widget tree like this? - - Top.global( - child: MaterialApp( - title: 'Top Example', - home: HomePage(), - ), - ) - - '''); - } - return true; - }()); - return state; - } - return context.findAncestorStateOfType(); -} - -bool _debugInitialized = false; - -class Top extends StatelessWidget { - final Widget child; - - final bool global; - - const Top({ - Key? key, - required this.child, - this.global = true, - }) : super(key: key); - - const Top.global({ - super.key, - required this.child, - }) : global = true; - - const Top.local({ - super.key, - required this.child, - }) : global = false; - - TopState? of(BuildContext context) { - return context.findAncestorStateOfType(); - } - - @override - Widget build(BuildContext context) { - return global ? _GlobalTop(child: child) : _LocalTop(child: child); - } -} - -class _GlobalTop extends StatefulWidget { - final Widget child; - - _GlobalTop({required this.child}) : super(key: _keyFinder); - - @override - StatefulElement createElement() { - _debugInitialized = true; - return super.createElement(); - } - - @override - _GlobalTopState createState() => _GlobalTopState(); -} - -class _GlobalTopState extends TopState<_GlobalTop> { - @override - Widget build(BuildContext context) { - assert(() { - if (context.findAncestorWidgetOfExactType<_GlobalTop>() != null) { - throw FlutterError('There is already an Top.global in the Widget tree.'); - } - return true; - }()); - return widget.child; - } - - @override - OverlayState? get overlayState { - NavigatorState? navigator; - void visitor(Element element) { - if (navigator != null) return; - - if (element.widget is Navigator) { - navigator = (element as StatefulElement).state as NavigatorState?; - } else { - element.visitChildElements(visitor); - } - } - - context.visitChildElements(visitor); - - assert(navigator != null, '''It looks like you are not using Navigator in your app. - - do you wrapped you app widget like this? - - Top( - child: MaterialApp( - title: 'Overlay Support Example', - home: HomePage(), - ), - ) - - '''); - return navigator?.overlay; - } -} - -class _LocalTop extends StatefulWidget { - final Widget child; - - const _LocalTop({ - Key? key, - required this.child, - }) : super(key: key); - - @override - _LocalTopState createState() => _LocalTopState(); -} - -class _LocalTopState extends TopState<_LocalTop> { - final GlobalKey _overlayStateKey = GlobalKey(); - - @override - OverlayState? get overlayState => _overlayStateKey.currentState; - - @override - Widget build(BuildContext context) { - return Overlay( - key: _overlayStateKey, - initialEntries: [OverlayEntry(builder: (context) => widget.child)], - ); - } -} - -abstract class TopState extends State { - final Map _entries = HashMap(); - - OverlayState? get overlayState; - - TopEntry? getEntry({required Key key}) { - return _entries[key]; - } - - void addEntry(TopEntry entry, {required Key key}) { - _entries[key] = entry; - } - - void removeEntry({required Key key}) { - _entries.remove(key); - } -} - -abstract class CloseableProtocol { - void closeWindow(); - - Future get isClosed; -} - -class CloseableDelegate implements CloseableProtocol { - final TopEntry self; - - CloseableDelegate({required this.self}); - - @override - void closeWindow() { - self.closeWindow(); - } - - @override - Future get isClosed => self.isClosed; -} diff --git a/calcupiano/lib/design/window.dart b/calcupiano/lib/design/window.dart deleted file mode 100644 index 90dfc0a..0000000 --- a/calcupiano/lib/design/window.dart +++ /dev/null @@ -1,212 +0,0 @@ -import 'package:calcupiano/design/overlay.dart'; -import 'package:calcupiano/events.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:rettulf/rettulf.dart'; - -const _kWindowAspectRatio = 4 / 3; - -Future showWindow({ - Key? key, - required String title, - required WidgetBuilder builder, - BuildContext? ctx, -}) async { - late final CloseableProtocol closeable; - final entry = showTop( - context: ctx, - key: key, - (context) => Window( - title: title, - builder: builder, - closeable: closeable, - )); - closeable = CloseableDelegate(self: entry); -} - -Future closeWindowByKey(Key key, {BuildContext? ctx}) async { - final entry = getTopEntry(key: key, context: ctx); - entry?.closeWindow(); -} - -class Window extends StatefulWidget { - final String title; - - /// If you know width: - /// height = width * [aspectRatio] - /// - /// If you know height: - /// width = height / [aspectRatio] - final double aspectRatio; - final CloseableProtocol? closeable; - final WidgetBuilder builder; - - const Window({ - super.key, - required this.title, - this.closeable, - required this.builder, - this.aspectRatio = _kWindowAspectRatio, - }); - - @override - State createState() => _WindowState(); -} - -class _WindowState extends State { - var _x = 0.0; - var _y = 0.0; - final _mainBodyKey = GlobalKey(); - static var scaleDelta = 0.0; - static const scaleRange = 150; - - static double get scaleDeltaProgress => clampDouble(scaleDelta / scaleRange, 0.0, 1.0); - - static set scaleDeltaProgress(double newV) => scaleDelta = newV * scaleRange; - var isResizing = false; - - // Hide the first frame to avoid position flash - var opacity = 0.0; - - @override - void initState() { - super.initState(); - eventBus.on().listen((event) { - if (!mounted) return; - setState(() { - scaleDelta = 0.0; - }); - }); - WidgetsBinding.instance.addPostFrameCallback((timeStamp) { - final ctx = _mainBodyKey.currentContext; - if (ctx != null) { - final box = ctx.findRenderObject(); - if (box is RenderBox) { - final childSize = box.size; - final selfSize = context.mediaQuery.size; - setState(() { - _x = (selfSize.width - childSize.width) / 2; - _y = (selfSize.height - childSize.height) / 2; - opacity = 1.0; - }); - } - } - }); - } - - Size calcuBestSize(BuildContext ctx) { - final full = ctx.mediaQuery.size; - if (ctx.isPortrait) { - // on Portrait mode, the preview window is based on width. - final width = full.width * 0.8; - final height = width / widget.aspectRatio + scaleDelta; - return Size(width, height); - } else { - // on Landscape mode, the preview window is based on height. - final height = full.height * 0.8 + scaleDelta; - final width = height * widget.aspectRatio; - return Size(width, height); - } - } - - @override - Widget build(BuildContext context) { - return AnimatedOpacity( - opacity: opacity, - duration: const Duration(milliseconds: 300), - child: [ - Positioned( - key: _mainBodyKey, - left: _x, - top: _y, - child: buildWindowContent(context), - ), - ].stack().safeArea(), - ); - } - - Widget buildWindowContent(BuildContext ctx) { - final windowSize = calcuBestSize(ctx); - Widget content = [ - Listener( - child: buildWindowHead(ctx), - onPointerMove: (d) { - if (!isResizing) { - setState(() { - _x += d.delta.dx; - _y += d.delta.dy; - }); - } - }, - ).sized(w: windowSize.width), - widget.builder(ctx).sizedIn(windowSize), - ].column(); - /* Glassmorphism - content = [ - ClipRRect( - child: BackdropFilter( - filter: ImageFilter.blur( - sigmaX: 6, - sigmaY: 6, - ), - child: SizedBox( - width: windowSize.width, - height: windowSize.height, - ), - ), - ), - content, - ].stack(); - content = content.inCard(color: Colors.transparent);*/ - content = content.inFilledCard(); - return content; - } - - Widget buildTitle(BuildContext ctx) { - final Widget res; - if (isResizing) { - res = Slider( - value: scaleDeltaProgress, - onChanged: (newV) { - setState(() { - scaleDeltaProgress = newV; - }); - }, - ); - } else { - final style = ctx.textTheme.titleMedium; - res = [ - widget.title - .text(style: style, textAlign: TextAlign.center, overflow: TextOverflow.ellipsis, maxLines: 1) - .padSymmetric(h: 10, v: 10) - .align(at: Alignment.center), - ].stack().inCard(); - } - return AnimatedSize( - duration: const Duration(milliseconds: 500), - curve: Curves.fastLinearToSlowEaseIn, - child: res, - ); - } - - Widget buildWindowHead(BuildContext ctx) { - final closeable = widget.closeable; - return [ - IconButton( - onPressed: () { - setState(() { - isResizing = !isResizing; - }); - }, - icon: const Icon(Icons.open_in_full_rounded), - ), - buildTitle(ctx).expanded(), - if (closeable != null) - IconButton( - onPressed: () { - closeable.closeWindow(); - }, - icon: const Icon(Icons.close)), - ].row(); - } -} diff --git a/calcupiano/lib/event_handler.dart b/calcupiano/lib/event_handler.dart deleted file mode 100644 index d9a32d4..0000000 --- a/calcupiano/lib/event_handler.dart +++ /dev/null @@ -1,12 +0,0 @@ -import 'package:calcupiano/events.dart'; -import 'package:calcupiano/foundation.dart'; - -class EventHandler { - EventHandler._(); - - static void init() { - eventBus.on().listen((e) async { - H.currentSoundpackID = e.newSoundpack.id; - }); - } -} diff --git a/calcupiano/lib/events.dart b/calcupiano/lib/events.dart deleted file mode 100644 index 77eb3e8..0000000 --- a/calcupiano/lib/events.dart +++ /dev/null @@ -1,40 +0,0 @@ -import 'package:calcupiano/foundation.dart'; -import 'package:event_bus/event_bus.dart'; -import 'package:flutter/widgets.dart'; - -/// Communication among the whole hierarchy. -/// Notably, event bus will not cause rebuild by itself. -/// - It's useful to avoid rebuilding top-down. -/// - Emit data without [BuildContext], instead, the subscribers should check [State.mounted] own their own. -/// Use Cases: -/// - Changing the Soundpack should be silent, for dynamically changes when reading a sheet music. -/// - Changing settings somewhere. -final eventBus = EventBus(); - -/// Fire when the user pressed a Piano Key. -/// The sound should not be played in subscribers. -class KeyUserPressedEvent { - final Note note; - - const KeyUserPressedEvent(this.note); -} - -/// Fire when a Piano Key will be pressed automatically. -/// The sound and ripple effect should be played in subscribers -class KeyAutoWillPressEvent { - final Note note; - - const KeyAutoWillPressEvent(this.note); -} - -class SoundpackChangeEvent { - final SoundpackProtocol newSoundpack; - - const SoundpackChangeEvent(this.newSoundpack); -} - -class OrientationChangeEvent { - final Orientation newOrientation; - - OrientationChangeEvent(this.newOrientation); -} diff --git a/calcupiano/lib/foundation.dart b/calcupiano/lib/foundation.dart deleted file mode 100644 index 66838f0..0000000 --- a/calcupiano/lib/foundation.dart +++ /dev/null @@ -1,66 +0,0 @@ -// ignore_for_file: non_constant_identifier_names, constant_identifier_names - -import 'dart:ui'; - -import 'package:calcupiano/foundation/image_file.dart'; -import 'package:dio/dio.dart'; -import 'package:logger/logger.dart'; -import 'package:uuid/uuid.dart'; -import 'package:jconverter/jconverter.dart'; -export 'package:calcupiano/packager.dart'; -export 'package:calcupiano/db.dart'; -export 'package:easy_localization/easy_localization.dart'; -export 'package:calcupiano/assets.dart'; -export 'foundation/file.dart'; -export 'foundation/player.dart'; -import 'foundation/sound_file.dart'; -import 'foundation/soundpack.dart'; -export 'foundation/soundpack.dart'; -export 'foundation/note.dart'; -export 'foundation/page.dart'; -export 'foundation/sound_file.dart'; -export 'foundation/image_file.dart'; -export 'package:platform_safe_func/platform_safe_func.dart'; - -final Log = Logger(); -const UUID = Uuid(); -final Web = Dio(); -final Converter = JConverter(); - -Future initFoundation() async { - initConverter(); -} - -void initConverter() { - Converter.logger = JConverterLogger( - onError: (message, error, stacktrace) => Log.e( - message, - error: error, - stackTrace: stacktrace, - ), - onInfo: print, - ); - // SoundFile - Converter.addAuto(BundledSoundFile.type, BundledSoundFile.fromJson); - Converter.addAuto(LocalSoundFile.type, LocalSoundFile.fromJson); - Converter.addAuto(UrlSoundFile.type, UrlSoundFile.fromJson); - // Soundpack - Converter.addAuto(LocalSoundpack.type, LocalSoundpack.fromJson); - Converter.addAuto(UrlSoundpack.type, UrlSoundpack.fromJson); - // Soundpack Meta - Converter.addAuto(SoundpackMeta.type, SoundpackMeta.fromJson); - // ImageFile - Converter.addAuto(LocalImageFile.type, LocalImageFile.fromJson); - Converter.addAuto(BundledImageFile.type, BundledImageFile.fromJson); - Converter.addAuto(UrlImageFile.type, UrlImageFile.fromJson); -} - -extension ColorX on Color { - static Color colorFromJson(dynamic json) { - return Color(json as int); - } - - static dynamic colorToJson(Color obj) { - return obj.value; - } -} diff --git a/calcupiano/lib/foundation/file.dart b/calcupiano/lib/foundation/file.dart deleted file mode 100644 index bb96c6a..0000000 --- a/calcupiano/lib/foundation/file.dart +++ /dev/null @@ -1,100 +0,0 @@ -import 'dart:io'; - -import 'package:calcupiano/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:jconverter/jconverter.dart'; - -abstract class FileProtocol extends JConvertibleProtocol { - /// Return the target path. - /// The file name should follow [extSuggestion], but it is not required to. - /// ## For example: - /// - [parentFolder] is `myDisk/myFolder`. - /// - [basenameWithoutExt] is `myFile`. - /// - [extSuggestion] is `.wav`. - /// The return value could be `myDisk/myFolder/myFile.wav`. - /// But if the source file isn't a *.wav but a *.mp3, it can be `myDisk/myFolder/myFile.mp3`. - Future copyTo(String parentFolder, String basenameWithoutExt, {String? extSuggestion}); -} - -abstract class BundledFileProtocol implements FileProtocol { - String get path; -} - -mixin BundledFileMixin implements BundledFileProtocol { - @override - Future copyTo(String parentFolder, String basenameWithoutExt, {String? extSuggestion}) async { - ByteData data = await rootBundle.load(path); - List bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes); - String targetFile = joinPath(parentFolder, "$basenameWithoutExt${extensionOfPath(path)}"); - await File(targetFile).writeAsBytes(bytes); - return targetFile; - } - - @override - bool operator ==(Object other) { - return other is BundledFileProtocol && runtimeType == other.runtimeType && path == other.path; - } - - @override - int get hashCode => path.hashCode; - - @override - String toString() => "Bundled($path)"; -} - -abstract class LocalFileProtocol implements FileProtocol, JConvertibleProtocol { - String get localPath; -} - -mixin LocalFileMixin implements LocalFileProtocol { - @override - Future copyTo(String parentFolder, String basenameWithoutExt, {String? extSuggestion}) async { - String targetFile = joinPath(parentFolder, "$basenameWithoutExt${extensionOfPath(localPath)}"); - await File(localPath).copy(targetFile); - return targetFile; - } - - @override - bool operator ==(Object other) { - return other is LocalFileProtocol && runtimeType == other.runtimeType && localPath == other.localPath; - } - - @override - int get hashCode => localPath.hashCode; - - @override - String toString() => "LocalFile($localPath)"; -} - -extension LocalFileProtocolX on LocalFileProtocol { - Future tryDelete() async { - await toFile().delete(); - } - - File toFile() => File(localPath); -} - -abstract class UrlFileProtocol implements FileProtocol, JConvertibleProtocol { - String get url; -} - -mixin UrlFileMixin implements UrlFileProtocol { - @override - Future copyTo(String parentFolder, String basenameWithoutExt, {String? extSuggestion}) async { - final fileName = extSuggestion != null ? "$basenameWithoutExt$extSuggestion" : basenameWithoutExt; - String targetFile = joinPath(parentFolder, fileName); - await Web.download(url, targetFile); - return targetFile; - } - - @override - bool operator ==(Object other) { - return other is UrlFileProtocol && runtimeType == other.runtimeType && url == other.url; - } - - @override - int get hashCode => url.hashCode; - - @override - String toString() => "URL($url)"; -} diff --git a/calcupiano/lib/foundation/image_file.dart b/calcupiano/lib/foundation/image_file.dart deleted file mode 100644 index b7b258c..0000000 --- a/calcupiano/lib/foundation/image_file.dart +++ /dev/null @@ -1,89 +0,0 @@ -import 'dart:io'; - -import 'package:calcupiano/foundation/file.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:json_annotation/json_annotation.dart'; - -part 'image_file.g.dart'; - -abstract class ImageFileProtocol implements FileProtocol { - Widget build(BuildContext context, {BoxFit? fit}); -} - -@JsonSerializable() -class BundledImageFile with BundledFileMixin implements ImageFileProtocol { - static const String type = "calcupiano.BundledImageFile"; - @override - @JsonKey() - final String path; - - const BundledImageFile({required this.path}); - - @override - String get typeName => type; - - @override - int get version => 1; - - @override - Widget build(BuildContext context, {BoxFit? fit}) { - return Image.asset(path, fit: fit); - } - - factory BundledImageFile.fromJson(Map json) => _$BundledImageFileFromJson(json); - - Map toJson() => _$BundledImageFileToJson(this); -} - -@JsonSerializable() -class LocalImageFile with LocalFileMixin implements ImageFileProtocol { - static const String type = "calcupiano.LocalImageFile"; - - const LocalImageFile({required this.localPath}); - - @override - @JsonKey() - final String localPath; - - @override - Widget build(BuildContext context, {BoxFit? fit}) { - return Image.file(File(localPath), fit: fit); - } - - @override - String get typeName => type; - - @override - int get version => 1; - - factory LocalImageFile.fromJson(Map json) => _$LocalImageFileFromJson(json); - - Map toJson() => _$LocalImageFileToJson(this); -} - -@JsonSerializable() -class UrlImageFile with UrlFileMixin implements ImageFileProtocol { - static const String type = "calcupiano.UrlImageFile"; - - @override - @JsonKey() - final String url; - - const UrlImageFile({required this.url}); - - @override - Widget build(BuildContext context, {BoxFit? fit}) { - return Image.network(url, fit: fit); - } - - @override - String get typeName => type; - - @override - int get version => 1; - - factory UrlImageFile.fromJson(Map json) => _$UrlImageFileFromJson(json); - - Map toJson() => _$UrlImageFileToJson(this); -} diff --git a/calcupiano/lib/foundation/image_file.g.dart b/calcupiano/lib/foundation/image_file.g.dart deleted file mode 100644 index aeeacaf..0000000 --- a/calcupiano/lib/foundation/image_file.g.dart +++ /dev/null @@ -1,36 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'image_file.dart'; - -// ************************************************************************** -// JsonSerializableGenerator -// ************************************************************************** - -BundledImageFile _$BundledImageFileFromJson(Map json) => - BundledImageFile( - path: json['path'] as String, - ); - -Map _$BundledImageFileToJson(BundledImageFile instance) => - { - 'path': instance.path, - }; - -LocalImageFile _$LocalImageFileFromJson(Map json) => - LocalImageFile( - localPath: json['localPath'] as String, - ); - -Map _$LocalImageFileToJson(LocalImageFile instance) => - { - 'localPath': instance.localPath, - }; - -UrlImageFile _$UrlImageFileFromJson(Map json) => UrlImageFile( - url: json['url'] as String, - ); - -Map _$UrlImageFileToJson(UrlImageFile instance) => - { - 'url': instance.url, - }; diff --git a/calcupiano/lib/foundation/note.dart b/calcupiano/lib/foundation/note.dart deleted file mode 100644 index 23cc2ea..0000000 --- a/calcupiano/lib/foundation/note.dart +++ /dev/null @@ -1,108 +0,0 @@ -class Note { - final String id; - - const Note.named(this.id); - - static const $none = Note.named("none"); - static const $1 = Note.named("1"); - static const $2 = Note.named("2"); - static const $3 = Note.named("3"); - static const $4 = Note.named("4"); - static const $5 = Note.named("5"); - static const $6 = Note.named("6"); - static const $7 = Note.named("7"); - static const $8 = Note.named("8"); - static const $9 = Note.named("9"); - /// 10 - static const $plus = Note.named("plus"); - /// 11 - static const $minus = Note.named("minus"); - /// 12 - static const $mul = Note.named("mul"); - /// 13 - static const $div = Note.named("div"); - /// 14 - static const $eq = Note.named("eq"); - - @override - String toString() => id; - - static const all = [$1, $2, $3, $4, $5, $6, $7, $8, $9, $plus, $minus, $mul, $div, $eq]; - - static const note2Numbered = { - $1: "1", - $2: "2", - $3: "3", - $4: "4", - $5: "5", - $6: "6", - $7: "7", - $8: "8", - $9: "9", - $plus: "+", - $minus: "-", - $mul: "*", - $div: "/", - $eq: "=" - }; - static const note2TonicSolfa = { - $1: "Do", - $2: "Re", - $3: "Mi", - $4: "Fa", - $5: "So", - $6: "La", - $7: "Ti", - $8: "Do+", - $9: "Re+", - $plus: "Mi+", - $minus: "Fa+", - $mul: "La+", - $div: "So+", - $eq: "Ti+" - }; - static const id2Note = { - "1": $1, - "2": $2, - "3": $3, - "4": $4, - "5": $5, - "6": $6, - "7": $7, - "8": $8, - "9": $9, - "plus": $plus, - "minus": $minus, - "mul": $mul, - "div": $div, - "eq": $eq - }; - - static Note of(String id, {Note fallback = $none}) { - return id2Note[id] ?? fallback; - } - - static Iterable loopSequence(int count, {bool reversed = false, int step = 1}) sync* { - final len = Note.all.length; - if (reversed) { - // TODO: Does this work? - step = -step.abs(); - for (int i = 0; i < count; i++) { - yield Note.all[(i * step) % len]; - } - } else { - step = step.abs(); - for (int i = 0; i < count; i++) { - yield Note.all[(i * step) % len]; - } - } - } -} - -extension NoteX on Note { - String get assetsName => "$id.wav"; - - String get numberedText => Note.note2Numbered[this] ?? "?"; - - String get tonicSolfaText => Note.note2TonicSolfa[this] ?? "?"; -} diff --git a/calcupiano/lib/foundation/page.dart b/calcupiano/lib/foundation/page.dart deleted file mode 100644 index e442358..0000000 --- a/calcupiano/lib/foundation/page.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:rettulf/rettulf.dart'; - -mixin LockOrientationMixin on State { - @override - @mustCallSuper - void dispose() { - super.dispose(); - // Now unlock the orientation. - SystemChrome.setPreferredOrientations([ - DeviceOrientation.portraitUp, - DeviceOrientation.portraitDown, - DeviceOrientation.landscapeLeft, - DeviceOrientation.landscapeRight, - ]); - } - - @override - @mustCallSuper - Widget build(BuildContext context) { - // Lock the orientation to avoid navigation bar disappearing. - if (context.isPortrait) { - SystemChrome.setPreferredOrientations([ - DeviceOrientation.portraitUp, - DeviceOrientation.portraitDown, - ]); - } - return const _NullWidget(); - } -} - -class _NullWidget extends StatelessWidget { - const _NullWidget(); - - @override - Widget build(BuildContext context) { - throw FlutterError( - 'Widgets that mix LockOrientationMixin into their State must ' - 'call super.build() but must ignore the return value of the superclass.', - ); - } -} diff --git a/calcupiano/lib/foundation/player.dart b/calcupiano/lib/foundation/player.dart deleted file mode 100644 index 9992d6c..0000000 --- a/calcupiano/lib/foundation/player.dart +++ /dev/null @@ -1,52 +0,0 @@ -import 'package:audioplayers/audioplayers.dart'; -import 'package:calcupiano/foundation.dart'; -import 'package:flutter/foundation.dart'; - -class Player { - Player._(); - - static final _context = AudioContext( - android: const AudioContextAndroid( - usageType: AndroidUsageType.game, - audioFocus: AndroidAudioFocus.gainTransientMayDuck, - ), - iOS: AudioContextIOS(options: const { - AVAudioSessionOptions.duckOthers, - }), - ); - - static Future playSound(SoundFileProtocol sound) async { - // TODO: Cache doesn't work on both iOS and macOS safari with audioplayers. - final player = AudioPlayer(playerId: sound.id); - await sound.loadInto(player); - await player.setPlayerMode(PlayerMode.lowLatency); - // await player.setAudioContext(_context); - await player.setReleaseMode(ReleaseMode.stop); - await player.resume(); - } - - /// Clear all cache. - /// It's no effect on web. - static void resetPhysicalDeviceCache() async { - if (!kIsWeb) { - AudioCache.instance.clearAll(); - } - } - - static final Set _preloadedId = {}; - - /// Preload the soundpack by [SoundpackProtocol.id]. - /// It could mess with edited soundpack, however, the sound will load again before really played. - /// - /// Modern browsers will handle caching of GET request, this only aims at prompting the browser to cache. - static Future preloadSoundpack(SoundpackProtocol soundpack) async { - if (!_preloadedId.contains(soundpack.id)) { - _preloadedId.add(soundpack.id); - final player = AudioPlayer(); - for (final note in Note.all) { - final soundFile = soundpack.resolve(note); - await soundFile.loadInto(player); - } - } - } -} diff --git a/calcupiano/lib/foundation/sound_file.dart b/calcupiano/lib/foundation/sound_file.dart deleted file mode 100644 index f4f2566..0000000 --- a/calcupiano/lib/foundation/sound_file.dart +++ /dev/null @@ -1,108 +0,0 @@ -import 'package:audioplayers/audioplayers.dart'; -import 'package:calcupiano/foundation/file.dart'; -import 'package:json_annotation/json_annotation.dart'; - -part 'sound_file.g.dart'; - -abstract class SoundFileResolveProtocol { - SoundFileProtocol resolve(); -} - -/// SoundFile is an abstract file of a sound. -/// It could be the ref of a bundled file, or a real local file. -abstract class SoundFileProtocol implements FileProtocol, SoundFileResolveProtocol { - String get id; - - Future loadInto(AudioPlayer player); -} - -/// A bundled sound file in assets. -@JsonSerializable() -class BundledSoundFile with BundledFileMixin implements SoundFileProtocol { - static const String type = "calcupiano.BundledSoundFile"; - @override - String get id => "bundle.$path"; - @override - @JsonKey() - final String path; - - const BundledSoundFile({required this.path}); - - @override - Future loadInto(AudioPlayer player) async { - await player.setSourceAsset(path); - } - - factory BundledSoundFile.fromJson(Map json) => _$BundledSoundFileFromJson(json); - - Map toJson() => _$BundledSoundFileToJson(this); - - @override - String get typeName => type; - - @override - int get version => 1; - - @override - BundledSoundFile resolve() => this; -} - -@JsonSerializable() -class LocalSoundFile with LocalFileMixin implements SoundFileProtocol { - static const String type = "calcupiano.LocalSoundFile"; - @override - String get id => "bundle.$localPath"; - @override - @JsonKey() - final String localPath; - - const LocalSoundFile({required this.localPath}); - - @override - Future loadInto(AudioPlayer player) async { - await player.setSourceDeviceFile(localPath); - } - - factory LocalSoundFile.fromJson(Map json) => _$LocalSoundFileFromJson(json); - - Map toJson() => _$LocalSoundFileToJson(this); - - @override - String get typeName => type; - - @override - int get version => 1; - - @override - LocalSoundFile resolve() => this; -} - -@JsonSerializable() -class UrlSoundFile with UrlFileMixin implements SoundFileProtocol { - static const String type = "calcupiano.UrlSoundFile"; - @override - String get id => "bundle.$url"; - @override - @JsonKey() - final String url; - - const UrlSoundFile({required this.url}); - - @override - Future loadInto(AudioPlayer player) async { - await player.setSourceUrl(url); - } - - factory UrlSoundFile.fromJson(Map json) => _$UrlSoundFileFromJson(json); - - Map toJson() => _$UrlSoundFileToJson(this); - - @override - String get typeName => type; - - @override - int get version => 1; - - @override - UrlSoundFile resolve() => this; -} diff --git a/calcupiano/lib/foundation/sound_file.g.dart b/calcupiano/lib/foundation/sound_file.g.dart deleted file mode 100644 index 14e8025..0000000 --- a/calcupiano/lib/foundation/sound_file.g.dart +++ /dev/null @@ -1,36 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'sound_file.dart'; - -// ************************************************************************** -// JsonSerializableGenerator -// ************************************************************************** - -BundledSoundFile _$BundledSoundFileFromJson(Map json) => - BundledSoundFile( - path: json['path'] as String, - ); - -Map _$BundledSoundFileToJson(BundledSoundFile instance) => - { - 'path': instance.path, - }; - -LocalSoundFile _$LocalSoundFileFromJson(Map json) => - LocalSoundFile( - localPath: json['localPath'] as String, - ); - -Map _$LocalSoundFileToJson(LocalSoundFile instance) => - { - 'localPath': instance.localPath, - }; - -UrlSoundFile _$UrlSoundFileFromJson(Map json) => UrlSoundFile( - url: json['url'] as String, - ); - -Map _$UrlSoundFileToJson(UrlSoundFile instance) => - { - 'url': instance.url, - }; diff --git a/calcupiano/lib/foundation/soundpack.dart b/calcupiano/lib/foundation/soundpack.dart deleted file mode 100644 index 44a83cf..0000000 --- a/calcupiano/lib/foundation/soundpack.dart +++ /dev/null @@ -1,370 +0,0 @@ -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/i18n.dart'; -import 'package:calcupiano/r.dart'; -import 'package:calcupiano/utils.dart'; -import 'package:jconverter/jconverter.dart'; -import 'package:json_annotation/json_annotation.dart'; -import 'package:quiver/core.dart'; - -part 'soundpack.g.dart'; - -part 'soundpack.i18n.dart'; - -abstract class SoundpackProtocol { - /// The identity. - /// The [H.currentSoundpackID] will use this as identity. - String get id; - - SoundFileProtocol resolve(Note note); - - ImageFileProtocol? get preview; -} - -abstract class SoundFileLoc implements SoundFileResolveProtocol { - SoundpackProtocol get soundpack; - - Note get note; - - factory SoundFileLoc.fromSoundpackType(SoundpackProtocol soundpack, Note note) { - if (soundpack is LocalSoundpack) { - return LocalSoundFileLoc(soundpack, note); - } else if (soundpack is BuiltinSoundpack) { - return BuiltinSoundFileLoc(soundpack, note); - } else if (soundpack is UrlSoundpack) { - return UrlSoundFileLoc(soundpack, note); - } else { - return _SoundFileLocImpl(soundpack, note); - } - } -} - -class _SoundFileLocImpl implements SoundFileLoc { - @override - final SoundpackProtocol soundpack; - @override - final Note note; - - const _SoundFileLocImpl(this.soundpack, this.note); - - @override - SoundFileProtocol resolve() => soundpack.resolve(note); -} - -class BuiltinSoundpack implements SoundpackProtocol { - /// The internal name. - final String name; - - String get description => "By key"; - - const BuiltinSoundpack(this.name); - - /// The ID is fixed. - @override - String get id => R.genBuiltinSoundpackId(name); - - @override - BundledSoundFile resolve(Note note) { - // Note: Don't use [joinPath] here, assets only slash-separator. - // On Windows, [joinPath] will add backslashes. - return BundledSoundFile(path: "assets/${R.assetsSoundpackDir}/$name/${note.id}.wav"); - } - - @override - ImageFileProtocol get preview => BundledImageFile(path: "assets/${R.assetsSoundpackDir}/$name/preview.png"); -} - -class BuiltinSoundFileLoc implements SoundFileLoc { - @override - final BuiltinSoundpack soundpack; - @override - final Note note; - - const BuiltinSoundFileLoc(this.soundpack, this.note); - - @override - BundledSoundFile resolve() => soundpack.resolve(note); -} - -abstract class ExternalSoundpackProtocol implements SoundpackProtocol, JConvertibleProtocol { - SoundpackMeta get meta; -} - -@JsonSerializable() -class LocalSoundpack implements ExternalSoundpackProtocol { - static const String type = "calcupiano.LocalSoundpack"; - @JsonKey() - final String uuid; - @override - @JsonKey(fromJson: directConvertFunc, toJson: directConvertFunc) - SoundpackMeta meta; - - /// A LocalSoundpack can only hold [LocalSoundFile]. - @JsonKey(fromJson: _note2FilesFromJson, toJson: _note2FilesToJson) - Map note2SoundFile = {}; - @override - @JsonKey(fromJson: directConvertFunc, toJson: directConvertFunc) - LocalImageFile? preview; - - LocalSoundpack({required this.uuid, required this.meta, this.preview}); - - /// The ID is generated - @override - String get id => uuid; - - @override - LocalSoundFile resolve(Note note) { - final file = note2SoundFile[note]; - if (file == null) { - throw NoSoundFileOfNoteException(note); - } - return file; - } - - factory LocalSoundpack.fromJson(Map json) => _$LocalSoundpackFromJson(json); - - Map toJson() => _$LocalSoundpackToJson(this); - - @override - String get typeName => type; - - @override - int get version => 1; - - static Map _note2FilesToJson(Map note2Files) { - return note2Files.map((key, value) => MapEntry(key.id, value)); - } - - static Map _note2FilesFromJson(Map note2Files) { - return note2Files.map((key, value) => MapEntry(Note.of(key), value)); - } - - LocalSoundpack copyWith({ - String? uuid, - SoundpackMeta? meta, - Map? note2SoundFile, - LocalImageFile? preview, - }) => - LocalSoundpack( - uuid: uuid ?? this.uuid, - meta: meta ?? this.meta, - preview: preview ?? this.preview, - )..note2SoundFile = note2SoundFile ?? this.note2SoundFile; -} - -class LocalSoundFileLoc implements SoundFileLoc { - @override - final LocalSoundpack soundpack; - @override - final Note note; - - const LocalSoundFileLoc(this.soundpack, this.note); - - @override - LocalSoundFile resolve() => soundpack.resolve(note); -} - -@JsonSerializable() -class UrlSoundpack implements ExternalSoundpackProtocol { - static const String type = "calcupiano.UrlSoundpack"; - - @JsonKey() - final String uuid; - @JsonKey() - final String url; - @JsonKey(fromJson: directConvertFunc, toJson: directConvertFunc) - @override - SoundpackMeta meta; - @override - @JsonKey(fromJson: directConvertFunc, toJson: directConvertFunc) - ImageFileProtocol? preview; - - /// A LocalSoundpack can only hold [LocalSoundFile]. - @JsonKey(fromJson: _note2FilesFromJson, toJson: _note2FilesToJson) - Map note2SoundFile = {}; - - UrlSoundpack({required this.uuid, required this.meta, required this.url, this.preview}); - - /// The ID is generated - @override - String get id => uuid; - - @override - SoundFileProtocol resolve(Note note) { - final file = note2SoundFile[note]; - if (file == null) { - throw NoSoundFileOfNoteException(note); - } - return file; - } - - factory UrlSoundpack.fromJson(Map json) => _$UrlSoundpackFromJson(json); - - Map toJson() => _$UrlSoundpackToJson(this); - - @override - String get typeName => type; - - @override - int get version => 1; - - static Map _note2FilesToJson(Map note2Files) { - return note2Files.map((key, value) => MapEntry(key.id, value)); - } - - static Map _note2FilesFromJson(Map note2Files) { - return note2Files.map((key, value) => MapEntry(Note.of(key), value)); - } - - UrlSoundpack copyWith({ - String? uuid, - String? url, - SoundpackMeta? meta, - Map? note2SoundFile, - ImageFileProtocol? preview, - }) => - UrlSoundpack( - uuid: uuid ?? this.uuid, - meta: meta ?? this.meta, - url: url ?? this.url, - preview: preview ?? this.preview, - )..note2SoundFile = note2SoundFile ?? this.note2SoundFile; -} - -class UrlSoundFileLoc implements SoundFileLoc { - @override - final UrlSoundpack soundpack; - @override - final Note note; - - const UrlSoundFileLoc(this.soundpack, this.note); - - @override - SoundFileProtocol resolve() => soundpack.resolve(note); -} - -@JsonSerializable() -class SoundpackMeta implements JConvertibleProtocol { - static const String type = "calcupiano.SoundpackMeta"; - @JsonKey(includeIfNull: false) - String? name; - @JsonKey(includeIfNull: false) - String? description; - @JsonKey(includeIfNull: false) - String? author; - @JsonKey(includeIfNull: false) - String? url; - @JsonKey(includeIfNull: false) - String? email; - - SoundpackMeta(); - - factory SoundpackMeta.fromJson(Map json) => _$SoundpackMetaFromJson(json); - - Map toJson() => _$SoundpackMetaToJson(this); - - @override - String get typeName => type; - - @override - int get version => 1; - - SoundpackMeta copyWith({ - String? name, - String? description, - String? author, - String? url, - String? email, - }) => - SoundpackMeta() - ..name = name ?? this.name - ..description = description ?? this.description - ..author = author ?? this.author - ..url = url ?? this.url - ..email = email ?? this.email; - - @override - bool operator ==(Object other) { - return other is SoundpackMeta && - runtimeType == other.runtimeType && - name == other.name && - description == other.description && - author == other.author && - url == other.url && - email == other.email; - } - - @override - int get hashCode => hash4(name, description, author, url); -} - -class NoSoundFileOfNoteException implements Exception { - final Note note; - - NoSoundFileOfNoteException(this.note); -} - -extension SoundpackX on SoundpackProtocol { - bool idEquals(SoundpackProtocol other) => id == other.id; - - Iterable> iterateNote2SoundFile() sync* { - for (final note in Note.all) { - yield MapEntry(note, resolve(note)); - } - } - - Iterable iterateSoundFiles() sync* { - for (final note in Note.all) { - yield resolve(note); - } - } - - String get displayName { - final self = this; - if (self is ExternalSoundpackProtocol) { - return self.meta.name.notEmptyNullOr(I18n.soundpack.nameEmpty); - } else if (self is BuiltinSoundpack) { - return I18n.nameOf(self); - } - return I18n.soundpack.nameEmpty; - } - - String get author { - final self = this; - if (self is ExternalSoundpackProtocol) { - return self.meta.author.notEmptyNullOr(I18n.soundpack.authorEmpty); - } else if (self is BuiltinSoundpack) { - return I18n.authorOf(self); - } - return I18n.soundpack.authorEmpty; - } - - String get url { - final self = this; - if (self is ExternalSoundpackProtocol) { - return self.meta.url ?? ""; - } else if (self is BuiltinSoundpack) { - return I18n.urlOf(self); - } - return ""; - } - - String get email { - final self = this; - if (self is ExternalSoundpackProtocol) { - return self.meta.email ?? ""; - } else if (self is BuiltinSoundpack) { - return I18n.emailOf(self); - } - return ""; - } - - String get description { - final self = this; - if (self is ExternalSoundpackProtocol) { - return self.meta.description.notEmptyNullOr(I18n.soundpack.descriptionEmpty); - } else if (self is BuiltinSoundpack) { - return I18n.descriptionOf(self); - } - return I18n.soundpack.descriptionEmpty; - } -} diff --git a/calcupiano/lib/foundation/soundpack.g.dart b/calcupiano/lib/foundation/soundpack.g.dart deleted file mode 100644 index a470634..0000000 --- a/calcupiano/lib/foundation/soundpack.g.dart +++ /dev/null @@ -1,66 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'soundpack.dart'; - -// ************************************************************************** -// JsonSerializableGenerator -// ************************************************************************** - -LocalSoundpack _$LocalSoundpackFromJson(Map json) => - LocalSoundpack( - uuid: json['uuid'] as String, - meta: directConvertFunc(json['meta']), - preview: directConvertFunc(json['preview']), - )..note2SoundFile = LocalSoundpack._note2FilesFromJson( - json['note2SoundFile'] as Map); - -Map _$LocalSoundpackToJson(LocalSoundpack instance) => - { - 'uuid': instance.uuid, - 'meta': directConvertFunc(instance.meta), - 'note2SoundFile': - LocalSoundpack._note2FilesToJson(instance.note2SoundFile), - 'preview': directConvertFunc(instance.preview), - }; - -UrlSoundpack _$UrlSoundpackFromJson(Map json) => UrlSoundpack( - uuid: json['uuid'] as String, - meta: directConvertFunc(json['meta']), - url: json['url'] as String, - preview: directConvertFunc(json['preview']), - )..note2SoundFile = UrlSoundpack._note2FilesFromJson( - json['note2SoundFile'] as Map); - -Map _$UrlSoundpackToJson(UrlSoundpack instance) => - { - 'uuid': instance.uuid, - 'url': instance.url, - 'meta': directConvertFunc(instance.meta), - 'preview': directConvertFunc(instance.preview), - 'note2SoundFile': UrlSoundpack._note2FilesToJson(instance.note2SoundFile), - }; - -SoundpackMeta _$SoundpackMetaFromJson(Map json) => - SoundpackMeta() - ..name = json['name'] as String? - ..description = json['description'] as String? - ..author = json['author'] as String? - ..url = json['url'] as String? - ..email = json['email'] as String?; - -Map _$SoundpackMetaToJson(SoundpackMeta instance) { - final val = {}; - - void writeNotNull(String key, dynamic value) { - if (value != null) { - val[key] = value; - } - } - - writeNotNull('name', instance.name); - writeNotNull('description', instance.description); - writeNotNull('author', instance.author); - writeNotNull('url', instance.url); - writeNotNull('email', instance.email); - return val; -} diff --git a/calcupiano/lib/foundation/soundpack.i18n.dart b/calcupiano/lib/foundation/soundpack.i18n.dart deleted file mode 100644 index 3ee7f74..0000000 --- a/calcupiano/lib/foundation/soundpack.i18n.dart +++ /dev/null @@ -1,18 +0,0 @@ -part of 'soundpack.dart'; - -const _builtinNs = "builtinSoundpack"; - -class I18n { - I18n._(); - static $I18n$Soundpack get soundpack => $I18n.soundpack; - - static String nameOf(BuiltinSoundpack s) => "$_builtinNs.${s.name}.name".tr(); - - static String authorOf(BuiltinSoundpack s) => "$_builtinNs.${s.name}.author".tr(); - - static String emailOf(BuiltinSoundpack s) => "$_builtinNs.${s.name}.email".tr(); - - static String urlOf(BuiltinSoundpack s) => "$_builtinNs.${s.name}.url".tr(); - - static String descriptionOf(BuiltinSoundpack s) => "$_builtinNs.${s.name}.description".tr(); -} diff --git a/calcupiano/lib/i18n.dart b/calcupiano/lib/i18n.dart deleted file mode 100644 index e2e30e2..0000000 --- a/calcupiano/lib/i18n.dart +++ /dev/null @@ -1,53 +0,0 @@ -import 'package:calcupiano/foundation.dart'; -import 'package:easy_localization/easy_localization.dart'; - -const _$ns = "common"; - -class $I18n { - $I18n._(); - - static final op = $I18n$Op(); - static final soundpack = $I18n$Soundpack(); -} - -class $I18n$Soundpack { - static const _ns = "${_$ns}.soundpack"; - - String get name => "$_ns.name".tr(); - - String get nameEmpty => "$_ns.nameEmpty".tr(); - - String get author => "$_ns.author".tr(); - - String get authorEmpty => "$_ns.authorEmpty".tr(); - - String get description => "$_ns.description".tr(); - - String get descriptionEmpty => "$_ns.descriptionEmpty".tr(); - - String get email => "$_ns.email".tr(); - - String get url => "$_ns.url".tr(); -} - -class $I18n$Op { - static const _ns = "${_$ns}.operation"; - - String get revealInFolder => (isMacOS ? "$_ns.revealInFolder.mac" : "$_ns.revealInFolder.other").tr(); - - String get share => "$_ns.share".tr(); - - String get saveAs => "$_ns.saveAs".tr(); - - String get play$Music => "$_ns.play.music".tr(); - - String get play$Game => "$_ns.play.game".tr(); - - String get edit => "$_ns.edit".tr(); - - String get info => "$_ns.info".tr(); - - String get duplicate => "$_ns.duplicate".tr(); - - String get delete => "$_ns.delete".tr(); -} diff --git a/calcupiano/lib/main.dart b/calcupiano/lib/main.dart deleted file mode 100644 index d261066..0000000 --- a/calcupiano/lib/main.dart +++ /dev/null @@ -1,69 +0,0 @@ -import 'package:audioplayers/audioplayers.dart'; -import 'package:calcupiano/app.dart'; -import 'package:calcupiano/event_handler.dart'; -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/r.dart'; -import 'package:calcupiano/service/soundpack.dart'; -import 'package:calcupiano/sheet/interpreter.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter/widgets.dart'; -import 'package:hive_flutter/adapters.dart'; -import 'package:package_info_plus/package_info_plus.dart'; -import 'package:path_provider/path_provider.dart'; - -void main() async { - WidgetsFlutterBinding.ensureInitialized(); - await EasyLocalization.ensureInitialized(); - if (!kIsWeb) { - final appDocDir = await getApplicationDocumentsDirectory(); - R.appDir = appDocDir.path; - final tmpDir = await getTemporaryDirectory(); - R.tmpDir = tmpDir.path; - await Hive.initFlutter(R.hiveDir); - } - try { - R.packageInfo = await PackageInfo.fromPlatform(); - } catch (_) {} - final settingsBox = await Hive.openBox("Settings"); - final soundpackBox = await Hive.openBox("Soundpacks"); - H.box = settingsBox; - DB.box = soundpackBox; - // Remove prefix to unify the path - AudioCache.instance = AudioCache(prefix: ""); - await initFoundation(); - await initEssential(); - initLicense(); - runApp(wrapWithEasyLocalization( - const CalcuPianoApp(), - )); - await preloadCurrentSoundpack(); -} - -Widget wrapWithEasyLocalization(Widget child) { - return EasyLocalization( - supportedLocales: R.supportedLocales, - path: 'assets/l10n', - fallbackLocale: R.defaultLocale, - useFallbackTranslations: true, - child: child, - ); -} - -Future preloadCurrentSoundpack() async { - final currentSoundpack = SoundpackService.findById(H.currentSoundpackID) ?? R.defaultSoundpack; - await Player.preloadSoundpack(currentSoundpack); -} - -Future initEssential() async { - H.ensureCurrentSoundpackIdValid(); - EventHandler.init(); - SheetInterpreter.init(); -} - -void initLicense() { - LicenseRegistry.addLicense(() async* { - final license = await rootBundle.loadString("assets/google_fonts/JetBrainsMono-OFL.txt"); - yield LicenseEntryWithLineBreaks(["JetBrains Mono"], license); - }); -} diff --git a/calcupiano/lib/packager.dart b/calcupiano/lib/packager.dart deleted file mode 100644 index 07d7e43..0000000 --- a/calcupiano/lib/packager.dart +++ /dev/null @@ -1,276 +0,0 @@ -import 'dart:io'; - -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/r.dart'; -import 'package:collection/collection.dart'; -import 'package:archive/archive_io.dart'; -import 'package:file_picker/file_picker.dart'; -import 'package:flutter/foundation.dart'; -import 'package:image_picker/image_picker.dart'; -import 'package:path_provider/path_provider.dart'; -import 'package:sanitize_filename/sanitize_filename.dart'; -import 'package:share_plus/share_plus.dart'; -import 'package:url_launcher/url_launcher.dart'; - -/// Packager provides An abstract layer to interact with local storage, disk and cloud. -/// -/// ## Use cases: -/// - Dealing with soundpack archive, aka. `soundpack.zip`. -/// -/// -class Packager { - Packager._(); - - static Future pickAndImportSoundpackArchive() async { - final path = await Packager.tryPickSoundpackArchive(); - if (path != null) { - await Packager.importSoundpackFromFile(path); - } - } - - /// Pick the possible soundpack archive depended on platform. - /// Return the path if picked. Null if canceled. - static Future tryPickSoundpackArchive() async { - FilePickerResult? result = await FilePicker.platform.pickFiles( - type: FileType.custom, - allowedExtensions: const ['zip'], - withData: true, - lockParentWindow: true, - ); - return result?.files.single.path; - } - - /// For the file format of a Soundpack, please check the [Soundpack Specification](https://github.com/liplum/calcupiano/specifications/Soundpack.md). - static Future importSoundpackFromFile(String path) async { - final inputStream = InputFileStream(path); - // Decode the zip from the InputFileStream. The archive will have the contents of the - // zip, without having stored the data in memory. - final archive = ZipDecoder().decodeBuffer(inputStream); - - final archiveFiles = archive.files.toList(growable: false); - - final uuid = UUID.v4(); - final rootDir = joinPath(R.soundpacksRootDir, uuid); - // ---------------------------------------------------------------- - // Mapping(Copying) the archive files to local files. - /// Only including file. No Folder. - /// Note: If an archive file in a archive folder, its name is `myFolder/myFile.ext` - final archiveFileName2LocalPath = {}; - // For all of the entries in the archive - for (final file in archiveFiles) { - // If it's a file and not a directory - if (file.isFile) { - final targetPath = joinPath(rootDir, file.name); - archiveFileName2LocalPath[file.name] = targetPath; - final outputStream = OutputFileStream(targetPath); - // The writeContent method will decompress the file content directly to disk without - // storing the decompressed data in memory. - file.writeContent(outputStream); - // Make sure to close the output stream so the File is closed. - outputStream.close(); - } - } - // ---------------------------------------------------------------- - // Find sound files of all notes. - final Map note2SoundFile = {}; - // TODO: I18n exception. - // TODO: Handle exception. - final fileName2ArchiveFile = archiveFiles.map((it) => MapEntry(it.name, it)).toList(); - for (final note in Note.all) { - final candidates = fileName2ArchiveFile.where((it) => it.key.startsWith(note.id)).toList(growable: false); - if (candidates.isEmpty) throw Exception("Sound file of Note<$note> not found."); - if (candidates.length > 1) throw Exception("Ambiguous sound audio file detected, $candidates, of Note<$note>."); - final noteFile = candidates[0].value; - if (R.supportedAudioDotExtension.contains(extensionOfPath(noteFile.name).toLowerCase())) { - note2SoundFile[note] = LocalSoundFile(localPath: joinPath(rootDir, noteFile.name)); - continue; - } - throw Exception("Unsupported audio format, ${noteFile.name}."); - } - // ---------------------------------------------------------------- - // Finding helper function. - String? findCaseInsensitiveLocalFileByName(String targetName) { - return archiveFileName2LocalPath.entries.firstWhereOrNull((it) => it.key.toLowerCase() == targetName)?.value; - } - - // ---------------------------------------------------------------- - // Find `soundpack.json` - final soundpackJsonLocalPath = findCaseInsensitiveLocalFileByName("soundpack.json"); - SoundpackMeta? meta; - if (soundpackJsonLocalPath != null) { - final metaContent = await File(soundpackJsonLocalPath).readAsString(); - meta = Converter.fromUntypedJson(metaContent, SoundpackMeta.fromJson); - } - // ---------------------------------------------------------------- - // Find the `preview.png` - final previewPngLocalPath = findCaseInsensitiveLocalFileByName("preview.png"); - LocalImageFile? previewImg; - if (previewPngLocalPath != null) { - previewImg = LocalImageFile(localPath: previewPngLocalPath); - } - // ---------------------------------------------------------------- - // Make the final LocalSoundpack object. - final soundpack = LocalSoundpack(uuid: uuid, meta: meta ?? SoundpackMeta()); - soundpack.preview = previewImg; - soundpack.note2SoundFile = note2SoundFile; - DB.addSoundpackSnapshot(soundpack); - } - - /// For the file format of a Soundpack, please check the [Soundpack Specification](https://github.com/liplum/calcupiano/specifications/Soundpack.md). - /// Preconditions: - /// - Ensure audio files of all essential notes are mounted in [LocalSoundpack.note2SoundFile]. - /// Postconditions: - /// - The packed soundpack will be saved in temporary folder, see [getTemporaryDirectory]. - /// - /// return the path of soundpack archive in temporary folder. - static Future packLocalSoundpack(LocalSoundpack soundpack, {String? fileNameSuggestion}) async { - final String fileName; - if (fileNameSuggestion != null) { - fileName = sanitizeFilename(fileNameSuggestion); - } else { - fileName = sanitizeFilename("${soundpack.uuid}.zip"); - } - final archiveTargetPath = joinPath(R.tmpDir, fileName); - final rootDir = joinPath(R.soundpacksRootDir, soundpack.uuid); - - // ---------------------------------------------------------------- - // Zipping - final archive = ZipFileEncoder(); - archive.zipDirectory(Directory(rootDir), filename: archiveTargetPath); - // ---------------------------------------------------------------- - return archiveTargetPath; - } - - /// Save-as the soundpack archive depended on platform. - /// The archive will be removed after exported. - /// ## Supported Platforms: - /// - Windows - /// - macOS - /// - Linux - static Future saveAsSoundpackArchive(LocalSoundpack soundpack) async { - var fileNameSuggestion = soundpack.meta.name; - if (fileNameSuggestion != null) { - fileNameSuggestion = sanitizeFilename("$fileNameSuggestion.zip"); - } - final targetPath = await FilePicker.platform.saveFile( - type: FileType.custom, - fileName: fileNameSuggestion, - allowedExtensions: const ['zip'], - lockParentWindow: true, - ); - if (targetPath != null) { - final archivePath = await packLocalSoundpack(soundpack); - // TODO: Windows works fine. It lacks test on Linux and macOS. - await File(archivePath).copy(targetPath); - await File(archivePath).delete(); - } - } - - /// Share the soundpack archive depended on platform. - /// The archive will be removed after exported. - /// ## Supported Platforms: - /// - Android - /// - iOS - /// - macOS - /// - Web - static Future shareSoundpackArchive(LocalSoundpack soundpack) async { - // TODO: Test on iOS, Web and macOS. - var fileNameSuggestion = soundpack.meta.name; - if (fileNameSuggestion != null) { - fileNameSuggestion = sanitizeFilename("$fileNameSuggestion.zip"); - } - final archivePath = await packLocalSoundpack(soundpack, fileNameSuggestion: fileNameSuggestion); - // TODO: Better meta - await Share.shareXFiles( - [XFile(archivePath)], - subject: soundpack.meta.name, - text: soundpack.meta.description, - ); - await File(archivePath).delete(); - } - - /// Write [LocalSoundpack.meta] to local storage. - static Future writeSoundpackMetaFile(LocalSoundpack soundpack) async { - final rootDir = joinPath(R.soundpacksRootDir, soundpack.uuid); - final soundpackJson = Converter.toUntypedJson(soundpack.meta, indent: 2); - if (soundpackJson != null) { - await File(joinPath(rootDir, "soundpack.json")).writeAsString(soundpackJson); - } - } - - /// Write [LocalSoundpack.note2SoundFile] to local storage. - /// To prevent overwriting itself, all involved files will be cached in temporary folder during writing. - static Future writeSoundFiles(LocalSoundpack soundpack) async {} - - /// Duplicate doesn't work on Web - static Future duplicateSoundpack(SoundpackProtocol source) async { - if (kIsWeb) return; - final uuid = UUID.v4(); - final SoundpackMeta meta; - if (source is ExternalSoundpackProtocol) { - final sourceName = source.meta.name; - // TODO: L10n - meta = source.meta.copyWith( - name: sourceName == null ? null : "$sourceName~Copy", - ); - } else { - meta = SoundpackMeta(); - } - final Map note2SoundFiles = {}; - final rootDir = joinPath(R.soundpacksRootDir, uuid); - await Directory(rootDir).create(recursive: true); - for (final note in Note.all) { - final file = source.resolve(note); - final localFilePath = await file.copyTo(rootDir, note.id); - note2SoundFiles[note] = LocalSoundFile(localPath: localFilePath); - } - final soundpack = LocalSoundpack(uuid: uuid, meta: meta)..note2SoundFile = note2SoundFiles; - DB.addSoundpackSnapshot(soundpack); - } - - /// Only Works on Desktop - static Future revealSoundpackInFolder(LocalSoundpack soundpack) async { - if (isDesktop) { - final path = joinPath(R.soundpacksRootDir, soundpack.id); - final url = Uri.file(path, windows: isWindows); - await launchUrl(url); - } - } - - /// Pick the possible audio file depended on platform. - /// Return the path if picked. Null if canceled. - static Future tryPickAudioFile() async { - FilePickerResult? result = await FilePicker.platform.pickFiles( - type: FileType.custom, - allowedExtensions: R.supportedAudioFormat, - withData: true, - lockParentWindow: true, - ); - return result?.files.single.path; - } - - static Future pickImage() async { - final ImagePicker picker = ImagePicker(); - // Pick an image - // set `requestFullMetadata` to false to avoid additional permission in Plist. - final XFile? image = await picker.pickImage(source: ImageSource.gallery, requestFullMetadata: false); - return image?.path; - } - - /// Return the `preview.png`. - static Future copyImageAsPreview(LocalSoundpack soundpack, {required String sourceImagePath}) async { - final targetPath = joinPath(R.soundpacksRootDir, soundpack.uuid, "preview.png"); - await File(sourceImagePath).copy(targetPath); - return LocalImageFile(localPath: targetPath); - } - - static Future swapFiles(String pathA, String pathB) async { - final temp = joinPath(R.tmpDir, "FILE_SWAP_TEMP"); - // copy a to temp - await File(pathA).copy(temp); - // copy b to a - await File(pathB).copy(pathA); - // copy temp to b - await File(temp).copy(pathB); - } -} diff --git a/calcupiano/lib/r.dart b/calcupiano/lib/r.dart deleted file mode 100644 index 96d1984..0000000 --- a/calcupiano/lib/r.dart +++ /dev/null @@ -1,59 +0,0 @@ -import 'dart:ui'; - -import 'package:calcupiano/foundation.dart'; -import 'package:package_info_plus/package_info_plus.dart'; -import 'package:version/version.dart'; - -class R { - R._(); - - static const appName = "CalcuPiano"; - static const defaultLocale = Locale('en'); - static const supportedLocales = [ - defaultLocale, - Locale("zh", "CN"), - Locale("ru"), - ]; - - static final version = Version(1, 0, 0); - static late final String appDir; - static late final String tmpDir; - static PackageInfo? packageInfo; - - /// The soundpack directory under `assets` directory. - static const assetsSoundpackDir = "soundpack"; - static const packageName = "net.liplum.calcupiano"; - static const customSoundpackDir = "custom_soundpack"; - static const builtSoundpackIdNs = "calcupiano"; - static const defaultSoundpack = BuiltinSoundpack("default"); - static const defaultLongToneSoundpack = BuiltinSoundpack("default_long_tone"); - static const classicSoundpack = BuiltinSoundpack("classic"); - static const builtinSoundpacks = [ - defaultSoundpack, - defaultLongToneSoundpack, - classicSoundpack, - ]; - static const id2BuiltinSoundpacks = { - "$builtSoundpackIdNs.default": defaultSoundpack, - "$builtSoundpackIdNs.default_long_tone": defaultLongToneSoundpack, - "$builtSoundpackIdNs.classic": classicSoundpack, - }; - - static String genBuiltinSoundpackId(String name) => "$builtSoundpackIdNs.$name"; - static List supportedAudioFormat = const [ - "wav", - "ogg", - "mp3", - ]; - static List supportedAudioDotExtension = const [ - ".wav", - ".ogg", - ".mp3", - ]; - - static String get localStorageDir => isDesktop ? joinPath(appDir, packageName) : appDir; - - static String get hiveDir => joinPath(localStorageDir, "hive"); - - static String get soundpacksRootDir => joinPath(localStorageDir, "soundpack"); -} diff --git a/calcupiano/lib/service/soundpack.dart b/calcupiano/lib/service/soundpack.dart deleted file mode 100644 index ee9cf0f..0000000 --- a/calcupiano/lib/service/soundpack.dart +++ /dev/null @@ -1,31 +0,0 @@ -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/r.dart'; - -class SoundpackService { - static SoundpackProtocol? findById(String? id) { - if(id == null) return null; - final builtin = R.id2BuiltinSoundpacks[id]; - if (builtin != null) { - return builtin; - } else { - return DB.getSoundpackById(id); - } - } - - static Iterable iterateAllSoundpackIds() sync* { - yield* R.id2BuiltinSoundpacks.keys; - final idList = H.externalSoundpackIdList; - if (idList != null) { - yield* idList; - } - } - - static Iterable iterateAllSoundpacks() sync* { - for (final id in iterateAllSoundpackIds()) { - final soundpack = findById(id); - if (soundpack != null) { - yield soundpack; - } - } - } -} diff --git a/calcupiano/lib/sheet/interpreter.dart b/calcupiano/lib/sheet/interpreter.dart deleted file mode 100644 index dd48ad8..0000000 --- a/calcupiano/lib/sheet/interpreter.dart +++ /dev/null @@ -1,18 +0,0 @@ -// ignore_for_file: non_constant_identifier_names - -import 'package:calcupiano/events.dart'; -import 'package:calcupiano/sheet/sheet.dart'; -import 'package:flutter/foundation.dart'; - -final SheetInterpreter = SheetInterpreterImpl._(); - -class SheetInterpreterImpl with ChangeNotifier{ - SheetInterpreterImpl._(); - Sheet sheet = Sheet.empty; - int cursor = 0; - void init(){ - eventBus.on().listen((e){ - - }); - } -} \ No newline at end of file diff --git a/calcupiano/lib/sheet/parser.dart b/calcupiano/lib/sheet/parser.dart deleted file mode 100644 index 9e77943..0000000 --- a/calcupiano/lib/sheet/parser.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/sheet/sheet.dart'; -import 'package:flutter/material.dart'; - -/// [SheetParser] is not thread-safe. -class SheetParser { - static const char2Note = { - "1": Note.$1, - "2": Note.$2, - "3": Note.$3, - "4": Note.$4, - "5": Note.$5, - "6": Note.$6, - "7": Note.$7, - "8": Note.$8, - "9": Note.$9, - "+":Note.$plus, - "-":Note.$minus, - "*":Note.$mul, - "/":Note.$div, - }; - - Sheet parse(String content) { - final List nodes = []; - for (final c in content.characters) { - final note = char2Note[c]; - if(note != null){ - nodes.add(NoteNode(note)); - } else if(c == " " || c == "0"){ - nodes.add(const BreakNode()); - } - } - return Sheet(nodes); - } -} \ No newline at end of file diff --git a/calcupiano/lib/sheet/sheet.dart b/calcupiano/lib/sheet/sheet.dart deleted file mode 100644 index 67ffcda..0000000 --- a/calcupiano/lib/sheet/sheet.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:calcupiano/foundation.dart'; - -class Sheet { - static const Sheet empty = Sheet([]); - final List nodes; - - const Sheet(this.nodes); - @override - String toString() => nodes.join(""); -} - -abstract class NodeProtocol {} - -class NoteNode implements NodeProtocol { - final Note note; - - /// [NoteNode] indicates which note should be tapped. - const NoteNode(this.note); - @override - String toString() => "$note"; -} - -class BreakNode implements NodeProtocol { - const BreakNode(); - @override - String toString() => " "; -} diff --git a/calcupiano/lib/stage_manager.dart b/calcupiano/lib/stage_manager.dart deleted file mode 100644 index 545b9d6..0000000 --- a/calcupiano/lib/stage_manager.dart +++ /dev/null @@ -1,52 +0,0 @@ -// ignore_for_file: non_constant_identifier_names - -import 'package:calcupiano/design/window.dart'; -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/theme/keyboard.dart'; -import 'package:calcupiano/ui/piano.dart'; -import 'package:calcupiano/ui/sound_explorer.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:provider/provider.dart'; - -final StageManager = StageManagerImpl._(); - -class StageManagerImpl { - StageManagerImpl._(); - - final _soundpackPreviewKey = const ValueKey("Soundpack Preview"); - final _soundFileExplorerKey = const ValueKey("Sound File Explorer"); - - Future showSoundpackPreviewOf(SoundpackProtocol soundpack, {BuildContext? ctx}) async { - await showWindow( - ctx: ctx, - key: _soundpackPreviewKey, - title: soundpack.displayName, - builder: (_) => ChangeNotifierProvider( - create: (_) => KeyboardThemeModel(const KeyboardThemeData(elevation: 5)), - child: PianoKeyboard(fixedSoundpack: soundpack), - ), - ); - } - - Future closeSoundpackPreview({BuildContext? ctx}) async { - closeWindowByKey(_soundpackPreviewKey, ctx: ctx); - } - - Future showSoundFileExplorer({BuildContext? ctx}) async { - await showWindow( - ctx: ctx, - key: _soundFileExplorerKey, - title: "Sound Explorer", - builder: (_) => const SoundFileExplorer(), - ); - } - - Future closeSoundFileExplorerKey({BuildContext? ctx}) async { - closeWindowByKey(_soundFileExplorerKey, ctx: ctx); - } - - Future closeAllPageSpecificWindow({BuildContext? ctx}) async { - await closeWindowByKey(_soundpackPreviewKey, ctx: ctx); - await closeWindowByKey(_soundFileExplorerKey, ctx: ctx); - } -} diff --git a/calcupiano/lib/theme/keyboard.dart b/calcupiano/lib/theme/keyboard.dart deleted file mode 100644 index 58fef0c..0000000 --- a/calcupiano/lib/theme/keyboard.dart +++ /dev/null @@ -1,39 +0,0 @@ -import 'package:flutter/cupertino.dart'; - -enum KeyboardDisplayMode { - numbered, - tonicSolfa; -} - -class KeyboardThemeData { - final KeyboardDisplayMode displayMode; - final double? elevation; - - const KeyboardThemeData({ - this.displayMode = KeyboardDisplayMode.numbered, - this.elevation, - }); - - KeyboardThemeData copyWith({ - KeyboardDisplayMode? displayMode, - double? elevation, - }) { - return KeyboardThemeData( - displayMode: displayMode ?? this.displayMode, - elevation: elevation ?? this.elevation, - ); - } -} - -class KeyboardThemeModel with ChangeNotifier { - KeyboardThemeData _data; - - KeyboardThemeData get data => _data; - - KeyboardThemeModel([KeyboardThemeData data = const KeyboardThemeData()]) : _data = data; - - set data(KeyboardThemeData newData) { - _data = newData; - notifyListeners(); - } -} diff --git a/calcupiano/lib/theme/theme.dart b/calcupiano/lib/theme/theme.dart deleted file mode 100644 index 2ffa492..0000000 --- a/calcupiano/lib/theme/theme.dart +++ /dev/null @@ -1,72 +0,0 @@ -import 'package:calcupiano/db.dart'; -import 'package:flutter/material.dart'; - -class CalcuPianoThemeData { - final bool enableRipple; - final Brightness? brightness; - - const CalcuPianoThemeData({ - this.enableRipple = true, - this.brightness, - }); - - const CalcuPianoThemeData.isDarkMode( - bool? isDarkMode, - ) : this(brightness: isDarkMode == null ? null : (isDarkMode == true ? Brightness.dark : Brightness.light)); - - CalcuPianoThemeData copyWith({ - bool? enableRipple, - Brightness? brightness, - }) { - return CalcuPianoThemeData( - enableRipple: enableRipple ?? this.enableRipple, - brightness: brightness, - ); - } -} - -extension CalcuPianoThemeDataX on CalcuPianoThemeData { - bool get isDarkMode => brightness == Brightness.dark; -} - -class CalcuPianoThemeModel with ChangeNotifier { - CalcuPianoThemeData _data; - - CalcuPianoThemeData get data => _data; - - CalcuPianoThemeModel([CalcuPianoThemeData data = const CalcuPianoThemeData()]) : _data = data; - - set data(CalcuPianoThemeData newData) { - _data = newData; - notifyListeners(); - } - - ThemeMode resolveThemeMode() { - final brightness = data.brightness; - if (brightness == null) { - return ThemeMode.system; - } else if (brightness == Brightness.light) { - return ThemeMode.light; - } else { - return ThemeMode.dark; - } - } - - bool? get isDarkMode => data.brightness == null ? null : data.brightness == Brightness.dark; - - set isDarkMode(bool? isDark) { - Brightness? brightness; - if (isDark == null) { - brightness == null; - } else { - brightness = isDark ? Brightness.dark : Brightness.light; - } - if (brightness != data.brightness) { - _data = data.copyWith( - brightness: brightness, - ); - H.isDarkMode = isDark; - notifyListeners(); - } - } -} diff --git a/calcupiano/lib/ui/about.dart b/calcupiano/lib/ui/about.dart deleted file mode 100644 index cd2de6a..0000000 --- a/calcupiano/lib/ui/about.dart +++ /dev/null @@ -1,85 +0,0 @@ -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/r.dart'; -import 'package:easy_localization/easy_localization.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_markdown/flutter_markdown.dart'; -import 'package:rettulf/rettulf.dart'; -import 'package:unicons/unicons.dart'; -import 'package:url_launcher/url_launcher_string.dart'; - -part 'about.i18n.dart'; - -/// Change this url if you want to make a custom build. -const githubReadmeRawUrl = "https://github.com/liplum/CalcuPiano"; - -class AboutPage extends StatefulWidget { - const AboutPage({super.key}); - - @override - State createState() => _AboutPageState(); -} - -class _AboutPageState extends State { - String? content; - - @override - void initState() { - super.initState(); - rootBundle.loadString("assets/about.md").then((value) { - setState(() { - content = value; - }); - }); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: I18n.title.text(), - actions: [ - IconButton( - onPressed: () { - context.navigator.push(MaterialPageRoute(builder: (_) { - final packageInfo = R.packageInfo; - final version = packageInfo != null ? "v${packageInfo.version}" : "v${R.version}"; - return LicensePage( - applicationName: R.appName, - applicationVersion: version, - ); - })); - }, - icon: const Icon(Icons.policy_outlined)) - ], - ), - floatingActionButton: FloatingActionButton.extended( - onPressed: () async { - await launchUrlString(githubReadmeRawUrl, mode: LaunchMode.externalApplication); - }, - label: "GITHUB".text(), // Hardcoded - icon: const Icon(UniconsLine.github), - ), - floatingActionButtonLocation: context.isPortrait ? null : FloatingActionButtonLocation.endTop, - body: buildMain(context), - ); - } - - Widget buildMain(BuildContext ctx) { - final data = content; - if (data == null) { - return "TAT".text(); - } else { - return Markdown( - selectable: true, - data: data, - physics: const RangeMaintainingScrollPhysics(), - onTapLink: (text, href, title) async { - if (href != null) { - await launchUrlString(href, mode: LaunchMode.externalApplication); - } - }, - ); - } - } -} diff --git a/calcupiano/lib/ui/about.i18n.dart b/calcupiano/lib/ui/about.i18n.dart deleted file mode 100644 index 26f8cd8..0000000 --- a/calcupiano/lib/ui/about.i18n.dart +++ /dev/null @@ -1,9 +0,0 @@ -part of 'about.dart'; - -const _ns = "ui.about"; - -class I18n { - I18n._(); - - static String get title => "$_ns.title".tr(); -} diff --git a/calcupiano/lib/ui/piano.dart b/calcupiano/lib/ui/piano.dart deleted file mode 100644 index ccb08d5..0000000 --- a/calcupiano/lib/ui/piano.dart +++ /dev/null @@ -1,176 +0,0 @@ -import 'package:auto_size_text/auto_size_text.dart'; -import 'package:calcupiano/events.dart'; -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/r.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart'; -import 'package:flutter/services.dart'; -import 'package:rettulf/rettulf.dart'; - -class PianoKeyboard extends StatefulWidget { - /// For preview. - /// If [fixedSoundpack] is set, the PianoKey will not change the soundpack wtih global. - final SoundpackProtocol? fixedSoundpack; - - const PianoKeyboard({super.key, this.fixedSoundpack}); - - @override - State createState() => _PianoKeyboardState(); -} - -class _PianoKeyboardState extends State { - @override - Widget build(BuildContext context) { - return LayoutBuilder(builder: (ctx, box) { - final keySize = Size(box.maxWidth / 5, box.maxHeight / 3); - return [ - buildColumn0(keySize), - buildColumn1(keySize), - buildColumn2(keySize), - buildColumn3(keySize), - buildColumn4(keySize), - ].row(); - }); - } - - Widget buildColumn0(Size size) { - return [ - k(Note.$7, size), - k(Note.$4, size), - k(Note.$1, size), - ].column(); - } - - Widget buildColumn1(Size size) { - return [ - k(Note.$8, size), - k(Note.$5, size), - k(Note.$2, size), - ].column(); - } - - Widget buildColumn2(Size size) { - return [ - k(Note.$9, size), - k(Note.$6, size), - k(Note.$3, size), - ].column(); - } - - Widget buildColumn3(Size size) { - return [ - k(Note.$mul, size), - k(Note.$plus, Size(size.width, size.height * 2)), - ].column(); - } - - Widget buildColumn4(Size size) { - return [ - k(Note.$div, size), - k(Note.$minus, size), - k(Note.$eq, size), - ].column(); - } - - Widget k(Note note, Size size) { - return PianoKey( - note, - fixedSoundpack: widget.fixedSoundpack, - ).sizedIn(size); - } -} - -class PianoKey extends StatefulWidget { - final Note note; - final SoundpackProtocol? fixedSoundpack; - - const PianoKey( - this.note, { - super.key, - this.fixedSoundpack, - }); - - @override - State createState() => _PianoKeyState(); -} - -class _PianoKeyState extends State { - Note get note => widget.note; - SoundpackProtocol _soundpack = R.defaultSoundpack; - - SoundpackProtocol? get _fixedSoundpack => widget.fixedSoundpack; - - @override - void initState() { - super.initState(); - final fixedSoundpack = _fixedSoundpack; - if (fixedSoundpack != null) { - _soundpack = fixedSoundpack; - } else { - final restoredId = H.currentSoundpackID; - if (restoredId != null) { - _resolve(id: restoredId).then((value) { - _soundpack = value; - }); - } - } - eventBus.on().listen((e) { - if (_fixedSoundpack == null) { - _soundpack = e.newSoundpack; - } - }); - } - - @override - Widget build(BuildContext context) { - return buildKey(context); - } - - final $inkWell = GlobalKey(); - - Widget buildKey(BuildContext context) { - Widget txt = AutoSizeText( - note.numberedText, - style: const TextStyle(fontSize: 24), - ).center(); - return [ - GestureDetector( - onTapDown: (_) { - onTap(); - }, - ), - Positioned.fill( - child: Card( - clipBehavior: Clip.hardEdge, - child: InkWell( - child: txt, - onTapDown: (_) { - onTap(); - }, - ), - ), - ) - ].stack(); - } - - void onTap() async { - eventBus.fire(KeyUserPressedEvent(note)); - await playSound(); - HapticFeedback.mediumImpact(); - } - - Future playSound() async { - await Player.playSound(_soundpack.resolve(note)); - } -} - -Future _resolve({ - required String id, -}) async { - final builtin = R.id2BuiltinSoundpacks[id]; - if (builtin != null) { - return builtin; - } else { - return DB.getSoundpackById(id) ?? R.defaultSoundpack; - } -} diff --git a/calcupiano/lib/ui/settings.dart b/calcupiano/lib/ui/settings.dart deleted file mode 100644 index 1cb7e54..0000000 --- a/calcupiano/lib/ui/settings.dart +++ /dev/null @@ -1,370 +0,0 @@ -import 'dart:math'; - -import 'package:calcupiano/design/multiplatform.dart'; - -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/r.dart'; -import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; -import 'package:rettulf/rettulf.dart'; - -import '../theme/theme.dart'; - -part 'settings.i18n.dart'; - -class SettingsPage extends StatefulWidget { - const SettingsPage({super.key}); - - @override - State createState() => _SettingsPageState(); -} - -class _SettingsPageState extends State { - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: I18n.title.text(), - centerTitle: context.isCupertino, - ), - body: buildBody(context), - ); - } - - Widget buildBody(BuildContext ctx) { - return ChangeNotifierProvider( - create: (_) => SettingsKeyTheme(), - child: buildSettings(ctx), - ); - } - - Widget buildSettings(BuildContext ctx) { - return SettingsAdaptivePanel(groups: [ - SettingsGroup( - icon: Icons.palette_outlined, - name: I18n.appearance.name, - builder: (ctx) { - return [ - brightness(ctx), - language(ctx), - ]; - }), - ]); - } - - Widget currentVersion(BuildContext ctx) { - final packageInfo = R.packageInfo; - final version = packageInfo != null ? "v${packageInfo.version}" : "v${R.version}"; - return ListTile( - title: I18n.version.currentVersion.text(style: ctx.textTheme.headlineSmall), - subtitle: version.text(), - ); - } - - Widget brightness(BuildContext ctx) { - final isDarkMode = Provider.of(ctx).isDarkMode; - final int selected; - if (isDarkMode == null) { - selected = 2; - } else { - selected = isDarkMode ? 0 : 1; - } - final toggle = SettingsKeyMultiSwitch( - current: selected, - onChanged: (newV) { - bool? newIsDarkMode; - if (newV == 0) { - newIsDarkMode = true; - } else if (newV == 1) { - newIsDarkMode = false; - } else { - newIsDarkMode = null; - } - Provider.of(ctx, listen: false).isDarkMode = newIsDarkMode; - }, - states: [ - NotePair(Note.$mul, const Icon(Icons.dark_mode)), - NotePair(Note.$8, const Icon(Icons.light_mode)), - NotePair(Note.$4, const Icon(Icons.brightness_6_outlined)), - ], - ).sized(w: 80); - return ListTile( - title: I18n.appearance.brightness.text(style: ctx.textTheme.headlineSmall), - subtitle: I18n.appearance.themeMode(isDarkMode).text(), - trailing: toggle, - ); - } - - Widget language(BuildContext ctx) { - const icon = Icon(Icons.language); - final locales = ctx.supportedLocales; - final curLocale = ctx.locale; - final curIndex = max(0, locales.indexOf(curLocale)); - final toggle = SettingsKeyMultiSwitch( - states: Note.loopSequence(locales.length).map((note) => NotePair(note, icon)).toList(), - current: curIndex, - onChanged: (selectedIndex) { - ctx.setLocale(ctx.supportedLocales[selectedIndex]); - }, - ).sized(w: 80); - return ListTile( - title: I18n.appearance.language.text(style: ctx.textTheme.headlineSmall), - subtitle: I18n.appearance.nativeReadableNameOf(curLocale).text(), - trailing: toggle, - ); - } -} - -typedef GroupBuilder = List Function(BuildContext ctx); - -class SettingsGroup { - final IconData icon; - final String name; - final GroupBuilder builder; - - SettingsGroup({ - required this.icon, - required this.name, - required this.builder, - }); -} - -class SettingsAdaptivePanel extends StatelessWidget { - final List groups; - - const SettingsAdaptivePanel({ - super.key, - required this.groups, - }); - - @override - Widget build(BuildContext context) { - return LayoutBuilder(builder: (ctx, box) { - if (box.maxWidth < 600) { - return SettingsPanelSmall(groups: groups); - } else { - return SettingsPanelLarge(groups: groups); - } - }); - } -} - -class SettingsPanelSmall extends StatefulWidget { - final List groups; - - const SettingsPanelSmall({ - super.key, - required this.groups, - }); - - @override - State createState() => _SettingsPanelSmallState(); -} - -class _SettingsPanelSmallState extends State { - @override - Widget build(BuildContext context) { - return ListView.builder( - physics: const RangeMaintainingScrollPhysics(), - itemCount: widget.groups.length, - itemBuilder: (ctx, i) => buildGroup(ctx, widget.groups[i]), - ); - } - - Widget buildGroup(BuildContext ctx, SettingsGroup group) { - final titleStyle = ctx.textTheme.titleLarge; - final list = []; - list.add([ - group.icon.make(), - group.name.text(style: titleStyle?.copyWith(color: titleStyle.color?.withOpacity(0.8))), - ].row(maa: MainAxisAlignment.center).padAll(5)); - final tiles = group.builder(ctx); - list.addAll(tiles); - return list.column(); - } -} - -class SettingsPanelLarge extends StatefulWidget { - final List groups; - - const SettingsPanelLarge({ - super.key, - required this.groups, - }); - - @override - State createState() => _SettingsPanelLargeState(); -} - -class _SettingsPanelLargeState extends State { - int selected = 0; - - @override - Widget build(BuildContext context) { - return [ - buildGroupSelector(context).flexible(flex: 1), - const VerticalDivider( - thickness: 1, - ), - buildGroupContent(context, widget.groups[selected]).flexible(flex: 3), - ].row(); - } - - Widget buildGroupSelector(BuildContext ctx) { - return ListView.builder( - physics: const RangeMaintainingScrollPhysics(), - itemCount: widget.groups.length, - itemBuilder: (ctx, i) { - final group = widget.groups[i]; - return ListTile( - leading: group.icon.make(), - selected: i == selected, - title: group.name.text(), - ).inCard().onTap(() { - setState(() { - selected = i; - }); - }); - }, - ); - } - - Widget buildGroupContent(BuildContext ctx, SettingsGroup group) { - final tiles = group.builder(ctx); - return tiles.column(); - } -} - -class SettingsKeyThemeData { - final SoundpackProtocol soundpack; - final double? elevation; - - const SettingsKeyThemeData({ - this.soundpack = R.classicSoundpack, - this.elevation, - }); -} - -class SettingsKeyTheme with ChangeNotifier { - SettingsKeyThemeData _data; - - SettingsKeyThemeData get data => _data; - - SettingsKeyTheme([SettingsKeyThemeData data = const SettingsKeyThemeData()]) : _data = data; - - set data(SettingsKeyThemeData newData) { - _data = newData; - notifyListeners(); - } -} - -class SettingsKey extends StatefulWidget { - final SoundFileProtocol sound; - final double? elevation; - final Widget child; - final VoidCallback? onTap; - - const SettingsKey({ - super.key, - required this.sound, - this.elevation, - required this.child, - this.onTap, - }); - - @override - State createState() => _SettingsKeyState(); -} - -class _SettingsKeyState extends State { - @override - Widget build(BuildContext context) { - return InkWell( - child: widget.child, - onTap: () async { - await Player.playSound(widget.sound); - widget.onTap?.call(); - }, - ).inCard( - clip: Clip.hardEdge, - elevation: widget.elevation, - ); - } -} - -class NotePair { - final Note note; - final Widget child; - - NotePair(this.note, this.child); -} - -class SettingsKeySwitch extends StatefulWidget { - final NotePair on; - final NotePair off; - final bool current; - final ValueChanged onChanged; - - const SettingsKeySwitch({ - super.key, - required this.on, - required this.off, - required this.current, - required this.onChanged, - }); - - @override - State createState() => _SettingsKeySwitchState(); -} - -class _SettingsKeySwitchState extends State { - NotePair get currentNote => widget.current ? widget.on : widget.off; - - @override - Widget build(BuildContext context) { - final theme = Provider.of(context); - final cur = currentNote; - return SettingsKey( - sound: theme.data.soundpack.resolve(cur.note), - elevation: theme.data.elevation, - onTap: () { - widget.onChanged(!widget.current); - }, - child: cur.child.center(), - ); - } -} - -class SettingsKeyMultiSwitch extends StatefulWidget { - final List states; - final int current; - final ValueChanged onChanged; - - const SettingsKeyMultiSwitch({ - super.key, - required this.states, - required this.current, - required this.onChanged, - }); - - @override - State createState() => _SettingsKeyMultiSwitchState(); -} - -class _SettingsKeyMultiSwitchState extends State { - NotePair get currentNote => widget.states[widget.current]; - - @override - Widget build(BuildContext context) { - final theme = Provider.of(context); - final cur = currentNote; - return SettingsKey( - sound: theme.data.soundpack.resolve(cur.note), - elevation: theme.data.elevation, - onTap: () { - widget.onChanged((widget.current + 1) % widget.states.length); - }, - child: cur.child.center(), - ); - } -} diff --git a/calcupiano/lib/ui/settings.i18n.dart b/calcupiano/lib/ui/settings.i18n.dart deleted file mode 100644 index 5c9a001..0000000 --- a/calcupiano/lib/ui/settings.i18n.dart +++ /dev/null @@ -1,45 +0,0 @@ -part of 'settings.dart'; - -const _$ns = "ui.settings"; - -class I18n { - I18n._(); - - static String get title => "${_$ns}.title".tr(); - static final appearance = _Appearance._(); - static final version = _Version._(); -} - -class _Appearance { - _Appearance._(); - - static const _ns = "${_$ns}.appearance"; - - String get name => "$_ns.name".tr(); - - String get brightness => "$_ns.brightness".tr(); - - String get language => "$_ns.language".tr(); - - String themeMode(bool? isDarkMode) => isDarkMode == null - ? followingSystem - : (isDarkMode ? darkMode : lightMode); - - String get lightMode => "$_ns.lightMode".tr(); - - String get darkMode => "$_ns.darkMode".tr(); - - String get followingSystem => "$_ns.followingSystem".tr(); - - String nativeReadableNameOf(Locale locale) => "language.$locale".tr(); -} - -class _Version { - _Version._(); - - static const _ns = "${_$ns}.version"; - - String get name => "$_ns.name".tr(); - - String get currentVersion => "$_ns.version".tr(); -} diff --git a/calcupiano/lib/ui/sheet_folder.dart b/calcupiano/lib/ui/sheet_folder.dart deleted file mode 100644 index e69de29..0000000 diff --git a/calcupiano/lib/ui/sheet_screen.dart b/calcupiano/lib/ui/sheet_screen.dart deleted file mode 100644 index 6814967..0000000 --- a/calcupiano/lib/ui/sheet_screen.dart +++ /dev/null @@ -1,64 +0,0 @@ -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/sheet/interpreter.dart'; -import 'package:calcupiano/sheet/parser.dart'; -import 'package:calcupiano/sheet/sheet.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:rettulf/rettulf.dart'; - -class SheetScreen extends StatefulWidget { - const SheetScreen({super.key}); - - @override - State createState() => _SheetScreenState(); -} - -const _test = """ -33455432 1123322 33455432 1123211 -"""; - -class _SheetScreenState extends State { - @override - void initState() { - super.initState(); - final sheet = SheetParser().parse(_test); - SheetInterpreter.sheet = sheet; - } - - @override - Widget build(BuildContext context) { - return LayoutBuilder(builder: (ctx, box) { - final cells = []; - for (int i = 0; i < SheetInterpreter.sheet.nodes.length; i++) { - final node = SheetInterpreter.sheet.nodes[i]; - if (node is NoteNode) { - cells.add(NoteCell(note: node.note, index: i)); - } else { - cells.add(SizedBox()); - } - } - return GridView.extent( - physics: const NeverScrollableScrollPhysics(), - maxCrossAxisExtent: 60, - children: cells, - ); - }); - return SheetInterpreter.sheet.toString().text(); - } -} - -class NoteCell extends StatelessWidget { - final Note note; - final int index; - - const NoteCell({ - super.key, - required this.note, - required this.index, - }); - - @override - Widget build(BuildContext context) { - return note.numberedText.text(style: GoogleFonts.jetBrainsMono(fontSize: 30)).center(); - } -} diff --git a/calcupiano/lib/ui/sound_explorer.dart b/calcupiano/lib/ui/sound_explorer.dart deleted file mode 100644 index 7217d16..0000000 --- a/calcupiano/lib/ui/sound_explorer.dart +++ /dev/null @@ -1,100 +0,0 @@ -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/r.dart'; -import 'package:calcupiano/service/soundpack.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:rettulf/rettulf.dart'; - -class SoundFileExplorer extends StatefulWidget { - const SoundFileExplorer({super.key}); - - @override - State createState() => _SoundFileExplorerState(); -} - -class _SoundFileExplorerState extends State { - final List soundpacks = []; - SoundpackProtocol selected = R.defaultSoundpack; - static String? lastSelectedId; - - @override - void initState() { - super.initState(); - soundpacks.addAll(SoundpackService.iterateAllSoundpacks()); - final lastSelected = SoundpackService.findById(lastSelectedId); - if (lastSelected != null) { - selected = lastSelected; - } - } - - @override - Widget build(BuildContext context) { - return [ - buildList(context).expanded(), - const VerticalDivider(), - buildContent(context).expanded(), - ].row(mas: MainAxisSize.min); - } - - Widget buildList(BuildContext ctx) { - return ListView.builder( - itemCount: soundpacks.length, - itemBuilder: (ctx, i) { - final soundpack = soundpacks[i]; - final tile = ListTile( - title: soundpack.displayName.text(), - selected: selected.idEquals(soundpack), - onTap: () { - setState(() { - selected = soundpack; - lastSelectedId = soundpack.id; - }); - }, - ); - return tile; - }); - } - - Widget buildContent(BuildContext ctx) { - final note2Files = selected.iterateNote2SoundFile().toList(); - - return GridView.builder( - gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent(maxCrossAxisExtent: 80), - itemCount: note2Files.length, - itemBuilder: (BuildContext context, int index) { - final p = note2Files[index]; - final note = p.key; - final file = p.value; - return buildSoundFile(ctx, note, file); - }, - ); - } - - Widget buildSoundFile(BuildContext ctx, Note note, SoundFileProtocol file) { - final feedback = AbsorbPointer( - child: [ - const Icon(Icons.audio_file_outlined, size: 36), - note.id.text(style: ctx.textTheme.headlineSmall), - ].column(maa: MainAxisAlignment.center).padAll(10.w).inCard( - elevation: 6, - ), - ); - return LongPressDraggable( - data: SoundFileLoc.fromSoundpackType(selected, note), - dragAnchorStrategy: (_, __, ___) => Offset(60.w, 80.w), - feedback: feedback, - child: InkWell( - onTap: () async { - Player.playSound(file); - }, - child: [ - const Icon(Icons.audio_file_outlined), - note.id.text(), - ].column(maa: MainAxisAlignment.center)) - .inCard( - clip: Clip.hardEdge, - elevation: 6, - ), - ); - } -} diff --git a/calcupiano/lib/ui/soundpack.dart b/calcupiano/lib/ui/soundpack.dart deleted file mode 100644 index 87d8176..0000000 --- a/calcupiano/lib/ui/soundpack.dart +++ /dev/null @@ -1,408 +0,0 @@ -import 'package:calcupiano/design/adaptive.dart'; -import 'package:calcupiano/design/multiplatform.dart'; - -import 'package:calcupiano/events.dart'; -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/r.dart'; -import 'package:calcupiano/service/soundpack.dart'; -import 'package:calcupiano/stage_manager.dart'; -import 'package:calcupiano/ui/soundpack_composer.dart'; -import 'package:calcupiano/ui/soundpack_editor.dart'; -import 'package:calcupiano/ui/soundpack_viewer.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; -import 'package:pull_down_button/pull_down_button.dart'; -import 'package:rettulf/rettulf.dart'; -import 'package:calcupiano/i18n.dart'; - -part 'soundpack.i18n.dart'; - -const double _iconSize = 36; - -class SoundpackPage extends StatefulWidget { - const SoundpackPage({super.key}); - - @override - State createState() => _SoundpackPageState(); -} - -class _SoundpackPageState extends State { - @override - Widget build(BuildContext context) { - return WillPopScope( - onWillPop: () async { - await StageManager.closeSoundpackPreview(ctx: context); - return true; - }, - child: Scaffold( - appBar: AppBar( - title: I18n.title.text(), - centerTitle: context.isCupertino, - actions: [ - PullDownButton( - itemBuilder: (context) => [ - PullDownMenuItem( - icon: Icons.create, - title: I18n.createSoundpack, - onTap: () {}, - ), - const PullDownMenuDivider(), - PullDownMenuTitle( - title: I18n.importSoundpack.text(), - ), - PullDownMenuActionsRow.medium( - items: [ - PullDownMenuItem( - enabled: false, - onTap: () {}, - title: I18n.link, - icon: Icons.link, - ), - if (!kIsWeb) - PullDownMenuItem( - onTap: () async { - await Packager.pickAndImportSoundpackArchive(); - }, - title: I18n.localFile, - icon: Icons.storage, - ) - ], - ) - ], - position: PullDownMenuPosition.automatic, - buttonBuilder: (context, showMenu) => IconButton( - onPressed: showMenu, - icon: const Icon( - CupertinoIcons.ellipsis_circle, - size: 28, - ), - ), - ) - ], - ), - body: buildBody(), - ), - ); - } - - @ListenTo([K.externalSoundpackIdList]) - Widget buildBody() { - return H.listenToCustomSoundpackIdList() >> - (ctx, _) { - final allSoundpacks = R.id2BuiltinSoundpacks.keys.toList() + (H.externalSoundpackIdList ?? const []); - return AdaptiveBuilder( - defaultBuilder: (ctx, screen) { - return buildSoundpackList(ctx, allSoundpacks, 300); - }, - layoutDelegate: AdaptiveLayoutDelegateWithScreenType( - watchPortrait: (ctx, screen) { - return buildSoundpackList(ctx, allSoundpacks, 300); - }, - watchLandscape: (ctx, screen) { - return buildSoundpackList(ctx, allSoundpacks, 300); - }, - headsetPortrait: (ctx, screen) { - return buildSoundpackList(ctx, allSoundpacks, 300); - }, - headsetLandscape: (ctx, screen) { - return buildSoundpackList(ctx, allSoundpacks, 200); - }, - tabletPortrait: (ctx, screen) { - return buildSoundpackList(ctx, allSoundpacks, 400); - }, - tabletLandscape: (ctx, screen) { - return buildSoundpackList(ctx, allSoundpacks, 300); - }, - ), - ); - }; - } - - @ListenTo([K.externalSoundpackIdList]) - Widget buildSoundpackList(BuildContext ctx, List allSoundpacks, double extent) { - return MasonryGridView.extent( - maxCrossAxisExtent: extent, - itemCount: allSoundpacks.length, - physics: const RangeMaintainingScrollPhysics(), - itemBuilder: (ctx, index) { - return SoundpackItem(id: allSoundpacks[index]); - }, - ); - } -} - -class SoundpackItem extends StatefulWidget { - final String id; - - const SoundpackItem({ - super.key, - required this.id, - }); - - @override - State createState() => _SoundpackItemState(); -} - -class _SoundpackItemState extends State with TickerProviderStateMixin { - /// Cache the Soundpack object, because deserialization is expensive. - SoundpackProtocol? _soundpack; - var isPlaying = false; - late final AnimationController ctrl; - - @override - void initState() { - super.initState(); - _soundpack = SoundpackService.findById(widget.id); - ctrl = AnimationController( - vsync: this, - duration: const Duration(milliseconds: 300), - reverseDuration: const Duration(milliseconds: 500), - ); - } - - @override - void didUpdateWidget(covariant SoundpackItem oldWidget) { - super.didUpdateWidget(oldWidget); - // Update current Soundpack object, perhaps due to a deletion. - _soundpack = SoundpackService.findById(widget.id); - } - - @override - Widget build(BuildContext context) { - return H.listenToCurrentSoundpackID() >> - (ctx, _) { - final soundpack = _soundpack; - if (soundpack != null) { - return buildCard(context, soundpack); - } else { - return buildCorruptedSoundpack(context); - } - }; - } - - @ListenTo([K.currentSoundpackID]) - Widget buildCard( - BuildContext ctx, - SoundpackProtocol soundpack, - ) { - final isSelected = H.currentSoundpackID == soundpack.id; - return InkWell( - onTap: () async { - if (H.currentSoundpackID != soundpack.id) { - eventBus.fire(SoundpackChangeEvent(soundpack)); - await Player.preloadSoundpack(soundpack); - } - }, - child: [ - [ - AnimatedOpacity( - opacity: isSelected ? 1.0 : 0.15, - duration: const Duration(milliseconds: 800), - curve: Curves.fastLinearToSlowEaseIn, - child: soundpack.preview - ?.build( - ctx, - fit: BoxFit.fill, - ) - .container(w: double.infinity), - ), - ].stack(), - ListTile( - selected: isSelected, - title: soundpack.displayName.text(style: ctx.textTheme.titleLarge), - subtitle: [ - soundpack.author.text(style: ctx.textTheme.bodyLarge), - soundpack.description.text( - style: ctx.textTheme.bodySmall?.copyWith(fontStyle: FontStyle.italic), - ), - ].column(caa: CrossAxisAlignment.start), - ), - ButtonBar( - children: [ - IconButton( - icon: AnimatedIcon( - icon: AnimatedIcons.play_pause, - progress: CurveTween(curve: Curves.easeIn).animate(ctrl), - ), - onPressed: () { - setState(() { - isPlaying = !isPlaying; - }); - if (isPlaying) { - ctrl.forward(); - } else { - ctrl.reverse(); - } - }, - ), - moreMenu(ctx, soundpack).align(at: Alignment.topRight), - ], - ), - ].column(), - ).inCard( - elevation: isSelected ? 15 : 2, - clip: Clip.hardEdge, - ); - } - - Widget buildCorruptedSoundpack(BuildContext ctx) { - return ListTile( - leading: const Icon(Icons.sentiment_very_dissatisfied_outlined, size: _iconSize), - title: I18n.corruptedSoundpack.text(), - subtitle: I18n.corruptedSoundpackSubtitle.text(), - trailing: Icon(Icons.delete_outline, color: ctx.$red$, size: _iconSize).onTap(() async { - await DB.removeSoundpackById(widget.id); - }), - ); - } -} - -extension _MenuX on State { - Widget moreMenu( - BuildContext ctx, - SoundpackProtocol soundpack, - ) { - List buildExportSoundpackButtons(LocalSoundpack soundpack) { - final buttons = []; - void add(String title, IconData icon, VoidCallback onTap) { - buttons.add(PopupMenuItem( - child: ListTile( - leading: Icon(icon), - title: title.text(), - onTap: () async { - ctx.navigator.pop(); - onTap(); - }, - ), - )); - } - - final isSupportShareFiles = isAndroid || isIOS || isMacOS || isWeb; - if (isSupportShareFiles) { - add(I18n.op.share, Icons.share_rounded, () async { - await StageManager.closeSoundpackPreview(ctx: context); - await Packager.shareSoundpackArchive(soundpack); - }); - } else { - add(I18n.op.saveAs, Icons.save_as, () async { - await StageManager.closeSoundpackPreview(ctx: context); - await Packager.saveAsSoundpackArchive(soundpack); - }); - } - - return buttons; - } - - PopupMenuEntry buildViewOrEditBtn() { - if (soundpack is LocalSoundpack) { - return PopupMenuItem( - child: ListTile( - leading: const Icon(Icons.edit), - title: I18n.op.edit.text(), - onTap: () async { - await StageManager.closeSoundpackPreview(ctx: context); - ctx.navigator.pop(); - final anyChanged = - await ctx.navigator.push(MaterialPageRoute(builder: (_) => LocalSoundpackEditor(soundpack))); - if (anyChanged == true) { - if (!mounted) return; - // ignore: invalid_use_of_protected_member - setState(() {}); - } - }, - ), - ); - } else { - return PopupMenuItem( - child: ListTile( - leading: const Icon(Icons.info_outline_rounded), - title: I18n.op.info.text(), - onTap: () async { - await StageManager.closeSoundpackPreview(ctx: context); - ctx.navigator.pop(); - ctx.navigator.push(MaterialPageRoute(builder: (_) => SoundpackViewer(soundpack))); - }, - ), - ); - } - } - - final btn = PopupMenuButton( - shape: const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(16.0))), - position: PopupMenuPosition.under, - padding: EdgeInsets.zero, - itemBuilder: (BuildContext context) => [ - PopupMenuItem( - child: ListTile( - leading: const Icon(Icons.piano_outlined), - title: I18n.op.play$Music.text(), - onTap: () async { - ctx.navigator.pop(); - StageManager.showSoundpackPreviewOf(soundpack, ctx: context); - }, - ), - ), - if (soundpack is LocalSoundpack) - PopupMenuItem( - child: ListTile( - leading: const Icon(Icons.audio_file_outlined), - title: I18n.op.compose.text(), - onTap: () async { - await StageManager.closeSoundpackPreview(ctx: context); - ctx.navigator.pop(); - ctx.navigator.push(MaterialPageRoute(builder: (_) => SoundpackComposer(soundpack))); - }, - ), - ), - const PopupMenuDivider(), - buildViewOrEditBtn(), - if (!kIsWeb) - PopupMenuItem( - child: ListTile( - leading: const Icon(Icons.copy_outlined), - title: I18n.op.duplicate.text(), - onTap: () async { - await StageManager.closeSoundpackPreview(ctx: context); - ctx.navigator.pop(); - await Packager.duplicateSoundpack(soundpack); - }, - ), - ), - if (soundpack is LocalSoundpack && isDesktop) - PopupMenuItem( - child: ListTile( - leading: const Icon(Icons.folder_outlined), - title: I18n.op.revealInFolder.text(), - onTap: () async { - await StageManager.closeSoundpackPreview(ctx: context); - ctx.navigator.pop(); - await Packager.revealSoundpackInFolder(soundpack); - }, - ), - ), - if (soundpack is LocalSoundpack) ...buildExportSoundpackButtons(soundpack), - if (soundpack is! BuiltinSoundpack) - PopupMenuItem( - child: ListTile( - leading: Icon(Icons.delete_outline, color: ctx.$red$), - title: I18n.op.delete.text(style: TextStyle(color: ctx.$red$)), - onTap: () async { - await StageManager.closeSoundpackPreview(ctx: context); - ctx.navigator.pop(); - await Future.delayed(const Duration(milliseconds: 500)); - await DB.removeSoundpackById(soundpack.id); - }, - ), - ), - ], - child: IgnorePointer( - child: TextButton( - child: const Icon(Icons.more_horiz_rounded), - onPressed: () {}, - )), - ); - return btn; - } -} diff --git a/calcupiano/lib/ui/soundpack.i18n.dart b/calcupiano/lib/ui/soundpack.i18n.dart deleted file mode 100644 index dbab3b0..0000000 --- a/calcupiano/lib/ui/soundpack.i18n.dart +++ /dev/null @@ -1,26 +0,0 @@ -part of 'soundpack.dart'; - -const _ns = "ui.soundpack"; - -class I18n { - I18n._(); - static final op = Op._(); - static String get title => "$_ns.title".tr(); - - static String get createSoundpack => "$_ns.createSoundpack".tr(); - - static String get importSoundpack => "$_ns.importSoundpack".tr(); - - static String get link => "$_ns.link".tr(); - - static String get localFile => "$_ns.localFile".tr(); - - static String get corruptedSoundpack => "$_ns.corruptedSoundpack".tr(); - - static String get corruptedSoundpackSubtitle => "$_ns.corruptedSoundpackSubtitle".tr(); -} - -class Op extends $I18n$Op { - Op._(); - String get compose => "$_ns.compose".tr(); -} diff --git a/calcupiano/lib/ui/soundpack_composer.dart b/calcupiano/lib/ui/soundpack_composer.dart deleted file mode 100644 index 5701258..0000000 --- a/calcupiano/lib/ui/soundpack_composer.dart +++ /dev/null @@ -1,349 +0,0 @@ -import 'package:audioplayers/audioplayers.dart'; -import 'package:calcupiano/design/multiplatform.dart'; - -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/r.dart'; -import 'package:calcupiano/stage_manager.dart'; -import 'package:collection/collection.dart'; -import 'package:flutter/material.dart'; -import 'package:rettulf/rettulf.dart'; - -class SoundpackComposer extends StatefulWidget { - final LocalSoundpack soundpack; - - const SoundpackComposer(this.soundpack, {super.key}); - - @override - State createState() => _SoundpackComposerState(); -} - -class _SoundpackComposerState extends State { - LocalSoundpack get edited => widget.soundpack; - final Map $view = {}; - final queue = _OpQueue(); - - @override - void initState() { - super.initState(); - for (final p in edited.note2SoundFile.entries) { - final note = p.key; - $view[note] = LocalSoundFileLoc(edited, note); - } - } - - @override - Widget build(BuildContext context) { - return WillPopScope( - onWillPop: () async { - await StageManager.closeSoundFileExplorerKey(ctx: context); - return true; - }, - child: Scaffold( - appBar: AppBar( - title: edited.displayName.text(overflow: TextOverflow.fade), - centerTitle: context.isCupertino, - actions: [ - IconButton( - icon: const Icon(Icons.playlist_play_outlined), onPressed: () async => await playSoundInNoteOrder()), - IconButton( - icon: const Icon(Icons.search_rounded), - onPressed: () async => await StageManager.showSoundFileExplorer(ctx: context)), - IconButton(icon: const Icon(Icons.save_rounded), onPressed: () async => await onSave(context)), - ], - ), - body: buildBody(context), - ), - ); - } - - Future onSave(BuildContext ctx) async { - // TODO: on Windows: OS Error: The process cannot access the file because it is being used by another process. - final changed = await queue.performAll(edited); - if (changed) { - DB.setSoundpackSnapshotById(edited); - // TODO: I don't know why it doesn't work on Android. Users have to restart Calcupiano. - await AudioCache.instance.clearAll(); - } - await StageManager.closeSoundFileExplorerKey(ctx: ctx); - if (!mounted) return; - ctx.navigator.pop(); - } - - Future playSoundInNoteOrder() async { - for (final note in Note.all) { - final file = $view[note]?.resolve(); - if (file != null) { - Player.playSound(file); - // TODO: Customize interval - await Future.delayed(const Duration(milliseconds: 500)); - } - } - } - - Widget buildBody(BuildContext ctx) { - return ListView.separated( - physics: const RangeMaintainingScrollPhysics(), - itemCount: Note.all.length, - itemBuilder: (ctx, index) { - final note = Note.all[index]; - return _SoundFileRow( - note: note, - edited: edited, - getFile: () => $view[note], - setFile: (f) { - if (f == null) { - $view.remove(note); - queue.add(_RemoveOp(note)); - } else { - $view[note] = f; - if (f is LocalSoundFileLoc && f.soundpack.idEquals(edited)) { - // If the source is target, swap these two files to avoid to copy self. - queue.add(_SwapOp(f, LocalSoundFileLoc(edited, note))); - } else { - queue.add(_ReplaceOp(f.resolve(), note)); - } - } - }, - ); - }, - separatorBuilder: (BuildContext context, int index) { - return const Divider(thickness: 1); - }, - ); - } -} - -class _SoundFileRow extends StatefulWidget { - final Note note; - final ValueGetter getFile; - final ValueSetter setFile; - final LocalSoundpack edited; - - const _SoundFileRow({ - required this.edited, - required this.note, - required this.getFile, - required this.setFile, - }); - - @override - State<_SoundFileRow> createState() => _SoundFileRowState(); -} - -class _SoundFileRowState extends State<_SoundFileRow> { - Note get note => widget.note; - - SoundFileResolveProtocol? get file => widget.getFile(); - - set file(SoundFileResolveProtocol? newFile) { - widget.setFile(newFile); - setState(() {}); - } - - SoundpackProtocol get edited => widget.edited; - - @override - Widget build(BuildContext context) { - final sound = file; - return IntrinsicHeight( - child: [ - [ - buildTitle(sound), - buildBottomBar(sound), - ] - .column() - .inCard( - elevation: 0, - color: Theme.of(context).colorScheme.surfaceContainerHighest, - ) - .expanded(), - buildUploadArea(sound).expanded(), - ].row(caa: CrossAxisAlignment.stretch), - ); - } - - Widget buildTitle(SoundFileResolveProtocol? sound) { - return Text.rich([ - TextSpan(text: note.numberedText), - WidgetSpan(child: sound != null ? const Icon(Icons.music_note) : const Icon(Icons.music_off)), - ].span(style: context.textTheme.headlineLarge)) - .padAll(5) - .center(); - } - - Widget buildBottomBar(SoundFileResolveProtocol? sound) { - return ButtonBar( - alignment: MainAxisAlignment.center, - children: [ - if (sound != null) buildPlaySoundBtn(sound), - ], - ).container( - decoration: BoxDecoration( - color: context.colorScheme.surface, - )); - } - - Widget buildAudioFileArea(SoundFileResolveProtocol? loc) { - const icon = Icon(Icons.upload_file_outlined, size: 36); - Widget audioFileArea; - if (loc != null) { - final String? subtitle; - final file = loc.resolve(); - if (file is LocalSoundFile) { - subtitle = file.localPath; - } else if (loc is SoundFileLoc) { - // TODO: I18n - subtitle = "${loc.note.id} from ${loc.soundpack.displayName}"; - } else { - subtitle = null; - } - audioFileArea = [ - icon, - if (subtitle != null) basenameOfPath(subtitle).text(), - ].column(maa: MainAxisAlignment.center); - } else { - audioFileArea = icon; - } - return InkWell( - onTap: () async { - final audio = await Packager.tryPickAudioFile(); - if (audio != null) { - file = LocalSoundFile(localPath: audio); - } - }, - child: audioFileArea, - ); - } - - Widget buildDropIndicator(SoundFileLoc loc) { - const icon = Icon(Icons.move_to_inbox_outlined, size: 36); - // TODO: I18n - final String subtitle; - if (loc is LocalSoundFileLoc && loc.soundpack.idEquals(edited)) { - subtitle = "Swap ${loc.note.id} with ${note.id}"; - } else { - subtitle = "${loc.note.id} from ${loc.soundpack.displayName}"; - } - Widget dropIndicator = [ - icon, - basenameOfPath(subtitle).text(), - ].column(maa: MainAxisAlignment.center); - return dropIndicator; - } - - Widget buildUploadArea(SoundFileResolveProtocol? loc) { - Widget audioFileArea = buildAudioFileArea(loc); - final dropArea = DragTarget( - builder: (ctx, candidateData, rejectedData) { - final Widget res; - final first = candidateData.firstOrNull; - if (first != null) { - res = buildDropIndicator(first); - } else { - res = audioFileArea; - } - return res; - }, - onAcceptWithDetails: (details) { - file = details.data; - }, - onWillAcceptWithDetails: (details) { - final loc = details.data; - if (loc is LocalSoundFileLoc && loc.soundpack.idEquals(edited)) { - return loc.note != note; - } else { - return true; - } - }, - ); - final res = dropArea.inCard( - elevation: 0, - clip: Clip.hardEdge, - shape: RoundedRectangleBorder( - side: BorderSide( - color: Theme.of(context).colorScheme.outline, - ), - ), - ); - return res; - } - - Widget buildPlaySoundBtn(SoundFileResolveProtocol loc) { - return IconButton( - onPressed: () async { - Player.playSound(loc.resolve()); - }, - icon: const Icon(Icons.play_arrow), - ); - } - - /// Search a SoundFile in another soundpack. - Future searchInAnother() async {} -} - -class _OpQueue { - final _queue = <_Op>[]; - - void add(_Op op) { - _queue.add(op); - } - - Future performAll(LocalSoundpack soundpack) async { - var changed = false; - for (final op in _queue) { - await op.perform(soundpack); - changed = true; - } - _queue.clear(); - return changed; - } -} - -/// A composition operation -abstract class _Op { - Future perform(LocalSoundpack soundpack); -} - -/// Replace old SoundFile with new SoundFile from different Soundpack -class _ReplaceOp implements _Op { - final SoundFileProtocol newFile; - final Note target; - - const _ReplaceOp(this.newFile, this.target); - - @override - Future perform(LocalSoundpack soundpack) async { - final copied = await newFile.copyTo(joinPath(R.soundpacksRootDir, soundpack.uuid), target.id, extSuggestion: null); - soundpack.note2SoundFile[target] = LocalSoundFile(localPath: copied); - } -} - -class _RemoveOp implements _Op { - final Note removed; - - const _RemoveOp(this.removed); - - @override - Future perform(LocalSoundpack soundpack) async { - final file = soundpack.resolve(removed); - await file.toFile().delete(); - soundpack.note2SoundFile.remove(removed); - } -} - -/// Swap two SoundFiles in the same Soundpack -class _SwapOp implements _Op { - final LocalSoundFileLoc a; - final LocalSoundFileLoc b; - - const _SwapOp(this.a, this.b); - - @override - Future perform(LocalSoundpack soundpack) async { - final fileA = a.resolve(); - final fileB = b.resolve(); - await Packager.swapFiles(fileA.localPath, fileB.localPath); - soundpack.note2SoundFile[a.note] = fileB; - soundpack.note2SoundFile[b.note] = fileA; - } -} diff --git a/calcupiano/lib/ui/soundpack_editor.dart b/calcupiano/lib/ui/soundpack_editor.dart deleted file mode 100644 index 2358bf5..0000000 --- a/calcupiano/lib/ui/soundpack_editor.dart +++ /dev/null @@ -1,176 +0,0 @@ -import 'package:calcupiano/design/multiplatform.dart'; - -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/i18n.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:rettulf/rettulf.dart'; - -part 'soundpack_editor.i18n.dart'; - -/// A Soundpack Editor should allow users to edit all properties of [SoundpackMeta]. -/// Save button will save to storage and write into file. -/// -/// Navigation will return `true` if any changed and saved. -class LocalSoundpackEditor extends StatefulWidget { - final LocalSoundpack soundpack; - final bool readonly; - - const LocalSoundpackEditor( - this.soundpack, { - super.key, - this.readonly = false, - }); - - @override - State createState() => _LocalSoundpackEditorState(); -} - -class _LocalSoundpackEditorState extends State { - LocalSoundpack get soundpack => widget.soundpack; - late final $name = TextEditingController(text: widget.soundpack.meta.name); - late final $description = TextEditingController(text: widget.soundpack.meta.description); - late final $author = TextEditingController(text: widget.soundpack.meta.author); - late final $email = TextEditingController(text: widget.soundpack.meta.email); - late final $url = TextEditingController(text: widget.soundpack.meta.url); - final editing = SoundpackMeta(); - late LocalImageFile? $preview = soundpack.preview; - - bool get readonly => widget.readonly; - - @override - void initState() { - super.initState(); - $name.addListener(() { - // To Change the AppBar title. - setState(() {}); - }); - } - - @override - Widget build(BuildContext context) { - return buildMain(context); - } - - Widget buildMain(BuildContext ctx) { - return Scaffold( - appBar: AppBar( - title: $name.text.text(overflow: TextOverflow.clip), - centerTitle: ctx.isCupertino, - actions: [ - IconButton( - icon: const Icon(Icons.save_rounded), - onPressed: () async => await onSave(ctx), - ), - ], - ), - body: [ - buildPreview(ctx), - buildMetaEditor(ctx), - ].column().scrolled(), - ); - } - - Widget buildPreview(BuildContext ctx) { - final fullW = ctx.mediaQuery.size.width; - final fullH = ctx.mediaQuery.size.height; - final preview = $preview; - Widget img; - if (preview != null) { - img = preview.build(ctx); - } else { - img = SvgPicture.asset( - Assets.img.previewPlaceholder, - placeholderBuilder: (_) => const Icon(Icons.image_outlined), - ).fitted().constrained(maxW: fullW * 0.4, maxH: fullH * 0.4); - } - img = ClipRRect( - borderRadius: BorderRadius.circular(12.0), - child: img, - ).padAll(20.w); - img = img.onTap(() async { - final path = await Packager.pickImage(); - if (path != null) { - if (!mounted) return; - setState(() { - $preview = LocalImageFile(localPath: path); - }); - } - }); - return AnimatedSize( - duration: const Duration(milliseconds: 500), - curve: Curves.fastLinearToSlowEaseIn, - child: img, - ); - } - - Future onSave(BuildContext ctx) async { - var changed = false; - editing.name = $name.text; - editing.description = $description.text; - editing.author = $author.text; - editing.url = $url.text; - final former = soundpack.meta; - if (editing != former) { - soundpack.meta = editing; - await Packager.writeSoundpackMetaFile(soundpack); - changed = true; - } - final preview = $preview; - if (preview != soundpack.preview && preview != null) { - soundpack.preview = await Packager.copyImageAsPreview(soundpack, sourceImagePath: preview.localPath); - changed = true; - } - if (changed) { - DB.setSoundpackSnapshotById(soundpack); - } - if (!mounted) return; - ctx.navigator.pop(changed); - } - - Widget buildMetaEditor(BuildContext ctx) { - return Form( - child: [ - $TextField$( - readOnly: readonly, - controller: $name, - labelText: I18n.soundpack.name, - ).padSymmetric(h: 20, v: 5), - [ - $TextField$( - readOnly: readonly, - controller: $author, - labelText: I18n.soundpack.author, - ).padFromLTRB(20, 5, 5, 5).flexible(flex: 1), - $TextField$( - readOnly: readonly, - controller: $email, - labelText: I18n.soundpack.email, - ).padFromLTRB(5, 5, 20, 5).flexible(flex: 2), - ].row(), - $TextField$( - readOnly: readonly, - controller: $url, - labelText: I18n.soundpack.url, - ).padSymmetric(h: 20, v: 5), - $TextField$( - readOnly: readonly, - controller: $description, - labelText: I18n.soundpack.description, - maxLines: 6, - ).padSymmetric(h: 20, v: 5), - ].column(), - ); - } - - @override - void dispose() { - super.dispose(); - $name.dispose(); - $description.dispose(); - $author.dispose(); - $email.dispose(); - $url.dispose(); - } -} diff --git a/calcupiano/lib/ui/soundpack_editor.i18n.dart b/calcupiano/lib/ui/soundpack_editor.i18n.dart deleted file mode 100644 index af035f6..0000000 --- a/calcupiano/lib/ui/soundpack_editor.i18n.dart +++ /dev/null @@ -1,9 +0,0 @@ -part of 'soundpack_editor.dart'; - -const _ns = "ui.soundpack_editor"; - -class I18n { - I18n._(); - - static $I18n$Soundpack get soundpack => $I18n.soundpack; -} diff --git a/calcupiano/lib/ui/soundpack_viewer.dart b/calcupiano/lib/ui/soundpack_viewer.dart deleted file mode 100644 index e425529..0000000 --- a/calcupiano/lib/ui/soundpack_viewer.dart +++ /dev/null @@ -1,119 +0,0 @@ -import 'package:calcupiano/design/multiplatform.dart'; - -import 'package:calcupiano/foundation.dart'; -import 'package:calcupiano/i18n.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:rettulf/rettulf.dart'; - -part 'soundpack_viewer.i18n.dart'; - -/// A Soundpack Editor should allow users to edit all properties of [SoundpackMeta]. -/// Save button will save to storage and write into file. -/// -/// Navigation will return `true` if any changed and saved. -class SoundpackViewer extends StatefulWidget { - final SoundpackProtocol soundpack; - - const SoundpackViewer(this.soundpack, {super.key}); - - @override - State createState() => _SoundpackViewerState(); -} - -class _SoundpackViewerState extends State { - SoundpackProtocol get soundpack => widget.soundpack; - late final $name = TextEditingController(text: widget.soundpack.displayName); - late final $description = TextEditingController(text: widget.soundpack.description); - late final $author = TextEditingController(text: widget.soundpack.author); - late final $email = TextEditingController(text: widget.soundpack.email); - late final $url = TextEditingController(text: widget.soundpack.url); - - @override - Widget build(BuildContext context) { - return buildMain(context); - } - - Widget buildMain(BuildContext ctx) { - return Scaffold( - appBar: AppBar( - title: soundpack.displayName.text(overflow: TextOverflow.clip), - centerTitle: ctx.isCupertino, - ), - body: [ - buildPreview(ctx), - buildMetaEditor(ctx), - ].column().scrolled(), - ); - } - - Widget buildPreview(BuildContext ctx) { - final fullW = ctx.mediaQuery.size.width; - final fullH = ctx.mediaQuery.size.height; - final preview = soundpack.preview; - Widget img; - if (preview != null) { - img = preview.build(ctx).fitted(); - } else { - img = SvgPicture.asset( - Assets.img.previewPlaceholder, - placeholderBuilder: (_) => const Icon(Icons.image_outlined), - ).fitted().constrained(maxW: fullW * 0.4, maxH: fullH * 0.4); - } - img = ClipRRect( - borderRadius: BorderRadius.circular(12.0), - child: img, - ).padAll(20.w); - return AnimatedSize( - duration: const Duration(milliseconds: 500), - curve: Curves.fastLinearToSlowEaseIn, - child: img, - ); - } - - Widget buildMetaEditor(BuildContext ctx) { - return Form( - child: [ - $TextField$( - readOnly: true, - controller: $name, - labelText: I18n.soundpack.name, - ).padSymmetric(h: 20, v: 5), - [ - $TextField$( - readOnly: true, - controller: $author, - labelText: I18n.soundpack.author, - ).padFromLTRB(20, 5, 5, 5).flexible(flex: 1), - $TextField$( - readOnly: true, - controller: $email, - labelText: I18n.soundpack.email, - ).padFromLTRB(5, 5, 20, 5).flexible(flex: 2), - ].row(), - $TextField$( - readOnly: true, - controller: $url, - labelText: I18n.soundpack.url, - ).padSymmetric(h: 20, v: 5), - $TextField$( - readOnly: true, - controller: $description, - labelText: I18n.soundpack.description, - maxLines: 6, - ).padSymmetric(h: 20, v: 5), - ].column(), - ); - } - - @override - void dispose() { - super.dispose(); - $name.dispose(); - $description.dispose(); - $author.dispose(); - $email.dispose(); - $url.dispose(); - } -} diff --git a/calcupiano/lib/ui/soundpack_viewer.i18n.dart b/calcupiano/lib/ui/soundpack_viewer.i18n.dart deleted file mode 100644 index 37d18fa..0000000 --- a/calcupiano/lib/ui/soundpack_viewer.i18n.dart +++ /dev/null @@ -1,9 +0,0 @@ -part of 'soundpack_viewer.dart'; - -const _ns = "ui.soundpack_editor"; - -class I18n { - I18n._(); - - static $I18n$Soundpack get soundpack => $I18n.soundpack; -} diff --git a/calcupiano/lib/utils.dart b/calcupiano/lib/utils.dart deleted file mode 100644 index 2a455af..0000000 --- a/calcupiano/lib/utils.dart +++ /dev/null @@ -1,33 +0,0 @@ -extension DistinctEx on List { - List distinct({bool inplace = true}) { - final ids = {}; - var list = inplace ? this : List.from(this); - list.retainWhere((x) => ids.add(x)); - return list; - } - - List distinctBy(Id Function(E element) id, {bool inplace = true}) { - final ids = {}; - var list = inplace ? this : List.from(this); - list.retainWhere((x) => ids.add(id(x))); - return list; - } -} - -extension StringX on String? { - bool get isEmptyOrNull { - final self = this; - return self == null || self.isEmpty; - } - - String notEmptyNullOr(String replacement) { - final self = this; - if (self == null) { - return replacement; - } else if (self.isEmpty) { - return replacement; - } else { - return self; - } - } -} diff --git a/calcupiano/linux/.gitignore b/calcupiano/linux/.gitignore deleted file mode 100644 index d3896c9..0000000 --- a/calcupiano/linux/.gitignore +++ /dev/null @@ -1 +0,0 @@ -flutter/ephemeral diff --git a/calcupiano/linux/CMakeLists.txt b/calcupiano/linux/CMakeLists.txt deleted file mode 100644 index c598541..0000000 --- a/calcupiano/linux/CMakeLists.txt +++ /dev/null @@ -1,138 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.10) -project(runner LANGUAGES CXX) - -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. -set(BINARY_NAME "calcupiano") -# The unique GTK application identifier for this application. See: -# https://wiki.gnome.org/HowDoI/ChooseApplicationID -set(APPLICATION_ID "net.liplum.calcupiano") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(SET CMP0063 NEW) - -# Load bundled libraries from the lib/ directory relative to the binary. -set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") - -# Root filesystem for cross-building. -if(FLUTTER_TARGET_PLATFORM_SYSROOT) - set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) - set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) - set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) - set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -endif() - -# Define build configuration options. -if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") -endif() - -# Compilation settings that should be applied to most targets. -# -# Be cautious about adding new options here, as plugins use this function by -# default. In most cases, you should add new options to specific targets instead -# of modifying this function. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_14) - target_compile_options(${TARGET} PRIVATE -Wall -Werror) - target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") - target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# System-level dependencies. -find_package(PkgConfig REQUIRED) -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) - -add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") - -# Define the application target. To change its name, change BINARY_NAME above, -# not the value here, or `flutter run` will no longer work. -# -# Any new source files that you add to the application should be added here. -add_executable(${BINARY_NAME} - "main.cc" - "my_application.cc" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add dependency libraries. Add any application-specific dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter) -target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) - -# Only the install-generated bundle's copy of the executable will launch -# correctly, since the resources must in the right relative locations. To avoid -# people trying to run the unbundled copy, put it in a subdirectory instead of -# the default top-level location. -set_target_properties(${BINARY_NAME} - PROPERTIES - RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" -) - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# By default, "installing" just makes a relocatable bundle in the build -# directory. -set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -# Start with a clean build bundle directory every time. -install(CODE " - file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") - " COMPONENT Runtime) - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) - install(FILES "${bundled_library}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endforeach(bundled_library) - -# Fully re-copy the assets directory on each build to avoid having stale files -# from a previous install. -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") - install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() diff --git a/calcupiano/linux/flutter/CMakeLists.txt b/calcupiano/linux/flutter/CMakeLists.txt deleted file mode 100644 index d5bd016..0000000 --- a/calcupiano/linux/flutter/CMakeLists.txt +++ /dev/null @@ -1,88 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.10) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. - -# Serves the same purpose as list(TRANSFORM ... PREPEND ...), -# which isn't available in 3.10. -function(list_prepend LIST_NAME PREFIX) - set(NEW_LIST "") - foreach(element ${${LIST_NAME}}) - list(APPEND NEW_LIST "${PREFIX}${element}") - endforeach(element) - set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) -endfunction() - -# === Flutter Library === -# System-level dependencies. -find_package(PkgConfig REQUIRED) -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) -pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) -pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) - -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "fl_basic_message_channel.h" - "fl_binary_codec.h" - "fl_binary_messenger.h" - "fl_dart_project.h" - "fl_engine.h" - "fl_json_message_codec.h" - "fl_json_method_codec.h" - "fl_message_codec.h" - "fl_method_call.h" - "fl_method_channel.h" - "fl_method_codec.h" - "fl_method_response.h" - "fl_plugin_registrar.h" - "fl_plugin_registry.h" - "fl_standard_message_codec.h" - "fl_standard_method_codec.h" - "fl_string_codec.h" - "fl_value.h" - "fl_view.h" - "flutter_linux.h" -) -list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") -target_link_libraries(flutter INTERFACE - PkgConfig::GTK - PkgConfig::GLIB - PkgConfig::GIO -) -add_dependencies(flutter flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CMAKE_CURRENT_BINARY_DIR}/_phony_ - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" - ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} -) diff --git a/calcupiano/linux/flutter/generated_plugin_registrant.cc b/calcupiano/linux/flutter/generated_plugin_registrant.cc deleted file mode 100644 index d8a4062..0000000 --- a/calcupiano/linux/flutter/generated_plugin_registrant.cc +++ /dev/null @@ -1,23 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#include "generated_plugin_registrant.h" - -#include -#include -#include - -void fl_register_plugins(FlPluginRegistry* registry) { - g_autoptr(FlPluginRegistrar) audioplayers_linux_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "AudioplayersLinuxPlugin"); - audioplayers_linux_plugin_register_with_registrar(audioplayers_linux_registrar); - g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); - file_selector_plugin_register_with_registrar(file_selector_linux_registrar); - g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); - url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); -} diff --git a/calcupiano/linux/flutter/generated_plugin_registrant.h b/calcupiano/linux/flutter/generated_plugin_registrant.h deleted file mode 100644 index e0f0a47..0000000 --- a/calcupiano/linux/flutter/generated_plugin_registrant.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#ifndef GENERATED_PLUGIN_REGISTRANT_ -#define GENERATED_PLUGIN_REGISTRANT_ - -#include - -// Registers Flutter plugins. -void fl_register_plugins(FlPluginRegistry* registry); - -#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/calcupiano/linux/flutter/generated_plugins.cmake b/calcupiano/linux/flutter/generated_plugins.cmake deleted file mode 100644 index 04f81f4..0000000 --- a/calcupiano/linux/flutter/generated_plugins.cmake +++ /dev/null @@ -1,26 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST - audioplayers_linux - file_selector_linux - url_launcher_linux -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/calcupiano/linux/main.cc b/calcupiano/linux/main.cc deleted file mode 100644 index e7c5c54..0000000 --- a/calcupiano/linux/main.cc +++ /dev/null @@ -1,6 +0,0 @@ -#include "my_application.h" - -int main(int argc, char** argv) { - g_autoptr(MyApplication) app = my_application_new(); - return g_application_run(G_APPLICATION(app), argc, argv); -} diff --git a/calcupiano/linux/my_application.cc b/calcupiano/linux/my_application.cc deleted file mode 100644 index 0bc719a..0000000 --- a/calcupiano/linux/my_application.cc +++ /dev/null @@ -1,104 +0,0 @@ -#include "my_application.h" - -#include -#ifdef GDK_WINDOWING_X11 -#include -#endif - -#include "flutter/generated_plugin_registrant.h" - -struct _MyApplication { - GtkApplication parent_instance; - char** dart_entrypoint_arguments; -}; - -G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) - -// Implements GApplication::activate. -static void my_application_activate(GApplication* application) { - MyApplication* self = MY_APPLICATION(application); - GtkWindow* window = - GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); - - // Use a header bar when running in GNOME as this is the common style used - // by applications and is the setup most users will be using (e.g. Ubuntu - // desktop). - // If running on X and not using GNOME then just use a traditional title bar - // in case the window manager does more exotic layout, e.g. tiling. - // If running on Wayland assume the header bar will work (may need changing - // if future cases occur). - gboolean use_header_bar = TRUE; -#ifdef GDK_WINDOWING_X11 - GdkScreen* screen = gtk_window_get_screen(window); - if (GDK_IS_X11_SCREEN(screen)) { - const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); - if (g_strcmp0(wm_name, "GNOME Shell") != 0) { - use_header_bar = FALSE; - } - } -#endif - if (use_header_bar) { - GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); - gtk_widget_show(GTK_WIDGET(header_bar)); - gtk_header_bar_set_title(header_bar, "calcupiano"); - gtk_header_bar_set_show_close_button(header_bar, TRUE); - gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); - } else { - gtk_window_set_title(window, "calcupiano"); - } - - gtk_window_set_default_size(window, 1280, 720); - gtk_widget_show(GTK_WIDGET(window)); - - g_autoptr(FlDartProject) project = fl_dart_project_new(); - fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); - - FlView* view = fl_view_new(project); - gtk_widget_show(GTK_WIDGET(view)); - gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); - - fl_register_plugins(FL_PLUGIN_REGISTRY(view)); - - gtk_widget_grab_focus(GTK_WIDGET(view)); -} - -// Implements GApplication::local_command_line. -static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { - MyApplication* self = MY_APPLICATION(application); - // Strip out the first argument as it is the binary name. - self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); - - g_autoptr(GError) error = nullptr; - if (!g_application_register(application, nullptr, &error)) { - g_warning("Failed to register: %s", error->message); - *exit_status = 1; - return TRUE; - } - - g_application_activate(application); - *exit_status = 0; - - return TRUE; -} - -// Implements GObject::dispose. -static void my_application_dispose(GObject* object) { - MyApplication* self = MY_APPLICATION(object); - g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); - G_OBJECT_CLASS(my_application_parent_class)->dispose(object); -} - -static void my_application_class_init(MyApplicationClass* klass) { - G_APPLICATION_CLASS(klass)->activate = my_application_activate; - G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; - G_OBJECT_CLASS(klass)->dispose = my_application_dispose; -} - -static void my_application_init(MyApplication* self) {} - -MyApplication* my_application_new() { - return MY_APPLICATION(g_object_new(my_application_get_type(), - "application-id", APPLICATION_ID, - "flags", G_APPLICATION_NON_UNIQUE, - nullptr)); -} diff --git a/calcupiano/linux/my_application.h b/calcupiano/linux/my_application.h deleted file mode 100644 index 72271d5..0000000 --- a/calcupiano/linux/my_application.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef FLUTTER_MY_APPLICATION_H_ -#define FLUTTER_MY_APPLICATION_H_ - -#include - -G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, - GtkApplication) - -/** - * my_application_new: - * - * Creates a new Flutter-based application. - * - * Returns: a new #MyApplication. - */ -MyApplication* my_application_new(); - -#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/calcupiano/local.properties b/calcupiano/local.properties deleted file mode 100644 index edfec29..0000000 --- a/calcupiano/local.properties +++ /dev/null @@ -1,8 +0,0 @@ -## This file must *NOT* be checked into Version Control Systems, -# as it contains information specific to your local configuration. -# -# Location of the SDK. This is only used by Gradle. -# For customization when using a Version Control System, please read the -# header note. -#Fri Jan 06 02:54:17 CST 2023 -sdk.dir=C\:\\SDK\\Android diff --git a/calcupiano/macos/.gitignore b/calcupiano/macos/.gitignore deleted file mode 100644 index 746adbb..0000000 --- a/calcupiano/macos/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Flutter-related -**/Flutter/ephemeral/ -**/Pods/ - -# Xcode-related -**/dgph -**/xcuserdata/ diff --git a/calcupiano/macos/Flutter/Flutter-Debug.xcconfig b/calcupiano/macos/Flutter/Flutter-Debug.xcconfig deleted file mode 100644 index 4b81f9b..0000000 --- a/calcupiano/macos/Flutter/Flutter-Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/calcupiano/macos/Flutter/Flutter-Release.xcconfig b/calcupiano/macos/Flutter/Flutter-Release.xcconfig deleted file mode 100644 index 5caa9d1..0000000 --- a/calcupiano/macos/Flutter/Flutter-Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/calcupiano/macos/Flutter/GeneratedPluginRegistrant.swift b/calcupiano/macos/Flutter/GeneratedPluginRegistrant.swift deleted file mode 100644 index f41abee..0000000 --- a/calcupiano/macos/Flutter/GeneratedPluginRegistrant.swift +++ /dev/null @@ -1,24 +0,0 @@ -// -// Generated file. Do not edit. -// - -import FlutterMacOS -import Foundation - -import audioplayers_darwin -import file_selector_macos -import package_info_plus -import path_provider_foundation -import share_plus -import shared_preferences_foundation -import url_launcher_macos - -func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - AudioplayersDarwinPlugin.register(with: registry.registrar(forPlugin: "AudioplayersDarwinPlugin")) - FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) - FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) - PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) - SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) - SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) - UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) -} diff --git a/calcupiano/macos/Podfile b/calcupiano/macos/Podfile deleted file mode 100644 index 049abe2..0000000 --- a/calcupiano/macos/Podfile +++ /dev/null @@ -1,40 +0,0 @@ -platform :osx, '10.14' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_macos_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_macos_build_settings(target) - end -end diff --git a/calcupiano/macos/Podfile.lock b/calcupiano/macos/Podfile.lock deleted file mode 100644 index fb355b1..0000000 --- a/calcupiano/macos/Podfile.lock +++ /dev/null @@ -1,52 +0,0 @@ -PODS: - - audioplayers_darwin (0.0.1): - - FlutterMacOS - - FlutterMacOS (1.0.0) - - package_info_plus (0.0.1): - - FlutterMacOS - - path_provider_macos (0.0.1): - - FlutterMacOS - - share_plus (0.0.1): - - FlutterMacOS - - shared_preferences_macos (0.0.1): - - FlutterMacOS - - url_launcher_macos (0.0.1): - - FlutterMacOS - -DEPENDENCIES: - - audioplayers_darwin (from `Flutter/ephemeral/.symlinks/plugins/audioplayers_darwin/macos`) - - FlutterMacOS (from `Flutter/ephemeral`) - - package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`) - - path_provider_macos (from `Flutter/ephemeral/.symlinks/plugins/path_provider_macos/macos`) - - share_plus (from `Flutter/ephemeral/.symlinks/plugins/share_plus/macos`) - - shared_preferences_macos (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_macos/macos`) - - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) - -EXTERNAL SOURCES: - audioplayers_darwin: - :path: Flutter/ephemeral/.symlinks/plugins/audioplayers_darwin/macos - FlutterMacOS: - :path: Flutter/ephemeral - package_info_plus: - :path: Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos - path_provider_macos: - :path: Flutter/ephemeral/.symlinks/plugins/path_provider_macos/macos - share_plus: - :path: Flutter/ephemeral/.symlinks/plugins/share_plus/macos - shared_preferences_macos: - :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_macos/macos - url_launcher_macos: - :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos - -SPEC CHECKSUMS: - audioplayers_darwin: dcad41de4fbd0099cb3749f7ab3b0cb8f70b810c - FlutterMacOS: ae6af50a8ea7d6103d888583d46bd8328a7e9811 - package_info_plus: 02d7a575e80f194102bef286361c6c326e4c29ce - path_provider_macos: 7f02d5d549750547369e9c68223f954ef3539e72 - share_plus: 76dd39142738f7a68dd57b05093b5e8193f220f7 - shared_preferences_macos: 33a283075a27b1bb86af262383983fc22dad33af - url_launcher_macos: eac8bc4a91d00018e866205960559d73736b08dc - -PODFILE CHECKSUM: 353c8bcc5d5b0994e508d035b5431cfe18c1dea7 - -COCOAPODS: 1.11.3 diff --git a/calcupiano/macos/Runner.xcodeproj/project.pbxproj b/calcupiano/macos/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index ead3346..0000000 --- a/calcupiano/macos/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,634 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 51; - objects = { - -/* Begin PBXAggregateTarget section */ - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; - buildPhases = ( - 33CC111E2044C6BF0003C045 /* ShellScript */, - ); - dependencies = ( - ); - name = "Flutter Assemble"; - productName = FLX; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 7D214E0472E10875ECF561B3 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 080D70786355710F663AF32D /* Pods_Runner.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 33CC110E2044A8840003C045 /* Bundle Framework */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Bundle Framework"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 080D70786355710F663AF32D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 23AE78F2E02C782E0A737BEC /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 3223050B8D419003B92FDF5A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* calcupiano.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = calcupiano.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; - 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; - 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; - 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - D67D23B225757980A4BC806F /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 33CC10EA2044A3C60003C045 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 7D214E0472E10875ECF561B3 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 33BA886A226E78AF003329D5 /* Configs */ = { - isa = PBXGroup; - children = ( - 33E5194F232828860026EE4D /* AppInfo.xcconfig */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - 33CC10E42044A3C60003C045 = { - isa = PBXGroup; - children = ( - 33FAB671232836740065AC1E /* Runner */, - 33CEB47122A05771004F2AC0 /* Flutter */, - 33CC10EE2044A3C60003C045 /* Products */, - D73912EC22F37F3D000D13A0 /* Frameworks */, - 5A940C737DC48FDB7A9D7C63 /* Pods */, - ); - sourceTree = ""; - }; - 33CC10EE2044A3C60003C045 /* Products */ = { - isa = PBXGroup; - children = ( - 33CC10ED2044A3C60003C045 /* calcupiano.app */, - ); - name = Products; - sourceTree = ""; - }; - 33CC11242044D66E0003C045 /* Resources */ = { - isa = PBXGroup; - children = ( - 33CC10F22044A3C60003C045 /* Assets.xcassets */, - 33CC10F42044A3C60003C045 /* MainMenu.xib */, - 33CC10F72044A3C60003C045 /* Info.plist */, - ); - name = Resources; - path = ..; - sourceTree = ""; - }; - 33CEB47122A05771004F2AC0 /* Flutter */ = { - isa = PBXGroup; - children = ( - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, - ); - path = Flutter; - sourceTree = ""; - }; - 33FAB671232836740065AC1E /* Runner */ = { - isa = PBXGroup; - children = ( - 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, - 33E51914231749380026EE4D /* Release.entitlements */, - 33CC11242044D66E0003C045 /* Resources */, - 33BA886A226E78AF003329D5 /* Configs */, - ); - path = Runner; - sourceTree = ""; - }; - 5A940C737DC48FDB7A9D7C63 /* Pods */ = { - isa = PBXGroup; - children = ( - 3223050B8D419003B92FDF5A /* Pods-Runner.debug.xcconfig */, - D67D23B225757980A4BC806F /* Pods-Runner.release.xcconfig */, - 23AE78F2E02C782E0A737BEC /* Pods-Runner.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 080D70786355710F663AF32D /* Pods_Runner.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 33CC10EC2044A3C60003C045 /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 542801A28F219A98835D629E /* [CP] Check Pods Manifest.lock */, - 33CC10E92044A3C60003C045 /* Sources */, - 33CC10EA2044A3C60003C045 /* Frameworks */, - 33CC10EB2044A3C60003C045 /* Resources */, - 33CC110E2044A8840003C045 /* Bundle Framework */, - 3399D490228B24CF009A79C7 /* ShellScript */, - 24C4D173149CB6E80A950EA7 /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 33CC11202044C79F0003C045 /* PBXTargetDependency */, - ); - name = Runner; - productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* calcupiano.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 33CC10E52044A3C60003C045 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 33CC10EC2044A3C60003C045 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - 33CC111A2044C6BA0003C045 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 33CC10E42044A3C60003C045; - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33CC10EC2044A3C60003C045 /* Runner */, - 33CC111A2044C6BA0003C045 /* Flutter Assemble */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 33CC10EB2044A3C60003C045 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 24C4D173149CB6E80A950EA7 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 3399D490228B24CF009A79C7 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; - }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, - ); - inputPaths = ( - Flutter/ephemeral/tripwire, - ); - outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; - }; - 542801A28F219A98835D629E /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 33CC10E92044A3C60003C045 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 33CC10F52044A3C60003C045 /* Base */, - ); - name = MainMenu.xib; - path = Runner; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 338D0CE9231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Profile; - }; - 338D0CEA231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.14; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Profile; - }; - 338D0CEB231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Profile; - }; - 33CC10F92044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 33CC10FA2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 33CC10FC2044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.14; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 33CC10FD2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.14; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 33CC111C2044C6BA0003C045 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 33CC111D2044C6BA0003C045 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10F92044A3C60003C045 /* Debug */, - 33CC10FA2044A3C60003C045 /* Release */, - 338D0CE9231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10FC2044A3C60003C045 /* Debug */, - 33CC10FD2044A3C60003C045 /* Release */, - 338D0CEA231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC111C2044C6BA0003C045 /* Debug */, - 33CC111D2044C6BA0003C045 /* Release */, - 338D0CEB231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 33CC10E52044A3C60003C045 /* Project object */; -} diff --git a/calcupiano/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/calcupiano/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/calcupiano/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/calcupiano/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/calcupiano/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index f8ebdb5..0000000 --- a/calcupiano/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/calcupiano/macos/Runner.xcworkspace/contents.xcworkspacedata b/calcupiano/macos/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc1..0000000 --- a/calcupiano/macos/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/calcupiano/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/calcupiano/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/calcupiano/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/calcupiano/macos/Runner/AppDelegate.swift b/calcupiano/macos/Runner/AppDelegate.swift deleted file mode 100644 index d53ef64..0000000 --- a/calcupiano/macos/Runner/AppDelegate.swift +++ /dev/null @@ -1,9 +0,0 @@ -import Cocoa -import FlutterMacOS - -@NSApplicationMain -class AppDelegate: FlutterAppDelegate { - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - return true - } -} diff --git a/calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index a2ec33f..0000000 --- a/calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" - }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 82b6f9d9a33e198f5747104729e1fcef999772a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? 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 z 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 Pe7HEdAEg|=c=LY&YVNkY diff --git a/calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png deleted file mode 100644 index 13b35eba55c6dabc3aac36f33d859266c18fa0d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5680 zcmaiYXH?Tqu=Xz`p-L#B_gI#0we$cm_HcmYFP$?wjD#BaCN4mzC5#`>w9y6=ThxrYZc0WPXprg zYjB`UsV}0=eUtY$(P6YW}npdd;%9pi?zS3k-nqCob zSX_AQEf|=wYT3r?f!*Yt)ar^;l3Sro{z(7deUBPd2~(SzZ-s@0r&~Km2S?8r##9-< z)2UOSVaHqq6}%sA9Ww;V2LG=PnNAh6mA2iWOuV7T_lRDR z&N8-eN=U)-T|;wo^Wv=34wtV0g}sAAe}`Ph@~!|<;z7*K8(qkX0}o=!(+N*UWrkEja*$_H6mhK1u{P!AC39} z|3+Z(mAOq#XRYS)TLoHv<)d%$$I@+x+2)V{@o~~J-!YUI-Q9%!Ldi4Op&Lw&B>jj* zwAgC#Y>gbIqv!d|J5f!$dbCXoq(l3GR(S>(rtZ~Z*agXMMKN!@mWT_vmCbSd3dUUm z4M&+gz?@^#RRGal%G3dDvj7C5QTb@9+!MG+>0dcjtZEB45c+qx*c?)d<%htn1o!#1 zpIGonh>P1LHu3s)fGFF-qS}AXjW|M*2Xjkh7(~r(lN=o#mBD9?jt74=Rz85I4Nfx_ z7Z)q?!};>IUjMNM6ee2Thq7))a>My?iWFxQ&}WvsFP5LP+iGz+QiYek+K1`bZiTV- zHHYng?ct@Uw5!gquJ(tEv1wTrRR7cemI>aSzLI^$PxW`wL_zt@RSfZ1M3c2sbebM* ze0=;sy^!90gL~YKISz*x;*^~hcCoO&CRD)zjT(A2b_uRue=QXFe5|!cf0z1m!iwv5GUnLw9Dr*Ux z)3Lc!J@Ei;&&yxGpf2kn@2wJ2?t6~obUg;?tBiD#uo$SkFIasu+^~h33W~`r82rSa ztyE;ehFjC2hjpJ-e__EH&z?!~>UBb=&%DS>NT)1O3Isn-!SElBV2!~m6v0$vx^a<@ISutdTk1@?;i z<8w#b-%|a#?e5(n@7>M|v<<0Kpg?BiHYMRe!3Z{wYc2hN{2`6(;q`9BtXIhVq6t~KMH~J0~XtUuT06hL8c1BYZWhN zk4F2I;|za*R{ToHH2L?MfRAm5(i1Ijw;f+0&J}pZ=A0;A4M`|10ZskA!a4VibFKn^ zdVH4OlsFV{R}vFlD~aA4xxSCTTMW@Gws4bFWI@xume%smAnuJ0b91QIF?ZV!%VSRJ zO7FmG!swKO{xuH{DYZ^##gGrXsUwYfD0dxXX3>QmD&`mSi;k)YvEQX?UyfIjQeIm! z0ME3gmQ`qRZ;{qYOWt}$-mW*>D~SPZKOgP)T-Sg%d;cw^#$>3A9I(%#vsTRQe%moT zU`geRJ16l>FV^HKX1GG7fR9AT((jaVb~E|0(c-WYQscVl(z?W!rJp`etF$dBXP|EG z=WXbcZ8mI)WBN>3<@%4eD597FD5nlZajwh8(c$lum>yP)F}=(D5g1-WVZRc)(!E3} z-6jy(x$OZOwE=~{EQS(Tp`yV2&t;KBpG*XWX!yG+>tc4aoxbXi7u@O*8WWFOxUjcq z^uV_|*818$+@_{|d~VOP{NcNi+FpJ9)aA2So<7sB%j`$Prje&auIiTBb{oD7q~3g0 z>QNIwcz(V-y{Ona?L&=JaV5`o71nIsWUMA~HOdCs10H+Irew#Kr(2cn>orG2J!jvP zqcVX0OiF}c<)+5&p}a>_Uuv)L_j}nqnJ5a?RPBNi8k$R~zpZ33AA4=xJ@Z($s3pG9 zkURJY5ZI=cZGRt_;`hs$kE@B0FrRx(6K{`i1^*TY;Vn?|IAv9|NrN*KnJqO|8$e1& zb?OgMV&q5|w7PNlHLHF) zB+AK#?EtCgCvwvZ6*u|TDhJcCO+%I^@Td8CR}+nz;OZ*4Dn?mSi97m*CXXc=};!P`B?}X`F-B5v-%ACa8fo0W++j&ztmqK z;&A)cT4ob9&MxpQU41agyMU8jFq~RzXOAsy>}hBQdFVL%aTn~M>5t9go2j$i9=(rZ zADmVj;Qntcr3NIPPTggpUxL_z#5~C!Gk2Rk^3jSiDqsbpOXf^f&|h^jT4|l2ehPat zb$<*B+x^qO8Po2+DAmrQ$Zqc`1%?gp*mDk>ERf6I|42^tjR6>}4`F_Mo^N(~Spjcg z_uY$}zui*PuDJjrpP0Pd+x^5ds3TG#f?57dFL{auS_W8|G*o}gcnsKYjS6*t8VI<) zcjqTzW(Hk*t-Qhq`Xe+x%}sxXRerScbPGv8hlJ;CnU-!Nl=# zR=iTFf9`EItr9iAlAGi}i&~nJ-&+)Y| zMZigh{LXe)uR+4D_Yb+1?I93mHQ5{pId2Fq%DBr7`?ipi;CT!Q&|EO3gH~7g?8>~l zT@%*5BbetH)~%TrAF1!-!=)`FIS{^EVA4WlXYtEy^|@y@yr!C~gX+cp2;|O4x1_Ol z4fPOE^nj(}KPQasY#U{m)}TZt1C5O}vz`A|1J!-D)bR%^+=J-yJsQXDzFiqb+PT0! zIaDWWU(AfOKlSBMS};3xBN*1F2j1-_=%o($ETm8@oR_NvtMDVIv_k zlnNBiHU&h8425{MCa=`vb2YP5KM7**!{1O>5Khzu+5OVGY;V=Vl+24fOE;tMfujoF z0M``}MNnTg3f%Uy6hZi$#g%PUA_-W>uVCYpE*1j>U8cYP6m(>KAVCmbsDf39Lqv0^ zt}V6FWjOU@AbruB7MH2XqtnwiXS2scgjVMH&aF~AIduh#^aT1>*V>-st8%=Kk*{bL zzbQcK(l2~)*A8gvfX=RPsNnjfkRZ@3DZ*ff5rmx{@iYJV+a@&++}ZW+za2fU>&(4y`6wgMpQGG5Ah(9oGcJ^P(H< zvYn5JE$2B`Z7F6ihy>_49!6}(-)oZ(zryIXt=*a$bpIw^k?>RJ2 zQYr>-D#T`2ZWDU$pM89Cl+C<;J!EzHwn(NNnWpYFqDDZ_*FZ{9KQRcSrl5T>dj+eA zi|okW;6)6LR5zebZJtZ%6Gx8^=2d9>_670!8Qm$wd+?zc4RAfV!ZZ$jV0qrv(D`db zm_T*KGCh3CJGb(*X6nXzh!h9@BZ-NO8py|wG8Qv^N*g?kouH4%QkPU~Vizh-D3<@% zGomx%q42B7B}?MVdv1DFb!axQ73AUxqr!yTyFlp%Z1IAgG49usqaEbI_RnbweR;Xs zpJq7GKL_iqi8Md?f>cR?^0CA+Uk(#mTlGdZbuC*$PrdB$+EGiW**=$A3X&^lM^K2s zzwc3LtEs5|ho z2>U(-GL`}eNgL-nv3h7E<*<>C%O^=mmmX0`jQb6$mP7jUKaY4je&dCG{x$`0=_s$+ zSpgn!8f~ya&U@c%{HyrmiW2&Wzc#Sw@+14sCpTWReYpF9EQ|7vF*g|sqG3hx67g}9 zwUj5QP2Q-(KxovRtL|-62_QsHLD4Mu&qS|iDp%!rs(~ah8FcrGb?Uv^Qub5ZT_kn%I^U2rxo1DDpmN@8uejxik`DK2~IDi1d?%~pR7i#KTS zA78XRx<(RYO0_uKnw~vBKi9zX8VnjZEi?vD?YAw}y+)wIjIVg&5(=%rjx3xQ_vGCy z*&$A+bT#9%ZjI;0w(k$|*x{I1c!ECMus|TEA#QE%#&LxfGvijl7Ih!B2 z6((F_gwkV;+oSKrtr&pX&fKo3s3`TG@ye+k3Ov)<#J|p8?vKh@<$YE@YIU1~@7{f+ zydTna#zv?)6&s=1gqH<-piG>E6XW8ZI7&b@-+Yk0Oan_CW!~Q2R{QvMm8_W1IV8<+ zQTyy=(Wf*qcQubRK)$B;QF}Y>V6d_NM#=-ydM?%EPo$Q+jkf}*UrzR?Nsf?~pzIj$ z<$wN;7c!WDZ(G_7N@YgZ``l;_eAd3+;omNjlpfn;0(B7L)^;;1SsI6Le+c^ULe;O@ zl+Z@OOAr4$a;=I~R0w4jO`*PKBp?3K+uJ+Tu8^%i<_~bU!p%so z^sjol^slR`W@jiqn!M~eClIIl+`A5%lGT{z^mRbpv}~AyO%R*jmG_Wrng{B9TwIuS z0!@fsM~!57K1l0%{yy(#no}roy#r!?0wm~HT!vLDfEBs9x#`9yCKgufm0MjVRfZ=f z4*ZRc2Lgr(P+j2zQE_JzYmP0*;trl7{*N341Cq}%^M^VC3gKG-hY zmPT>ECyrhIoFhnMB^qpdbiuI}pk{qPbK^}0?Rf7^{98+95zNq6!RuV_zAe&nDk0;f zez~oXlE5%ve^TmBEt*x_X#fs(-En$jXr-R4sb$b~`nS=iOy|OVrph(U&cVS!IhmZ~ zKIRA9X%Wp1J=vTvHZ~SDe_JXOe9*fa zgEPf;gD^|qE=dl>Qkx3(80#SE7oxXQ(n4qQ#by{uppSKoDbaq`U+fRqk0BwI>IXV3 zD#K%ASkzd7u>@|pA=)Z>rQr@dLH}*r7r0ng zxa^eME+l*s7{5TNu!+bD{Pp@2)v%g6^>yj{XP&mShhg9GszNu4ITW=XCIUp2Xro&1 zg_D=J3r)6hp$8+94?D$Yn2@Kp-3LDsci)<-H!wCeQt$e9Jk)K86hvV^*Nj-Ea*o;G zsuhRw$H{$o>8qByz1V!(yV{p_0X?Kmy%g#1oSmlHsw;FQ%j9S#}ha zm0Nx09@jmOtP8Q+onN^BAgd8QI^(y!n;-APUpo5WVdmp8!`yKTlF>cqn>ag`4;o>i zl!M0G-(S*fm6VjYy}J}0nX7nJ$h`|b&KuW4d&W5IhbR;-)*9Y0(Jj|@j`$xoPQ=Cl diff --git a/calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png deleted file mode 100644 index 0a3f5fa40fb3d1e0710331a48de5d256da3f275d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 520 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 diff --git a/calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/calcupiano/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 2f1632cfddf3d9dade342351e627a0a75609fb46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/calcupiano/macos/Runner/Configs/AppInfo.xcconfig b/calcupiano/macos/Runner/Configs/AppInfo.xcconfig deleted file mode 100644 index 2752de3..0000000 --- a/calcupiano/macos/Runner/Configs/AppInfo.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -// Application-level settings for the Runner target. -// -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the -// future. If not, the values below would default to using the project name when this becomes a -// 'flutter create' template. - -// The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = calcupiano - -// The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = net.liplum.calcupiano - -// The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2022 net.liplum. All rights reserved. diff --git a/calcupiano/macos/Runner/Configs/Debug.xcconfig b/calcupiano/macos/Runner/Configs/Debug.xcconfig deleted file mode 100644 index 36b0fd9..0000000 --- a/calcupiano/macos/Runner/Configs/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Debug.xcconfig" -#include "Warnings.xcconfig" diff --git a/calcupiano/macos/Runner/Configs/Release.xcconfig b/calcupiano/macos/Runner/Configs/Release.xcconfig deleted file mode 100644 index dff4f49..0000000 --- a/calcupiano/macos/Runner/Configs/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Release.xcconfig" -#include "Warnings.xcconfig" diff --git a/calcupiano/macos/Runner/Configs/Warnings.xcconfig b/calcupiano/macos/Runner/Configs/Warnings.xcconfig deleted file mode 100644 index 42bcbf4..0000000 --- a/calcupiano/macos/Runner/Configs/Warnings.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings -GCC_WARN_UNDECLARED_SELECTOR = YES -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES -CLANG_WARN_PRAGMA_PACK = YES -CLANG_WARN_STRICT_PROTOTYPES = YES -CLANG_WARN_COMMA = YES -GCC_WARN_STRICT_SELECTOR_MATCH = YES -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES -GCC_WARN_SHADOW = YES -CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/calcupiano/macos/Runner/DebugProfile.entitlements b/calcupiano/macos/Runner/DebugProfile.entitlements deleted file mode 100644 index dddb8a3..0000000 --- a/calcupiano/macos/Runner/DebugProfile.entitlements +++ /dev/null @@ -1,12 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.network.server - - - diff --git a/calcupiano/macos/Runner/Info.plist b/calcupiano/macos/Runner/Info.plist deleted file mode 100644 index 4789daa..0000000 --- a/calcupiano/macos/Runner/Info.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - $(PRODUCT_COPYRIGHT) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/calcupiano/macos/Runner/MainFlutterWindow.swift b/calcupiano/macos/Runner/MainFlutterWindow.swift deleted file mode 100644 index 2722837..0000000 --- a/calcupiano/macos/Runner/MainFlutterWindow.swift +++ /dev/null @@ -1,15 +0,0 @@ -import Cocoa -import FlutterMacOS - -class MainFlutterWindow: NSWindow { - override func awakeFromNib() { - let flutterViewController = FlutterViewController.init() - let windowFrame = self.frame - self.contentViewController = flutterViewController - self.setFrame(windowFrame, display: true) - - RegisterGeneratedPlugins(registry: flutterViewController) - - super.awakeFromNib() - } -} diff --git a/calcupiano/macos/Runner/Release.entitlements b/calcupiano/macos/Runner/Release.entitlements deleted file mode 100644 index 852fa1a..0000000 --- a/calcupiano/macos/Runner/Release.entitlements +++ /dev/null @@ -1,8 +0,0 @@ - - - - - com.apple.security.app-sandbox - - - diff --git a/calcupiano/pubspec.lock b/calcupiano/pubspec.lock deleted file mode 100644 index c2ab36c..0000000 --- a/calcupiano/pubspec.lock +++ /dev/null @@ -1,1377 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" - url: "https://pub.dev" - source: hosted - version: "67.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" - url: "https://pub.dev" - source: hosted - version: "6.4.1" - animations: - dependency: "direct main" - description: - name: animations - sha256: d3d6dcfb218225bbe68e87ccf6378bbb2e32a94900722c5f81611dad089911cb - url: "https://pub.dev" - source: hosted - version: "2.0.11" - archive: - dependency: "direct main" - description: - name: archive - sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d - url: "https://pub.dev" - source: hosted - version: "3.6.1" - args: - dependency: transitive - description: - name: args - sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" - url: "https://pub.dev" - source: hosted - version: "2.5.0" - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - audioplayers: - dependency: "direct main" - description: - name: audioplayers - sha256: c346ba5a39dc208f1bab55fc239855f573d69b0e832402114bf0b793622adc4d - url: "https://pub.dev" - source: hosted - version: "6.1.0" - audioplayers_android: - dependency: transitive - description: - name: audioplayers_android - sha256: de576b890befe27175c2f511ba8b742bec83765fa97c3ce4282bba46212f58e4 - url: "https://pub.dev" - source: hosted - version: "5.0.0" - audioplayers_darwin: - dependency: transitive - description: - name: audioplayers_darwin - sha256: e507887f3ff18d8e5a10a668d7bedc28206b12e10b98347797257c6ae1019c3b - url: "https://pub.dev" - source: hosted - version: "6.0.0" - audioplayers_linux: - dependency: transitive - description: - name: audioplayers_linux - sha256: "3d3d244c90436115417f170426ce768856d8fe4dfc5ed66a049d2890acfa82f9" - url: "https://pub.dev" - source: hosted - version: "4.0.0" - audioplayers_platform_interface: - dependency: transitive - description: - name: audioplayers_platform_interface - sha256: "6834dd48dfb7bc6c2404998ebdd161f79cd3774a7e6779e1348d54a3bfdcfaa5" - url: "https://pub.dev" - source: hosted - version: "7.0.0" - audioplayers_web: - dependency: transitive - description: - name: audioplayers_web - sha256: "3609bdf0e05e66a3d9750ee40b1e37f2a622c4edb796cc600b53a90a30a2ace4" - url: "https://pub.dev" - source: hosted - version: "5.0.1" - audioplayers_windows: - dependency: transitive - description: - name: audioplayers_windows - sha256: "8605762dddba992138d476f6a0c3afd9df30ac5b96039929063eceed416795c2" - url: "https://pub.dev" - source: hosted - version: "4.0.0" - auto_animated: - dependency: "direct main" - description: - name: auto_animated - sha256: f62311033d043d2709c25444551debdfd08649138c2923b0298d776792291149 - url: "https://pub.dev" - source: hosted - version: "3.2.0" - auto_size_text: - dependency: "direct main" - description: - name: auto_size_text - sha256: "3f5261cd3fb5f2a9ab4e2fc3fba84fd9fcaac8821f20a1d4e71f557521b22599" - url: "https://pub.dev" - source: hosted - version: "3.0.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - build: - dependency: transitive - description: - name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - build_config: - dependency: transitive - description: - name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 - url: "https://pub.dev" - source: hosted - version: "1.1.1" - build_daemon: - dependency: transitive - description: - name: build_daemon - sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9" - url: "https://pub.dev" - source: hosted - version: "4.0.2" - build_resolvers: - dependency: transitive - description: - name: build_resolvers - sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" - url: "https://pub.dev" - source: hosted - version: "2.4.2" - build_runner: - dependency: "direct dev" - description: - name: build_runner - sha256: dd09dd4e2b078992f42aac7f1a622f01882a8492fef08486b27ddde929c19f04 - url: "https://pub.dev" - source: hosted - version: "2.4.12" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0 - url: "https://pub.dev" - source: hosted - version: "7.3.2" - built_collection: - dependency: transitive - description: - name: built_collection - sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" - url: "https://pub.dev" - source: hosted - version: "5.1.1" - built_value: - dependency: transitive - description: - name: built_value - sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb - url: "https://pub.dev" - source: hosted - version: "8.9.2" - characters: - dependency: transitive - description: - name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - checked_yaml: - dependency: transitive - description: - name: checked_yaml - sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff - url: "https://pub.dev" - source: hosted - version: "2.0.3" - clock: - dependency: transitive - description: - name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" - source: hosted - version: "1.1.1" - code_builder: - dependency: transitive - description: - name: code_builder - sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 - url: "https://pub.dev" - source: hosted - version: "4.10.0" - collection: - dependency: "direct main" - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - cross_file: - dependency: transitive - description: - name: cross_file - sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" - url: "https://pub.dev" - source: hosted - version: "0.3.4+2" - crypto: - dependency: transitive - description: - name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.dev" - source: hosted - version: "3.0.3" - cupertino_icons: - dependency: "direct main" - description: - name: cupertino_icons - sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 - url: "https://pub.dev" - source: hosted - version: "1.0.8" - dart_style: - dependency: transitive - description: - name: dart_style - sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" - url: "https://pub.dev" - source: hosted - version: "2.3.6" - dio: - dependency: "direct main" - description: - name: dio - sha256: "0dfb6b6a1979dac1c1245e17cef824d7b452ea29bd33d3467269f9bef3715fb0" - url: "https://pub.dev" - source: hosted - version: "5.6.0" - dio_web_adapter: - dependency: transitive - description: - name: dio_web_adapter - sha256: "36c5b2d79eb17cdae41e974b7a8284fec631651d2a6f39a8a2ff22327e90aeac" - url: "https://pub.dev" - source: hosted - version: "1.0.1" - easy_localization: - dependency: "direct main" - description: - name: easy_localization - sha256: fa59bcdbbb911a764aa6acf96bbb6fa7a5cf8234354fc45ec1a43a0349ef0201 - url: "https://pub.dev" - source: hosted - version: "3.0.7" - easy_logger: - dependency: transitive - description: - name: easy_logger - sha256: c764a6e024846f33405a2342caf91c62e357c24b02c04dbc712ef232bf30ffb7 - url: "https://pub.dev" - source: hosted - version: "0.0.2" - event_bus: - dependency: "direct main" - description: - name: event_bus - sha256: "44baa799834f4c803921873e7446a2add0f3efa45e101a054b1f0ab9b95f8edc" - url: "https://pub.dev" - source: hosted - version: "2.0.0" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - ffi: - dependency: transitive - description: - name: ffi - sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - file: - dependency: transitive - description: - name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" - url: "https://pub.dev" - source: hosted - version: "7.0.0" - file_picker: - dependency: "direct main" - description: - name: file_picker - sha256: "167bb619cdddaa10ef2907609feb8a79c16dfa479d3afaf960f8e223f754bf12" - url: "https://pub.dev" - source: hosted - version: "8.1.2" - file_selector_linux: - dependency: transitive - description: - name: file_selector_linux - sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" - url: "https://pub.dev" - source: hosted - version: "0.9.2+1" - file_selector_macos: - dependency: transitive - description: - name: file_selector_macos - sha256: f42eacb83b318e183b1ae24eead1373ab1334084404c8c16e0354f9a3e55d385 - url: "https://pub.dev" - source: hosted - version: "0.9.4" - file_selector_platform_interface: - dependency: transitive - description: - name: file_selector_platform_interface - sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b - url: "https://pub.dev" - source: hosted - version: "2.6.2" - file_selector_windows: - dependency: transitive - description: - name: file_selector_windows - sha256: "2ad726953f6e8affbc4df8dc78b77c3b4a060967a291e528ef72ae846c60fb69" - url: "https://pub.dev" - source: hosted - version: "0.9.3+2" - fixnum: - dependency: transitive - description: - name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - flame: - dependency: transitive - description: - name: flame - sha256: "79133dc46a3ff870950f41d0dc1598414e7bd7ae2c29bd9f0a9de208d9a70cb7" - url: "https://pub.dev" - source: hosted - version: "1.18.0" - flame_audio: - dependency: "direct main" - description: - name: flame_audio - sha256: "32e5788945469cebb807e741027e645a737e2618afc9b682e7f48607e0637f48" - url: "https://pub.dev" - source: hosted - version: "2.10.2" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_hooks: - dependency: "direct main" - description: - name: flutter_hooks - sha256: cde36b12f7188c85286fba9b38cc5a902e7279f36dd676967106c041dc9dde70 - url: "https://pub.dev" - source: hosted - version: "0.20.5" - flutter_lints: - dependency: "direct dev" - description: - name: flutter_lints - sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" - url: "https://pub.dev" - source: hosted - version: "4.0.0" - flutter_localizations: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - flutter_markdown: - dependency: "direct main" - description: - name: flutter_markdown - sha256: a23c41ee57573e62fc2190a1f36a0480c4d90bde3a8a8d7126e5d5992fb53fb7 - url: "https://pub.dev" - source: hosted - version: "0.7.3+1" - flutter_plugin_android_lifecycle: - dependency: transitive - description: - name: flutter_plugin_android_lifecycle - sha256: "9d98bd47ef9d34e803d438f17fd32b116d31009f534a6fa5ce3a1167f189a6de" - url: "https://pub.dev" - source: hosted - version: "2.0.21" - flutter_screenutil: - dependency: "direct main" - description: - name: flutter_screenutil - sha256: "8239210dd68bee6b0577aa4a090890342d04a136ce1c81f98ee513fc0ce891de" - url: "https://pub.dev" - source: hosted - version: "5.9.3" - flutter_staggered_grid_view: - dependency: "direct main" - description: - name: flutter_staggered_grid_view - sha256: "19e7abb550c96fbfeb546b23f3ff356ee7c59a019a651f8f102a4ba9b7349395" - url: "https://pub.dev" - source: hosted - version: "0.7.0" - flutter_svg: - dependency: "direct main" - description: - name: flutter_svg - sha256: "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2" - url: "https://pub.dev" - source: hosted - version: "2.0.10+1" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 - url: "https://pub.dev" - source: hosted - version: "4.0.0" - glob: - dependency: transitive - description: - name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - google_fonts: - dependency: "direct main" - description: - name: google_fonts - sha256: b1ac0fe2832c9cc95e5e88b57d627c5e68c223b9657f4b96e1487aa9098c7b82 - url: "https://pub.dev" - source: hosted - version: "6.2.1" - graphs: - dependency: transitive - description: - name: graphs - sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" - url: "https://pub.dev" - source: hosted - version: "2.3.2" - hive: - dependency: "direct main" - description: - name: hive - sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" - url: "https://pub.dev" - source: hosted - version: "2.2.3" - hive_flutter: - dependency: "direct main" - description: - name: hive_flutter - sha256: dca1da446b1d808a51689fb5d0c6c9510c0a2ba01e22805d492c73b68e33eecc - url: "https://pub.dev" - source: hosted - version: "1.1.0" - hive_generator: - dependency: "direct dev" - description: - name: hive_generator - sha256: "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4" - url: "https://pub.dev" - source: hosted - version: "2.0.1" - http: - dependency: transitive - description: - name: http - sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 - url: "https://pub.dev" - source: hosted - version: "1.2.2" - http_multi_server: - dependency: transitive - description: - name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" - url: "https://pub.dev" - source: hosted - version: "3.2.1" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.dev" - source: hosted - version: "4.0.2" - image_picker: - dependency: "direct main" - description: - name: image_picker - sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a" - url: "https://pub.dev" - source: hosted - version: "1.1.2" - image_picker_android: - dependency: transitive - description: - name: image_picker_android - sha256: c0e72ecd170b00a5590bb71238d57dc8ad22ee14c60c6b0d1a4e05cafbc5db4b - url: "https://pub.dev" - source: hosted - version: "0.8.12+11" - image_picker_for_web: - dependency: transitive - description: - name: image_picker_for_web - sha256: "65d94623e15372c5c51bebbcb820848d7bcb323836e12dfdba60b5d3a8b39e50" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - image_picker_ios: - dependency: transitive - description: - name: image_picker_ios - sha256: "6703696ad49f5c3c8356d576d7ace84d1faf459afb07accbb0fae780753ff447" - url: "https://pub.dev" - source: hosted - version: "0.8.12" - image_picker_linux: - dependency: transitive - description: - name: image_picker_linux - sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa" - url: "https://pub.dev" - source: hosted - version: "0.2.1+1" - image_picker_macos: - dependency: transitive - description: - name: image_picker_macos - sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" - url: "https://pub.dev" - source: hosted - version: "0.2.1+1" - image_picker_platform_interface: - dependency: transitive - description: - name: image_picker_platform_interface - sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80" - url: "https://pub.dev" - source: hosted - version: "2.10.0" - image_picker_windows: - dependency: transitive - description: - name: image_picker_windows - sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" - url: "https://pub.dev" - source: hosted - version: "0.2.1+1" - intl: - dependency: transitive - description: - name: intl - sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf - url: "https://pub.dev" - source: hosted - version: "0.19.0" - io: - dependency: transitive - description: - name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - jconverter: - dependency: "direct main" - description: - path: jconverter - ref: HEAD - resolved-ref: "2356c4d24b405e9e3b19a6d2810d396d65d09e2c" - url: "https://github.com/liplum/DartPackage.git" - source: git - version: "1.0.0" - js: - dependency: transitive - description: - name: js - sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf - url: "https://pub.dev" - source: hosted - version: "0.7.1" - json_annotation: - dependency: "direct main" - description: - name: json_annotation - sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" - url: "https://pub.dev" - source: hosted - version: "4.9.0" - json_serializable: - dependency: "direct main" - description: - name: json_serializable - sha256: ea1432d167339ea9b5bb153f0571d0039607a873d6e04e0117af043f14a1fd4b - url: "https://pub.dev" - source: hosted - version: "6.8.0" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" - url: "https://pub.dev" - source: hosted - version: "10.0.5" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" - url: "https://pub.dev" - source: hosted - version: "3.0.1" - lints: - dependency: transitive - description: - name: lints - sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" - url: "https://pub.dev" - source: hosted - version: "4.0.0" - loading_animation_widget: - dependency: "direct main" - description: - name: loading_animation_widget - sha256: ee3659035528d19145d50cf0107632bf647e7306c88b6a32f35f3bed63f6d728 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - logger: - dependency: "direct main" - description: - name: logger - sha256: "697d067c60c20999686a0add96cf6aba723b3aa1f83ecf806a8097231529ec32" - url: "https://pub.dev" - source: hosted - version: "2.4.0" - logging: - dependency: transitive - description: - name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - markdown: - dependency: "direct main" - description: - name: markdown - sha256: ef2a1298144e3f985cc736b22e0ccdaf188b5b3970648f2d9dc13efd1d9df051 - url: "https://pub.dev" - source: hosted - version: "7.2.2" - matcher: - dependency: transitive - description: - name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" - source: hosted - version: "0.12.16+1" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.dev" - source: hosted - version: "0.11.1" - meta: - dependency: transitive - description: - name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 - url: "https://pub.dev" - source: hosted - version: "1.15.0" - mime: - dependency: transitive - description: - name: mime - sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" - url: "https://pub.dev" - source: hosted - version: "1.0.5" - modal_bottom_sheet: - dependency: "direct main" - description: - name: modal_bottom_sheet - sha256: eac66ef8cb0461bf069a38c5eb0fa728cee525a531a8304bd3f7b2185407c67e - url: "https://pub.dev" - source: hosted - version: "3.0.0" - nested: - dependency: transitive - description: - name: nested - sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" - url: "https://pub.dev" - source: hosted - version: "1.0.0" - ordered_set: - dependency: transitive - description: - name: ordered_set - sha256: "1bfaaaee0419e43ecc9eaebd410eb4bd5039657b72011de75ff3e2915c9aac60" - url: "https://pub.dev" - source: hosted - version: "5.0.3" - package_config: - dependency: transitive - description: - name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - package_info_plus: - dependency: "direct main" - description: - name: package_info_plus - sha256: a75164ade98cb7d24cfd0a13c6408927c6b217fa60dee5a7ff5c116a58f28918 - url: "https://pub.dev" - source: hosted - version: "8.0.2" - package_info_plus_platform_interface: - dependency: transitive - description: - name: package_info_plus_platform_interface - sha256: ac1f4a4847f1ade8e6a87d1f39f5d7c67490738642e2542f559ec38c37489a66 - url: "https://pub.dev" - source: hosted - version: "3.0.1" - path: - dependency: "direct main" - description: - name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.dev" - source: hosted - version: "1.9.0" - path_parsing: - dependency: transitive - description: - name: path_parsing - sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf - url: "https://pub.dev" - source: hosted - version: "1.0.1" - path_provider: - dependency: "direct main" - description: - name: path_provider - sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378 - url: "https://pub.dev" - source: hosted - version: "2.1.4" - path_provider_android: - dependency: transitive - description: - name: path_provider_android - sha256: "490539678396d4c3c0b06efdaab75ae60675c3e0c66f72bc04c2e2c1e0e2abeb" - url: "https://pub.dev" - source: hosted - version: "2.2.9" - path_provider_foundation: - dependency: transitive - description: - name: path_provider_foundation - sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 - url: "https://pub.dev" - source: hosted - version: "2.4.0" - path_provider_linux: - dependency: transitive - description: - name: path_provider_linux - sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 - url: "https://pub.dev" - source: hosted - version: "2.2.1" - path_provider_platform_interface: - dependency: transitive - description: - name: path_provider_platform_interface - sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - path_provider_windows: - dependency: transitive - description: - name: path_provider_windows - sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 - url: "https://pub.dev" - source: hosted - version: "2.3.0" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 - url: "https://pub.dev" - source: hosted - version: "6.0.2" - platform: - dependency: transitive - description: - name: platform - sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" - url: "https://pub.dev" - source: hosted - version: "3.1.5" - platform_safe_func: - dependency: "direct main" - description: - path: platform_safe_func - ref: HEAD - resolved-ref: "2356c4d24b405e9e3b19a6d2810d396d65d09e2c" - url: "https://github.com/liplum/DartPackage.git" - source: git - version: "1.0.0" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" - source: hosted - version: "2.1.8" - pool: - dependency: transitive - description: - name: pool - sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" - url: "https://pub.dev" - source: hosted - version: "1.5.1" - provider: - dependency: "direct main" - description: - name: provider - sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c - url: "https://pub.dev" - source: hosted - version: "6.1.2" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - pubspec_parse: - dependency: transitive - description: - name: pubspec_parse - sha256: c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8 - url: "https://pub.dev" - source: hosted - version: "1.3.0" - pull_down_button: - dependency: "direct main" - description: - name: pull_down_button - sha256: "96d0a869c460318cc30b6ce3773b3c5d26291e8a1f93f358c826e14bc13e266a" - url: "https://pub.dev" - source: hosted - version: "0.10.1" - quiver: - dependency: "direct main" - description: - name: quiver - sha256: b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47 - url: "https://pub.dev" - source: hosted - version: "3.2.1" - rettulf: - dependency: "direct main" - description: - name: rettulf - sha256: b9744aa4a990f5a31dbec3ff1f2ee8ff54450d2bfe5629d0b0d49db691992aeb - url: "https://pub.dev" - source: hosted - version: "2.1.1" - sanitize_filename: - dependency: "direct main" - description: - name: sanitize_filename - sha256: "92fc3859d86ca4d087305a52c6823a2f323fa0935b1d8d17e05e00f80b027b03" - url: "https://pub.dev" - source: hosted - version: "1.0.5" - share_plus: - dependency: "direct main" - description: - name: share_plus - sha256: "468c43f285207c84bcabf5737f33b914ceb8eb38398b91e5e3ad1698d1b72a52" - url: "https://pub.dev" - source: hosted - version: "10.0.2" - share_plus_platform_interface: - dependency: transitive - description: - name: share_plus_platform_interface - sha256: "6ababf341050edff57da8b6990f11f4e99eaba837865e2e6defe16d039619db5" - url: "https://pub.dev" - source: hosted - version: "5.0.0" - shared_preferences: - dependency: transitive - description: - name: shared_preferences - sha256: c272f9cabca5a81adc9b0894381e9c1def363e980f960fa903c604c471b22f68 - url: "https://pub.dev" - source: hosted - version: "2.3.1" - shared_preferences_android: - dependency: transitive - description: - name: shared_preferences_android - sha256: a7e8467e9181cef109f601e3f65765685786c1a738a83d7fbbde377589c0d974 - url: "https://pub.dev" - source: hosted - version: "2.3.1" - shared_preferences_foundation: - dependency: transitive - description: - name: shared_preferences_foundation - sha256: "776786cff96324851b656777648f36ac772d88bc4c669acff97b7fce5de3c849" - url: "https://pub.dev" - source: hosted - version: "2.5.1" - shared_preferences_linux: - dependency: transitive - description: - name: shared_preferences_linux - sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - shared_preferences_platform_interface: - dependency: transitive - description: - name: shared_preferences_platform_interface - sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - shared_preferences_web: - dependency: transitive - description: - name: shared_preferences_web - sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e - url: "https://pub.dev" - source: hosted - version: "2.4.2" - shared_preferences_windows: - dependency: transitive - description: - name: shared_preferences_windows - sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - shelf: - dependency: transitive - description: - name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 - url: "https://pub.dev" - source: hosted - version: "1.4.1" - shelf_web_socket: - dependency: transitive - description: - name: shelf_web_socket - sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" - url: "https://pub.dev" - source: hosted - version: "2.0.0" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_gen: - dependency: transitive - description: - name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" - url: "https://pub.dev" - source: hosted - version: "1.5.0" - source_helper: - dependency: transitive - description: - name: source_helper - sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd" - url: "https://pub.dev" - source: hosted - version: "1.3.4" - source_span: - dependency: transitive - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - sprintf: - dependency: transitive - description: - name: sprintf - sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" - url: "https://pub.dev" - source: hosted - version: "7.0.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" - source: hosted - version: "1.11.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" - source: hosted - version: "2.1.2" - stream_transform: - dependency: transitive - description: - name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - synchronized: - dependency: transitive - description: - name: synchronized - sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" - url: "https://pub.dev" - source: hosted - version: "3.1.0+1" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" - url: "https://pub.dev" - source: hosted - version: "0.7.2" - timing: - dependency: transitive - description: - name: timing - sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" - url: "https://pub.dev" - source: hosted - version: "1.0.1" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - unicons: - dependency: "direct main" - description: - name: unicons - sha256: "1cca7462df18ff191b7e41b52f747d08854916531d1d7ab7cec0552095995206" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - url_launcher: - dependency: "direct main" - description: - name: url_launcher - sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" - url: "https://pub.dev" - source: hosted - version: "6.3.0" - url_launcher_android: - dependency: transitive - description: - name: url_launcher_android - sha256: "94d8ad05f44c6d4e2ffe5567ab4d741b82d62e3c8e288cc1fcea45965edf47c9" - url: "https://pub.dev" - source: hosted - version: "6.3.8" - url_launcher_ios: - dependency: transitive - description: - name: url_launcher_ios - sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e - url: "https://pub.dev" - source: hosted - version: "6.3.1" - url_launcher_linux: - dependency: transitive - description: - name: url_launcher_linux - sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af - url: "https://pub.dev" - source: hosted - version: "3.2.0" - url_launcher_macos: - dependency: transitive - description: - name: url_launcher_macos - sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" - url: "https://pub.dev" - source: hosted - version: "3.2.0" - url_launcher_platform_interface: - dependency: transitive - description: - name: url_launcher_platform_interface - sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" - url: "https://pub.dev" - source: hosted - version: "2.3.2" - url_launcher_web: - dependency: transitive - description: - name: url_launcher_web - sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" - url: "https://pub.dev" - source: hosted - version: "2.3.3" - url_launcher_windows: - dependency: transitive - description: - name: url_launcher_windows - sha256: "49c10f879746271804767cb45551ec5592cdab00ee105c06dddde1a98f73b185" - url: "https://pub.dev" - source: hosted - version: "3.1.2" - uuid: - dependency: "direct main" - description: - name: uuid - sha256: "83d37c7ad7aaf9aa8e275490669535c8080377cfa7a7004c24dfac53afffaa90" - url: "https://pub.dev" - source: hosted - version: "4.4.2" - vector_graphics: - dependency: transitive - description: - name: vector_graphics - sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3" - url: "https://pub.dev" - source: hosted - version: "1.1.11+1" - vector_graphics_codec: - dependency: transitive - description: - name: vector_graphics_codec - sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da - url: "https://pub.dev" - source: hosted - version: "1.1.11+1" - vector_graphics_compiler: - dependency: transitive - description: - name: vector_graphics_compiler - sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81" - url: "https://pub.dev" - source: hosted - version: "1.1.11+1" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - version: - dependency: "direct main" - description: - name: version - sha256: "3d4140128e6ea10d83da32fef2fa4003fccbf6852217bb854845802f04191f94" - url: "https://pub.dev" - source: hosted - version: "3.0.2" - visibility_detector: - dependency: transitive - description: - name: visibility_detector - sha256: dd5cc11e13494f432d15939c3aa8ae76844c42b723398643ce9addb88a5ed420 - url: "https://pub.dev" - source: hosted - version: "0.4.0+2" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" - url: "https://pub.dev" - source: hosted - version: "14.2.5" - watcher: - dependency: transitive - description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - web: - dependency: transitive - description: - name: web - sha256: d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062 - url: "https://pub.dev" - source: hosted - version: "1.0.0" - web_socket: - dependency: transitive - description: - name: web_socket - sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" - url: "https://pub.dev" - source: hosted - version: "0.1.6" - web_socket_channel: - dependency: transitive - description: - name: web_socket_channel - sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f" - url: "https://pub.dev" - source: hosted - version: "3.0.1" - win32: - dependency: transitive - description: - name: win32 - sha256: "015002c060f1ae9f41a818f2d5640389cc05283e368be19dc8d77cecb43c40c9" - url: "https://pub.dev" - source: hosted - version: "5.5.3" - xdg_directories: - dependency: transitive - description: - name: xdg_directories - sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d - url: "https://pub.dev" - source: hosted - version: "1.0.4" - xml: - dependency: transitive - description: - name: xml - sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 - url: "https://pub.dev" - source: hosted - version: "6.5.0" - yaml: - dependency: transitive - description: - name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.dev" - source: hosted - version: "3.1.2" -sdks: - dart: ">=3.5.0 <4.0.0" - flutter: ">=3.24.0" diff --git a/calcupiano/pubspec.yaml b/calcupiano/pubspec.yaml deleted file mode 100644 index b52510f..0000000 --- a/calcupiano/pubspec.yaml +++ /dev/null @@ -1,146 +0,0 @@ -name: calcupiano -description: A multiplatform calculator-based piano. - -# The following line prevents the package from being accidentally published to -# pub.dev using `flutter pub publish`. This is preferred for private packages. -publish_to: 'none' # Remove this line if you wish to publish to pub.dev - -# The following defines the version and build number for your application. -# A version number is three numbers separated by dots, like 1.2.43 -# followed by an optional build number separated by a +. -# Both the version and the builder number may be overridden in flutter -# build by specifying --build-name and --build-number, respectively. -# In Android, build-name is used as versionName while build-number used as versionCode. -# Read more about Android versioning at https://developer.android.com/studio/publish/versioning -# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. -# Read more about iOS versioning at -# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -# In Windows, build-name is used as the major, minor, and patch parts -# of the product and file versions while build-number is used as the build suffix. -version: 1.0.0+1 - -environment: - sdk: '>=3.5.0 <4.0.0' - flutter: ^3.24.0 - -# Dependencies specify other packages that your package needs in order to work. -# To automatically upgrade your package dependencies to the latest versions -# consider running `flutter pub upgrade --major-versions`. Alternatively, -# dependencies can be manually updated by changing the version numbers below to -# the latest version available on pub.dev. To see which dependencies have newer -# versions available, run `flutter pub outdated`. -dependencies: - flutter: - sdk: flutter - - - # The following adds the Cupertino Icons font to your application. - # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.2 - hive: ^2.2.3 - flutter_hooks: ^0.20.5 - rettulf: ^2.1.1 - audioplayers: ^6.1.0 - auto_size_text: ^3.0.0 - event_bus: ^2.0.0 - path_provider: ^2.1.4 - provider: ^6.0.5 - animations: ^2.0.7 - hive_flutter: ^1.1.0 - json_serializable: ^6.5.4 - json_annotation: ^4.7.0 - url_launcher: ^6.1.7 - version: ^3.0.2 - logger: ^2.4.0 - file_picker: ^8.1.2 - pull_down_button: ^0.10.1 - archive: ^3.3.5 - loading_animation_widget: ^1.2.0+4 - collection: ^1.16.0 - path: ^1.8.2 - uuid: ^4.4.2 - flutter_screenutil: ^5.9.0 - package_info_plus: ^8.0.2 - auto_animated: ^3.1.0 - dio: ^5.6.0 - flutter_staggered_grid_view: ^0.7.0 - sanitize_filename: ^1.0.4 - quiver: ^3.2.1 - share_plus: ^10.0.2 - modal_bottom_sheet: ^3.0.0-pre - image_picker: ^1.1.2 - flutter_svg: ^2.0.10+1 - easy_localization: ^3.0.1 - markdown: ^7.2.2 - flutter_markdown: ^0.7.3+1 - unicons: ^2.1.0 - google_fonts: ^6.2.1 - jconverter: - git: - url: https://github.com/liplum/DartPackage.git - path: jconverter - platform_safe_func: - git: - url: https://github.com/liplum/DartPackage.git - path: platform_safe_func - - flame_audio: ^2.10.2 -dev_dependencies: - flutter_test: - sdk: flutter - - # The "flutter_lints" package below contains a set of recommended lints to - # encourage good coding practices. The lint set provided by the package is - # activated in the `analysis_options.yaml` file located at the root of your - # package. See that file for information about deactivating specific lint - # rules and activating additional ones. - flutter_lints: ^4.0.0 - hive_generator: ^2.0.0 - build_runner: ^2.4.12 - -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter packages. -flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. - uses-material-design: true - - assets: - - assets/ - - assets/google_fonts/ - - assets/about.md - - assets/soundpack/default/ - - assets/soundpack/default_long_tone/ - - assets/soundpack/classic/ - - assets/img/ - - assets/l10n/ - - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/assets-and-images/#resolution-aware - - # For details regarding adding assets from package dependencies, see - # https://flutter.dev/assets-and-images/#from-packages - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages diff --git a/calcupiano/test/convert_test.dart b/calcupiano/test/convert_test.dart deleted file mode 100644 index 79a303c..0000000 --- a/calcupiano/test/convert_test.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:calcupiano/foundation.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:jconverter/jconverter.dart'; - -void main() { - group("Test", () { - test("toJson", () { - initConverter(); - const local = LocalSoundFile(localPath: '/usr/liplum/soundpack/1.wav'); - final res = Converter.toJson(local); - assert(res != null); - assert(res!.contains(LocalSoundFile.type)); - }); - test("fromJson", () { - initConverter(); - const json = - '{"localPath":"/usr/liplum/soundpack/1.wav","@type":"calcupiano.LocalSoundFile","@version":1}'; - final res = Converter.fromJson(json); - assert(res != null); - assert(res!.localPath == "/usr/liplum/soundpack/1.wav"); - }); - test("polymorphism", () { - initConverter(); - const list = [ - BundledSoundFile(path: "assets/default/1.wav"), - LocalSoundFile(localPath: '/usr/liplum/soundpack/1.wav'), - ]; - final res = Converter.toJson(list); - assert(res != null); - assert(res!.contains("/usr/liplum/soundpack/1.wav")); - final restored = Converter.fromJson(res); - assert(restored != null); - assert(restored![1] is LocalSoundFile); - assert((restored![1] as LocalSoundFile).localPath == - "/usr/liplum/soundpack/1.wav"); - }); - test("migration", () { - const json = - '[{"path":"default/1.wav","@type":"calcupiano.BundledSoundFile","@version":1},{"localPath":"/usr/liplum/soundpack/1.wav","@type":"calcupiano.LocalSoundFile","@version":1}]'; - initConverter(); - Converter.enableMigration = true; - Converter.migrate("calcupiano.BundledSoundFile", (origin, oldVersion) { - if (oldVersion == 1) { - origin["path"] = "MIGRATED"; - } - return origin; - }); - final restored = Converter.fromJson(json); - assert(restored != null); - assert(restored![0] is BundledSoundFile); - assert((restored![0] as BundledSoundFile).path == "MIGRATED"); - }); - }); - group("Stuff", () { - test("Test generic inheritance checking", () { - assert(isSubtype() == false); - assert(isSubtype() == true); - }); - }); -} diff --git a/calcupiano/web/index.html b/calcupiano/web/index.html deleted file mode 100644 index b423647..0000000 --- a/calcupiano/web/index.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - calcupiano - - - - - - - - - - - diff --git a/calcupiano/windows/.gitignore b/calcupiano/windows/.gitignore deleted file mode 100644 index d492d0d..0000000 --- a/calcupiano/windows/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -flutter/ephemeral/ - -# Visual Studio user-specific files. -*.suo -*.user -*.userosscache -*.sln.docstates - -# Visual Studio build-related files. -x64/ -x86/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ diff --git a/calcupiano/windows/CMakeLists.txt b/calcupiano/windows/CMakeLists.txt deleted file mode 100644 index fbf13c2..0000000 --- a/calcupiano/windows/CMakeLists.txt +++ /dev/null @@ -1,101 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.14) -project(calcupiano LANGUAGES CXX) - -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. -set(BINARY_NAME "calcupiano") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(SET CMP0063 NEW) - -# Define build configuration option. -get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) -if(IS_MULTICONFIG) - set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" - CACHE STRING "" FORCE) -else() - if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") - endif() -endif() -# Define settings for the Profile build mode. -set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") -set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") -set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") -set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") - -# Use Unicode for all projects. -add_definitions(-DUNICODE -D_UNICODE) - -# Compilation settings that should be applied to most targets. -# -# Be cautious about adding new options here, as plugins use this function by -# default. In most cases, you should add new options to specific targets instead -# of modifying this function. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_17) - target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") - target_compile_options(${TARGET} PRIVATE /EHsc) - target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") - target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# Application build; see runner/CMakeLists.txt. -add_subdirectory("runner") - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# Support files are copied into place next to the executable, so that it can -# run in place. This is done instead of making a separate bundle (as on Linux) -# so that building and running from within Visual Studio will work. -set(BUILD_BUNDLE_DIR "$") -# Make the "install" step default, as it's required to run. -set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -if(PLUGIN_BUNDLED_LIBRARIES) - install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() - -# Fully re-copy the assets directory on each build to avoid having stale files -# from a previous install. -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - CONFIGURATIONS Profile;Release - COMPONENT Runtime) diff --git a/calcupiano/windows/flutter/CMakeLists.txt b/calcupiano/windows/flutter/CMakeLists.txt deleted file mode 100644 index 903f489..0000000 --- a/calcupiano/windows/flutter/CMakeLists.txt +++ /dev/null @@ -1,109 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.14) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. -set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") - -# Set fallback configurations for older versions of the flutter tool. -if (NOT DEFINED FLUTTER_TARGET_PLATFORM) - set(FLUTTER_TARGET_PLATFORM "windows-x64") -endif() - -# === Flutter Library === -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "flutter_export.h" - "flutter_windows.h" - "flutter_messenger.h" - "flutter_plugin_registrar.h" - "flutter_texture_registrar.h" -) -list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") -add_dependencies(flutter flutter_assemble) - -# === Wrapper === -list(APPEND CPP_WRAPPER_SOURCES_CORE - "core_implementations.cc" - "standard_codec.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_PLUGIN - "plugin_registrar.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_APP - "flutter_engine.cc" - "flutter_view_controller.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") - -# Wrapper sources needed for a plugin. -add_library(flutter_wrapper_plugin STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} -) -apply_standard_settings(flutter_wrapper_plugin) -set_target_properties(flutter_wrapper_plugin PROPERTIES - POSITION_INDEPENDENT_CODE ON) -set_target_properties(flutter_wrapper_plugin PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) -target_include_directories(flutter_wrapper_plugin PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_plugin flutter_assemble) - -# Wrapper sources needed for the runner. -add_library(flutter_wrapper_app STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_APP} -) -apply_standard_settings(flutter_wrapper_app) -target_link_libraries(flutter_wrapper_app PUBLIC flutter) -target_include_directories(flutter_wrapper_app PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_app flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") -set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} - ${PHONY_OUTPUT} - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" - ${FLUTTER_TARGET_PLATFORM} $ - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} -) diff --git a/calcupiano/windows/flutter/generated_plugin_registrant.cc b/calcupiano/windows/flutter/generated_plugin_registrant.cc deleted file mode 100644 index 17b2834..0000000 --- a/calcupiano/windows/flutter/generated_plugin_registrant.cc +++ /dev/null @@ -1,23 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#include "generated_plugin_registrant.h" - -#include -#include -#include -#include - -void RegisterPlugins(flutter::PluginRegistry* registry) { - AudioplayersWindowsPluginRegisterWithRegistrar( - registry->GetRegistrarForPlugin("AudioplayersWindowsPlugin")); - FileSelectorWindowsRegisterWithRegistrar( - registry->GetRegistrarForPlugin("FileSelectorWindows")); - SharePlusWindowsPluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("SharePlusWindowsPluginCApi")); - UrlLauncherWindowsRegisterWithRegistrar( - registry->GetRegistrarForPlugin("UrlLauncherWindows")); -} diff --git a/calcupiano/windows/flutter/generated_plugin_registrant.h b/calcupiano/windows/flutter/generated_plugin_registrant.h deleted file mode 100644 index dc139d8..0000000 --- a/calcupiano/windows/flutter/generated_plugin_registrant.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#ifndef GENERATED_PLUGIN_REGISTRANT_ -#define GENERATED_PLUGIN_REGISTRANT_ - -#include - -// Registers Flutter plugins. -void RegisterPlugins(flutter::PluginRegistry* registry); - -#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/calcupiano/windows/flutter/generated_plugins.cmake b/calcupiano/windows/flutter/generated_plugins.cmake deleted file mode 100644 index d76c82a..0000000 --- a/calcupiano/windows/flutter/generated_plugins.cmake +++ /dev/null @@ -1,27 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST - audioplayers_windows - file_selector_windows - share_plus - url_launcher_windows -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/calcupiano/windows/runner/CMakeLists.txt b/calcupiano/windows/runner/CMakeLists.txt deleted file mode 100644 index 17411a8..0000000 --- a/calcupiano/windows/runner/CMakeLists.txt +++ /dev/null @@ -1,39 +0,0 @@ -cmake_minimum_required(VERSION 3.14) -project(runner LANGUAGES CXX) - -# Define the application target. To change its name, change BINARY_NAME in the -# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer -# work. -# -# Any new source files that you add to the application should be added here. -add_executable(${BINARY_NAME} WIN32 - "flutter_window.cpp" - "main.cpp" - "utils.cpp" - "win32_window.cpp" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" - "Runner.rc" - "runner.exe.manifest" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add preprocessor definitions for the build version. -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") - -# Disable Windows macros that collide with C++ standard library functions. -target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") - -# Add dependency libraries and include directories. Add any application-specific -# dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) -target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/calcupiano/windows/runner/Runner.rc b/calcupiano/windows/runner/Runner.rc deleted file mode 100644 index 6354da6..0000000 --- a/calcupiano/windows/runner/Runner.rc +++ /dev/null @@ -1,121 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#pragma code_page(65001) -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APP_ICON ICON "resources\\app_icon.ico" - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) -#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD -#else -#define VERSION_AS_NUMBER 1,0,0,0 -#endif - -#if defined(FLUTTER_VERSION) -#define VERSION_AS_STRING FLUTTER_VERSION -#else -#define VERSION_AS_STRING "1.0.0" -#endif - -VS_VERSION_INFO VERSIONINFO - FILEVERSION VERSION_AS_NUMBER - PRODUCTVERSION VERSION_AS_NUMBER - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG -#else - FILEFLAGS 0x0L -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "net.liplum" "\0" - VALUE "FileDescription", "calcupiano" "\0" - VALUE "FileVersion", VERSION_AS_STRING "\0" - VALUE "InternalName", "calcupiano" "\0" - VALUE "LegalCopyright", "Copyright (C) 2022 net.liplum. All rights reserved." "\0" - VALUE "OriginalFilename", "calcupiano.exe" "\0" - VALUE "ProductName", "calcupiano" "\0" - VALUE "ProductVersion", VERSION_AS_STRING "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED diff --git a/calcupiano/windows/runner/flutter_window.cpp b/calcupiano/windows/runner/flutter_window.cpp deleted file mode 100644 index b43b909..0000000 --- a/calcupiano/windows/runner/flutter_window.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include "flutter_window.h" - -#include - -#include "flutter/generated_plugin_registrant.h" - -FlutterWindow::FlutterWindow(const flutter::DartProject& project) - : project_(project) {} - -FlutterWindow::~FlutterWindow() {} - -bool FlutterWindow::OnCreate() { - if (!Win32Window::OnCreate()) { - return false; - } - - RECT frame = GetClientArea(); - - // The size here must match the window dimensions to avoid unnecessary surface - // creation / destruction in the startup path. - flutter_controller_ = std::make_unique( - frame.right - frame.left, frame.bottom - frame.top, project_); - // Ensure that basic setup of the controller was successful. - if (!flutter_controller_->engine() || !flutter_controller_->view()) { - return false; - } - RegisterPlugins(flutter_controller_->engine()); - SetChildContent(flutter_controller_->view()->GetNativeWindow()); - return true; -} - -void FlutterWindow::OnDestroy() { - if (flutter_controller_) { - flutter_controller_ = nullptr; - } - - Win32Window::OnDestroy(); -} - -LRESULT -FlutterWindow::MessageHandler(HWND hwnd, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - // Give Flutter, including plugins, an opportunity to handle window messages. - if (flutter_controller_) { - std::optional result = - flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, - lparam); - if (result) { - return *result; - } - } - - switch (message) { - case WM_FONTCHANGE: - flutter_controller_->engine()->ReloadSystemFonts(); - break; - } - - return Win32Window::MessageHandler(hwnd, message, wparam, lparam); -} diff --git a/calcupiano/windows/runner/flutter_window.h b/calcupiano/windows/runner/flutter_window.h deleted file mode 100644 index 6da0652..0000000 --- a/calcupiano/windows/runner/flutter_window.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef RUNNER_FLUTTER_WINDOW_H_ -#define RUNNER_FLUTTER_WINDOW_H_ - -#include -#include - -#include - -#include "win32_window.h" - -// A window that does nothing but host a Flutter view. -class FlutterWindow : public Win32Window { - public: - // Creates a new FlutterWindow hosting a Flutter view running |project|. - explicit FlutterWindow(const flutter::DartProject& project); - virtual ~FlutterWindow(); - - protected: - // Win32Window: - bool OnCreate() override; - void OnDestroy() override; - LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, - LPARAM const lparam) noexcept override; - - private: - // The project to run. - flutter::DartProject project_; - - // The Flutter instance hosted by this window. - std::unique_ptr flutter_controller_; -}; - -#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/calcupiano/windows/runner/main.cpp b/calcupiano/windows/runner/main.cpp deleted file mode 100644 index c331adb..0000000 --- a/calcupiano/windows/runner/main.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include -#include -#include - -#include "flutter_window.h" -#include "utils.h" - -int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, - _In_ wchar_t *command_line, _In_ int show_command) { - // Attach to console when present (e.g., 'flutter run') or create a - // new console when running with a debugger. - if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { - CreateAndAttachConsole(); - } - - // Initialize COM, so that it is available for use in the library and/or - // plugins. - ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); - - flutter::DartProject project(L"data"); - - std::vector command_line_arguments = - GetCommandLineArguments(); - - project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); - - FlutterWindow window(project); - Win32Window::Point origin(10, 10); - Win32Window::Size size(1280, 720); - if (!window.CreateAndShow(L"calcupiano", origin, size)) { - return EXIT_FAILURE; - } - window.SetQuitOnClose(true); - - ::MSG msg; - while (::GetMessage(&msg, nullptr, 0, 0)) { - ::TranslateMessage(&msg); - ::DispatchMessage(&msg); - } - - ::CoUninitialize(); - return EXIT_SUCCESS; -} diff --git a/calcupiano/windows/runner/resource.h b/calcupiano/windows/runner/resource.h deleted file mode 100644 index 66a65d1..0000000 --- a/calcupiano/windows/runner/resource.h +++ /dev/null @@ -1,16 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Runner.rc -// -#define IDI_APP_ICON 101 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/calcupiano/windows/runner/resources/app_icon.ico b/calcupiano/windows/runner/resources/app_icon.ico deleted file mode 100644 index c04e20caf6370ebb9253ad831cc31de4a9c965f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33772 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 diff --git a/calcupiano/windows/runner/runner.exe.manifest b/calcupiano/windows/runner/runner.exe.manifest deleted file mode 100644 index a42ea76..0000000 --- a/calcupiano/windows/runner/runner.exe.manifest +++ /dev/null @@ -1,20 +0,0 @@ - - - - - PerMonitorV2 - - - - - - - - - - - - - - - diff --git a/calcupiano/windows/runner/utils.cpp b/calcupiano/windows/runner/utils.cpp deleted file mode 100644 index f5bf9fa..0000000 --- a/calcupiano/windows/runner/utils.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include "utils.h" - -#include -#include -#include -#include - -#include - -void CreateAndAttachConsole() { - if (::AllocConsole()) { - FILE *unused; - if (freopen_s(&unused, "CONOUT$", "w", stdout)) { - _dup2(_fileno(stdout), 1); - } - if (freopen_s(&unused, "CONOUT$", "w", stderr)) { - _dup2(_fileno(stdout), 2); - } - std::ios::sync_with_stdio(); - FlutterDesktopResyncOutputStreams(); - } -} - -std::vector GetCommandLineArguments() { - // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. - int argc; - wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); - if (argv == nullptr) { - return std::vector(); - } - - std::vector command_line_arguments; - - // Skip the first argument as it's the binary name. - for (int i = 1; i < argc; i++) { - command_line_arguments.push_back(Utf8FromUtf16(argv[i])); - } - - ::LocalFree(argv); - - return command_line_arguments; -} - -std::string Utf8FromUtf16(const wchar_t* utf16_string) { - if (utf16_string == nullptr) { - return std::string(); - } - int target_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, - -1, nullptr, 0, nullptr, nullptr); - std::string utf8_string; - if (target_length == 0 || target_length > utf8_string.max_size()) { - return utf8_string; - } - utf8_string.resize(target_length); - int converted_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, - -1, utf8_string.data(), - target_length, nullptr, nullptr); - if (converted_length == 0) { - return std::string(); - } - return utf8_string; -} diff --git a/calcupiano/windows/runner/utils.h b/calcupiano/windows/runner/utils.h deleted file mode 100644 index 3879d54..0000000 --- a/calcupiano/windows/runner/utils.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef RUNNER_UTILS_H_ -#define RUNNER_UTILS_H_ - -#include -#include - -// Creates a console for the process, and redirects stdout and stderr to -// it for both the runner and the Flutter library. -void CreateAndAttachConsole(); - -// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string -// encoded in UTF-8. Returns an empty std::string on failure. -std::string Utf8FromUtf16(const wchar_t* utf16_string); - -// Gets the command line arguments passed in as a std::vector, -// encoded in UTF-8. Returns an empty std::vector on failure. -std::vector GetCommandLineArguments(); - -#endif // RUNNER_UTILS_H_ diff --git a/calcupiano/windows/runner/win32_window.cpp b/calcupiano/windows/runner/win32_window.cpp deleted file mode 100644 index c10f08d..0000000 --- a/calcupiano/windows/runner/win32_window.cpp +++ /dev/null @@ -1,245 +0,0 @@ -#include "win32_window.h" - -#include - -#include "resource.h" - -namespace { - -constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; - -// The number of Win32Window objects that currently exist. -static int g_active_window_count = 0; - -using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); - -// Scale helper to convert logical scaler values to physical using passed in -// scale factor -int Scale(int source, double scale_factor) { - return static_cast(source * scale_factor); -} - -// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. -// This API is only needed for PerMonitor V1 awareness mode. -void EnableFullDpiSupportIfAvailable(HWND hwnd) { - HMODULE user32_module = LoadLibraryA("User32.dll"); - if (!user32_module) { - return; - } - auto enable_non_client_dpi_scaling = - reinterpret_cast( - GetProcAddress(user32_module, "EnableNonClientDpiScaling")); - if (enable_non_client_dpi_scaling != nullptr) { - enable_non_client_dpi_scaling(hwnd); - FreeLibrary(user32_module); - } -} - -} // namespace - -// Manages the Win32Window's window class registration. -class WindowClassRegistrar { - public: - ~WindowClassRegistrar() = default; - - // Returns the singleton registar instance. - static WindowClassRegistrar* GetInstance() { - if (!instance_) { - instance_ = new WindowClassRegistrar(); - } - return instance_; - } - - // Returns the name of the window class, registering the class if it hasn't - // previously been registered. - const wchar_t* GetWindowClass(); - - // Unregisters the window class. Should only be called if there are no - // instances of the window. - void UnregisterWindowClass(); - - private: - WindowClassRegistrar() = default; - - static WindowClassRegistrar* instance_; - - bool class_registered_ = false; -}; - -WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; - -const wchar_t* WindowClassRegistrar::GetWindowClass() { - if (!class_registered_) { - WNDCLASS window_class{}; - window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); - window_class.lpszClassName = kWindowClassName; - window_class.style = CS_HREDRAW | CS_VREDRAW; - window_class.cbClsExtra = 0; - window_class.cbWndExtra = 0; - window_class.hInstance = GetModuleHandle(nullptr); - window_class.hIcon = - LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); - window_class.hbrBackground = 0; - window_class.lpszMenuName = nullptr; - window_class.lpfnWndProc = Win32Window::WndProc; - RegisterClass(&window_class); - class_registered_ = true; - } - return kWindowClassName; -} - -void WindowClassRegistrar::UnregisterWindowClass() { - UnregisterClass(kWindowClassName, nullptr); - class_registered_ = false; -} - -Win32Window::Win32Window() { - ++g_active_window_count; -} - -Win32Window::~Win32Window() { - --g_active_window_count; - Destroy(); -} - -bool Win32Window::CreateAndShow(const std::wstring& title, - const Point& origin, - const Size& size) { - Destroy(); - - const wchar_t* window_class = - WindowClassRegistrar::GetInstance()->GetWindowClass(); - - const POINT target_point = {static_cast(origin.x), - static_cast(origin.y)}; - HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); - UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); - double scale_factor = dpi / 96.0; - - HWND window = CreateWindow( - window_class, title.c_str(), WS_OVERLAPPEDWINDOW | WS_VISIBLE, - Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), - Scale(size.width, scale_factor), Scale(size.height, scale_factor), - nullptr, nullptr, GetModuleHandle(nullptr), this); - - if (!window) { - return false; - } - - return OnCreate(); -} - -// static -LRESULT CALLBACK Win32Window::WndProc(HWND const window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - if (message == WM_NCCREATE) { - auto window_struct = reinterpret_cast(lparam); - SetWindowLongPtr(window, GWLP_USERDATA, - reinterpret_cast(window_struct->lpCreateParams)); - - auto that = static_cast(window_struct->lpCreateParams); - EnableFullDpiSupportIfAvailable(window); - that->window_handle_ = window; - } else if (Win32Window* that = GetThisFromHandle(window)) { - return that->MessageHandler(window, message, wparam, lparam); - } - - return DefWindowProc(window, message, wparam, lparam); -} - -LRESULT -Win32Window::MessageHandler(HWND hwnd, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - switch (message) { - case WM_DESTROY: - window_handle_ = nullptr; - Destroy(); - if (quit_on_close_) { - PostQuitMessage(0); - } - return 0; - - case WM_DPICHANGED: { - auto newRectSize = reinterpret_cast(lparam); - LONG newWidth = newRectSize->right - newRectSize->left; - LONG newHeight = newRectSize->bottom - newRectSize->top; - - SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, - newHeight, SWP_NOZORDER | SWP_NOACTIVATE); - - return 0; - } - case WM_SIZE: { - RECT rect = GetClientArea(); - if (child_content_ != nullptr) { - // Size and position the child window. - MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, - rect.bottom - rect.top, TRUE); - } - return 0; - } - - case WM_ACTIVATE: - if (child_content_ != nullptr) { - SetFocus(child_content_); - } - return 0; - } - - return DefWindowProc(window_handle_, message, wparam, lparam); -} - -void Win32Window::Destroy() { - OnDestroy(); - - if (window_handle_) { - DestroyWindow(window_handle_); - window_handle_ = nullptr; - } - if (g_active_window_count == 0) { - WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); - } -} - -Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { - return reinterpret_cast( - GetWindowLongPtr(window, GWLP_USERDATA)); -} - -void Win32Window::SetChildContent(HWND content) { - child_content_ = content; - SetParent(content, window_handle_); - RECT frame = GetClientArea(); - - MoveWindow(content, frame.left, frame.top, frame.right - frame.left, - frame.bottom - frame.top, true); - - SetFocus(child_content_); -} - -RECT Win32Window::GetClientArea() { - RECT frame; - GetClientRect(window_handle_, &frame); - return frame; -} - -HWND Win32Window::GetHandle() { - return window_handle_; -} - -void Win32Window::SetQuitOnClose(bool quit_on_close) { - quit_on_close_ = quit_on_close; -} - -bool Win32Window::OnCreate() { - // No-op; provided for subclasses. - return true; -} - -void Win32Window::OnDestroy() { - // No-op; provided for subclasses. -} diff --git a/calcupiano/windows/runner/win32_window.h b/calcupiano/windows/runner/win32_window.h deleted file mode 100644 index 17ba431..0000000 --- a/calcupiano/windows/runner/win32_window.h +++ /dev/null @@ -1,98 +0,0 @@ -#ifndef RUNNER_WIN32_WINDOW_H_ -#define RUNNER_WIN32_WINDOW_H_ - -#include - -#include -#include -#include - -// A class abstraction for a high DPI-aware Win32 Window. Intended to be -// inherited from by classes that wish to specialize with custom -// rendering and input handling -class Win32Window { - public: - struct Point { - unsigned int x; - unsigned int y; - Point(unsigned int x, unsigned int y) : x(x), y(y) {} - }; - - struct Size { - unsigned int width; - unsigned int height; - Size(unsigned int width, unsigned int height) - : width(width), height(height) {} - }; - - Win32Window(); - virtual ~Win32Window(); - - // Creates and shows a win32 window with |title| and position and size using - // |origin| and |size|. New windows are created on the default monitor. Window - // sizes are specified to the OS in physical pixels, hence to ensure a - // consistent size to will treat the width height passed in to this function - // as logical pixels and scale to appropriate for the default monitor. Returns - // true if the window was created successfully. - bool CreateAndShow(const std::wstring& title, - const Point& origin, - const Size& size); - - // Release OS resources associated with window. - void Destroy(); - - // Inserts |content| into the window tree. - void SetChildContent(HWND content); - - // Returns the backing Window handle to enable clients to set icon and other - // window properties. Returns nullptr if the window has been destroyed. - HWND GetHandle(); - - // If true, closing this window will quit the application. - void SetQuitOnClose(bool quit_on_close); - - // Return a RECT representing the bounds of the current client area. - RECT GetClientArea(); - - protected: - // Processes and route salient window messages for mouse handling, - // size change and DPI. Delegates handling of these to member overloads that - // inheriting classes can handle. - virtual LRESULT MessageHandler(HWND window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Called when CreateAndShow is called, allowing subclass window-related - // setup. Subclasses should return false if setup fails. - virtual bool OnCreate(); - - // Called when Destroy is called. - virtual void OnDestroy(); - - private: - friend class WindowClassRegistrar; - - // OS callback called by message pump. Handles the WM_NCCREATE message which - // is passed when the non-client area is being created and enables automatic - // non-client DPI scaling so that the non-client area automatically - // responsponds to changes in DPI. All other messages are handled by - // MessageHandler. - static LRESULT CALLBACK WndProc(HWND const window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Retrieves a class instance pointer for |window| - static Win32Window* GetThisFromHandle(HWND const window) noexcept; - - bool quit_on_close_ = false; - - // window handle for top level window. - HWND window_handle_ = nullptr; - - // window handle for hosted content. - HWND child_content_ = nullptr; -}; - -#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/canvaskit/canvaskit.js b/canvaskit/canvaskit.js new file mode 100644 index 0000000..5d15fad --- /dev/null +++ b/canvaskit/canvaskit.js @@ -0,0 +1,217 @@ + +var CanvasKitInit = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(moduleArg = {}) { + +var r=moduleArg,aa,ba;r.ready=new Promise((a,b)=>{aa=a;ba=b}); +(function(a){a.Md=a.Md||[];a.Md.push(function(){a.MakeSWCanvasSurface=function(b){var c=b,d="undefined"!==typeof OffscreenCanvas&&c instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&c instanceof HTMLCanvasElement||d||(c=document.getElementById(b),c)))throw"Canvas with id "+b+" was not found";if(b=a.MakeSurface(c.width,c.height))b.me=c;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,c){var d={width:b,height:c,colorType:a.ColorType.RGBA_8888, +alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB},f=b*c*4,k=a._malloc(f);if(d=a.Surface._makeRasterDirect(d,k,4*b))d.me=null,d.Ue=b,d.Re=c,d.Se=f,d.xe=k,d.getCanvas().clear(a.TRANSPARENT);return d};a.MakeRasterDirectSurface=function(b,c,d){return a.Surface._makeRasterDirect(b,c.byteOffset,d)};a.Surface.prototype.flush=function(b){a.Jd(this.Id);this._flush();if(this.me){var c=new Uint8ClampedArray(a.HEAPU8.buffer,this.xe,this.Se);c=new ImageData(c,this.Ue,this.Re);b?this.me.getContext("2d").putImageData(c, +0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.me.getContext("2d").putImageData(c,0,0)}};a.Surface.prototype.dispose=function(){this.xe&&a._free(this.xe);this.delete()};a.Jd=a.Jd||function(){};a.ne=a.ne||function(){return null}})})(r); +(function(a){a.Md=a.Md||[];a.Md.push(function(){function b(m,p,w){return m&&m.hasOwnProperty(p)?m[p]:w}function c(m){var p=da(ea);ea[p]=m;return p}function d(m){return m.naturalHeight||m.videoHeight||m.displayHeight||m.height}function f(m){return m.naturalWidth||m.videoWidth||m.displayWidth||m.width}function k(m,p,w,y){m.bindTexture(m.TEXTURE_2D,p);y||w.alphaType!==a.AlphaType.Premul||m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);return p}function l(m,p,w){w||p.alphaType!==a.AlphaType.Premul|| +m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);m.bindTexture(m.TEXTURE_2D,null)}a.GetWebGLContext=function(m,p){if(!m)throw"null canvas passed into makeWebGLContext";var w={alpha:b(p,"alpha",1),depth:b(p,"depth",1),stencil:b(p,"stencil",8),antialias:b(p,"antialias",0),premultipliedAlpha:b(p,"premultipliedAlpha",1),preserveDrawingBuffer:b(p,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(p,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(p,"failIfMajorPerformanceCaveat", +0),enableExtensionsByDefault:b(p,"enableExtensionsByDefault",1),explicitSwapControl:b(p,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(p,"renderViaOffscreenBackBuffer",0)};w.majorVersion=p&&p.majorVersion?p.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(w.explicitSwapControl)throw"explicitSwapControl is not supported";m=fa(m,w);if(!m)return 0;ha(m);v.Ud.getExtension("WEBGL_debug_renderer_info");return m};a.deleteContext=function(m){v===ia[m]&&(v=null);"object"==typeof JSEvents&& +JSEvents.yf(ia[m].Ud.canvas);ia[m]&&ia[m].Ud.canvas&&(ia[m].Ud.canvas.Oe=void 0);ia[m]=null};a._setTextureCleanup({deleteTexture:function(m,p){var w=ea[p];w&&ia[m].Ud.deleteTexture(w);ea[p]=null}});a.MakeWebGLContext=function(m){if(!this.Jd(m))return null;var p=this._MakeGrContext();if(!p)return null;p.Id=m;var w=p.delete.bind(p);p["delete"]=function(){a.Jd(this.Id);w()}.bind(p);return v.ze=p};a.MakeGrContext=a.MakeWebGLContext;a.GrDirectContext.prototype.getResourceCacheLimitBytes=function(){a.Jd(this.Id); +this._getResourceCacheLimitBytes()};a.GrDirectContext.prototype.getResourceCacheUsageBytes=function(){a.Jd(this.Id);this._getResourceCacheUsageBytes()};a.GrDirectContext.prototype.releaseResourcesAndAbandonContext=function(){a.Jd(this.Id);this._releaseResourcesAndAbandonContext()};a.GrDirectContext.prototype.setResourceCacheLimitBytes=function(m){a.Jd(this.Id);this._setResourceCacheLimitBytes(m)};a.MakeOnScreenGLSurface=function(m,p,w,y,B,D){if(!this.Jd(m.Id))return null;p=void 0===B||void 0===D? +this._MakeOnScreenGLSurface(m,p,w,y):this._MakeOnScreenGLSurface(m,p,w,y,B,D);if(!p)return null;p.Id=m.Id;return p};a.MakeRenderTarget=function(){var m=arguments[0];if(!this.Jd(m.Id))return null;if(3===arguments.length){var p=this._MakeRenderTargetWH(m,arguments[1],arguments[2]);if(!p)return null}else if(2===arguments.length){if(p=this._MakeRenderTargetII(m,arguments[1]),!p)return null}else return null;p.Id=m.Id;return p};a.MakeWebGLCanvasSurface=function(m,p,w){p=p||null;var y=m,B="undefined"!== +typeof OffscreenCanvas&&y instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&y instanceof HTMLCanvasElement||B||(y=document.getElementById(m),y)))throw"Canvas with id "+m+" was not found";m=this.GetWebGLContext(y,w);if(!m||0>m)throw"failed to create webgl context: err "+m;m=this.MakeWebGLContext(m);p=this.MakeOnScreenGLSurface(m,y.width,y.height,p);return p?p:(p=y.cloneNode(!0),y.parentNode.replaceChild(p,y),p.classList.add("ck-replaced"),a.MakeSWCanvasSurface(p))};a.MakeCanvasSurface= +a.MakeWebGLCanvasSurface;a.Surface.prototype.makeImageFromTexture=function(m,p){a.Jd(this.Id);m=c(m);if(p=this._makeImageFromTexture(this.Id,m,p))p.he=m;return p};a.Surface.prototype.makeImageFromTextureSource=function(m,p,w){p||(p={height:d(m),width:f(m),colorType:a.ColorType.RGBA_8888,alphaType:w?a.AlphaType.Premul:a.AlphaType.Unpremul});p.colorSpace||(p.colorSpace=a.ColorSpace.SRGB);a.Jd(this.Id);var y=v.Ud;w=k(y,y.createTexture(),p,w);2===v.version?y.texImage2D(y.TEXTURE_2D,0,y.RGBA,p.width,p.height, +0,y.RGBA,y.UNSIGNED_BYTE,m):y.texImage2D(y.TEXTURE_2D,0,y.RGBA,y.RGBA,y.UNSIGNED_BYTE,m);l(y,p);this._resetContext();return this.makeImageFromTexture(w,p)};a.Surface.prototype.updateTextureFromSource=function(m,p,w){if(m.he){a.Jd(this.Id);var y=m.getImageInfo(),B=v.Ud,D=k(B,ea[m.he],y,w);2===v.version?B.texImage2D(B.TEXTURE_2D,0,B.RGBA,f(p),d(p),0,B.RGBA,B.UNSIGNED_BYTE,p):B.texImage2D(B.TEXTURE_2D,0,B.RGBA,B.RGBA,B.UNSIGNED_BYTE,p);l(B,y,w);this._resetContext();ea[m.he]=null;m.he=c(D);y.colorSpace= +m.getColorSpace();p=this._makeImageFromTexture(this.Id,m.he,y);w=m.kd.Kd;B=m.kd.Pd;m.kd.Kd=p.kd.Kd;m.kd.Pd=p.kd.Pd;p.kd.Kd=w;p.kd.Pd=B;p.delete();y.colorSpace.delete()}};a.MakeLazyImageFromTextureSource=function(m,p,w){p||(p={height:d(m),width:f(m),colorType:a.ColorType.RGBA_8888,alphaType:w?a.AlphaType.Premul:a.AlphaType.Unpremul});p.colorSpace||(p.colorSpace=a.ColorSpace.SRGB);var y={makeTexture:function(){var B=v,D=B.Ud,u=k(D,D.createTexture(),p,w);2===B.version?D.texImage2D(D.TEXTURE_2D,0,D.RGBA, +p.width,p.height,0,D.RGBA,D.UNSIGNED_BYTE,m):D.texImage2D(D.TEXTURE_2D,0,D.RGBA,D.RGBA,D.UNSIGNED_BYTE,m);l(D,p,w);return c(u)},freeSrc:function(){}};"VideoFrame"===m.constructor.name&&(y.freeSrc=function(){m.close()});return a.Image._makeFromGenerator(p,y)};a.Jd=function(m){return m?ha(m):!1};a.ne=function(){return v&&v.ze&&!v.ze.isDeleted()?v.ze:null}})})(r); +(function(a){function b(g){return(f(255*g[3])<<24|f(255*g[0])<<16|f(255*g[1])<<8|f(255*g[2])<<0)>>>0}function c(g){if(g&&g._ck)return g;if(g instanceof Float32Array){for(var e=Math.floor(g.length/4),h=new Uint32Array(e),n=0;nz;z++)a.HEAPF32[t+n]=g[x][z],n++;g=h}else g=M;e.Rd=g}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof g;return e}function p(g){if(!g)return M;var e=T.toTypedArray();if(g.length){if(6===g.length||9===g.length)return l(g,"HEAPF32",H),6===g.length&&a.HEAPF32.set(fd,6+H/4),H;if(16===g.length)return e[0]=g[0],e[1]=g[1],e[2]=g[3],e[3]=g[4],e[4]=g[5],e[5]=g[7],e[6]=g[12],e[7]=g[13],e[8]=g[15],H;throw"invalid matrix size"; +}if(void 0===g.m11)throw"invalid matrix argument";e[0]=g.m11;e[1]=g.m21;e[2]=g.m41;e[3]=g.m12;e[4]=g.m22;e[5]=g.m42;e[6]=g.m14;e[7]=g.m24;e[8]=g.m44;return H}function w(g){if(!g)return M;var e=Y.toTypedArray();if(g.length){if(16!==g.length&&6!==g.length&&9!==g.length)throw"invalid matrix size";if(16===g.length)return l(g,"HEAPF32",ca);e.fill(0);e[0]=g[0];e[1]=g[1];e[3]=g[2];e[4]=g[3];e[5]=g[4];e[7]=g[5];e[10]=1;e[12]=g[6];e[13]=g[7];e[15]=g[8];6===g.length&&(e[12]=0,e[13]=0,e[15]=1);return ca}if(void 0=== +g.m11)throw"invalid matrix argument";e[0]=g.m11;e[1]=g.m21;e[2]=g.m31;e[3]=g.m41;e[4]=g.m12;e[5]=g.m22;e[6]=g.m32;e[7]=g.m42;e[8]=g.m13;e[9]=g.m23;e[10]=g.m33;e[11]=g.m43;e[12]=g.m14;e[13]=g.m24;e[14]=g.m34;e[15]=g.m44;return ca}function y(g,e){return l(g,"HEAPF32",e||va)}function B(g,e,h,n){var t=Ma.toTypedArray();t[0]=g;t[1]=e;t[2]=h;t[3]=n;return va}function D(g){for(var e=new Float32Array(4),h=0;4>h;h++)e[h]=a.HEAPF32[g/4+h];return e}function u(g,e){return l(g,"HEAPF32",e||X)}function F(g,e){return l(g, +"HEAPF32",e||Eb)}a.Color=function(g,e,h,n){void 0===n&&(n=1);return a.Color4f(f(g)/255,f(e)/255,f(h)/255,n)};a.ColorAsInt=function(g,e,h,n){void 0===n&&(n=255);return(f(n)<<24|f(g)<<16|f(e)<<8|f(h)<<0&268435455)>>>0};a.Color4f=function(g,e,h,n){void 0===n&&(n=1);return Float32Array.of(g,e,h,n)};Object.defineProperty(a,"TRANSPARENT",{get:function(){return a.Color4f(0,0,0,0)}});Object.defineProperty(a,"BLACK",{get:function(){return a.Color4f(0,0,0,1)}});Object.defineProperty(a,"WHITE",{get:function(){return a.Color4f(1, +1,1,1)}});Object.defineProperty(a,"RED",{get:function(){return a.Color4f(1,0,0,1)}});Object.defineProperty(a,"GREEN",{get:function(){return a.Color4f(0,1,0,1)}});Object.defineProperty(a,"BLUE",{get:function(){return a.Color4f(0,0,1,1)}});Object.defineProperty(a,"YELLOW",{get:function(){return a.Color4f(1,1,0,1)}});Object.defineProperty(a,"CYAN",{get:function(){return a.Color4f(0,1,1,1)}});Object.defineProperty(a,"MAGENTA",{get:function(){return a.Color4f(1,0,1,1)}});a.getColorComponents=function(g){return[Math.floor(255* +g[0]),Math.floor(255*g[1]),Math.floor(255*g[2]),g[3]]};a.parseColorString=function(g,e){g=g.toLowerCase();if(g.startsWith("#")){e=255;switch(g.length){case 9:e=parseInt(g.slice(7,9),16);case 7:var h=parseInt(g.slice(1,3),16);var n=parseInt(g.slice(3,5),16);var t=parseInt(g.slice(5,7),16);break;case 5:e=17*parseInt(g.slice(4,5),16);case 4:h=17*parseInt(g.slice(1,2),16),n=17*parseInt(g.slice(2,3),16),t=17*parseInt(g.slice(3,4),16)}return a.Color(h,n,t,e/255)}return g.startsWith("rgba")?(g=g.slice(5, +-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],d(g[3]))):g.startsWith("rgb")?(g=g.slice(4,-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],d(g[3]))):g.startsWith("gray(")||g.startsWith("hsl")||!e||(g=e[g],void 0===g)?a.BLACK:g};a.multiplyByAlpha=function(g,e){g=g.slice();g[3]=Math.max(0,Math.min(g[3]*e,1));return g};a.Malloc=function(g,e){var h=a._malloc(e*g.BYTES_PER_ELEMENT);return{_ck:!0,length:e,byteOffset:h,be:null,subarray:function(n,t){n=this.toTypedArray().subarray(n,t);n._ck=!0;return n},toTypedArray:function(){if(this.be&& +this.be.length)return this.be;this.be=new g(a.HEAPU8.buffer,h,e);this.be._ck=!0;return this.be}}};a.Free=function(g){a._free(g.byteOffset);g.byteOffset=M;g.toTypedArray=null;g.be=null};var H=M,T,ca=M,Y,va=M,Ma,na,X=M,fc,Ba=M,gc,Fb=M,hc,Gb=M,hb,Sa=M,ic,Eb=M,jc,kc=M,fd=Float32Array.of(0,0,1),M=0;a.onRuntimeInitialized=function(){function g(e,h,n,t,x,z,E){z||(z=4*t.width,t.colorType===a.ColorType.RGBA_F16?z*=2:t.colorType===a.ColorType.RGBA_F32&&(z*=4));var J=z*t.height;var I=x?x.byteOffset:a._malloc(J); +if(E?!e._readPixels(t,I,z,h,n,E):!e._readPixels(t,I,z,h,n))return x||a._free(I),null;if(x)return x.toTypedArray();switch(t.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:e=(new Uint8Array(a.HEAPU8.buffer,I,J)).slice();break;case a.ColorType.RGBA_F32:e=(new Float32Array(a.HEAPU8.buffer,I,J)).slice();break;default:return null}a._free(I);return e}Ma=a.Malloc(Float32Array,4);va=Ma.byteOffset;Y=a.Malloc(Float32Array,16);ca=Y.byteOffset;T=a.Malloc(Float32Array,9);H=T.byteOffset;ic=a.Malloc(Float32Array, +12);Eb=ic.byteOffset;jc=a.Malloc(Float32Array,12);kc=jc.byteOffset;na=a.Malloc(Float32Array,4);X=na.byteOffset;fc=a.Malloc(Float32Array,4);Ba=fc.byteOffset;gc=a.Malloc(Float32Array,3);Fb=gc.byteOffset;hc=a.Malloc(Float32Array,3);Gb=hc.byteOffset;hb=a.Malloc(Int32Array,4);Sa=hb.byteOffset;a.ColorSpace.SRGB=a.ColorSpace._MakeSRGB();a.ColorSpace.DISPLAY_P3=a.ColorSpace._MakeDisplayP3();a.ColorSpace.ADOBE_RGB=a.ColorSpace._MakeAdobeRGB();a.GlyphRunFlags={IsWhiteSpace:a._GlyphRunFlags_isWhiteSpace};a.Path.MakeFromCmds= +function(e){var h=l(e,"HEAPF32"),n=a.Path._MakeFromCmds(h,e.length);k(h,e);return n};a.Path.MakeFromVerbsPointsWeights=function(e,h,n){var t=l(e,"HEAPU8"),x=l(h,"HEAPF32"),z=l(n,"HEAPF32"),E=a.Path._MakeFromVerbsPointsWeights(t,e.length,x,h.length,z,n&&n.length||0);k(t,e);k(x,h);k(z,n);return E};a.Path.prototype.addArc=function(e,h,n){e=u(e);this._addArc(e,h,n);return this};a.Path.prototype.addCircle=function(e,h,n,t){this._addCircle(e,h,n,!!t);return this};a.Path.prototype.addOval=function(e,h,n){void 0=== +n&&(n=1);e=u(e);this._addOval(e,!!h,n);return this};a.Path.prototype.addPath=function(){var e=Array.prototype.slice.call(arguments),h=e[0],n=!1;"boolean"===typeof e[e.length-1]&&(n=e.pop());if(1===e.length)this._addPath(h,1,0,0,0,1,0,0,0,1,n);else if(2===e.length)e=e[1],this._addPath(h,e[0],e[1],e[2],e[3],e[4],e[5],e[6]||0,e[7]||0,e[8]||1,n);else if(7===e.length||10===e.length)this._addPath(h,e[1],e[2],e[3],e[4],e[5],e[6],e[7]||0,e[8]||0,e[9]||1,n);else return null;return this};a.Path.prototype.addPoly= +function(e,h){var n=l(e,"HEAPF32");this._addPoly(n,e.length/2,h);k(n,e);return this};a.Path.prototype.addRect=function(e,h){e=u(e);this._addRect(e,!!h);return this};a.Path.prototype.addRRect=function(e,h){e=F(e);this._addRRect(e,!!h);return this};a.Path.prototype.addVerbsPointsWeights=function(e,h,n){var t=l(e,"HEAPU8"),x=l(h,"HEAPF32"),z=l(n,"HEAPF32");this._addVerbsPointsWeights(t,e.length,x,h.length,z,n&&n.length||0);k(t,e);k(x,h);k(z,n)};a.Path.prototype.arc=function(e,h,n,t,x,z){e=a.LTRBRect(e- +n,h-n,e+n,h+n);x=(x-t)/Math.PI*180-360*!!z;z=new a.Path;z.addArc(e,t/Math.PI*180,x);this.addPath(z,!0);z.delete();return this};a.Path.prototype.arcToOval=function(e,h,n,t){e=u(e);this._arcToOval(e,h,n,t);return this};a.Path.prototype.arcToRotated=function(e,h,n,t,x,z,E){this._arcToRotated(e,h,n,!!t,!!x,z,E);return this};a.Path.prototype.arcToTangent=function(e,h,n,t,x){this._arcToTangent(e,h,n,t,x);return this};a.Path.prototype.close=function(){this._close();return this};a.Path.prototype.conicTo= +function(e,h,n,t,x){this._conicTo(e,h,n,t,x);return this};a.Path.prototype.computeTightBounds=function(e){this._computeTightBounds(X);var h=na.toTypedArray();return e?(e.set(h),e):h.slice()};a.Path.prototype.cubicTo=function(e,h,n,t,x,z){this._cubicTo(e,h,n,t,x,z);return this};a.Path.prototype.dash=function(e,h,n){return this._dash(e,h,n)?this:null};a.Path.prototype.getBounds=function(e){this._getBounds(X);var h=na.toTypedArray();return e?(e.set(h),e):h.slice()};a.Path.prototype.lineTo=function(e, +h){this._lineTo(e,h);return this};a.Path.prototype.moveTo=function(e,h){this._moveTo(e,h);return this};a.Path.prototype.offset=function(e,h){this._transform(1,0,e,0,1,h,0,0,1);return this};a.Path.prototype.quadTo=function(e,h,n,t){this._quadTo(e,h,n,t);return this};a.Path.prototype.rArcTo=function(e,h,n,t,x,z,E){this._rArcTo(e,h,n,t,x,z,E);return this};a.Path.prototype.rConicTo=function(e,h,n,t,x){this._rConicTo(e,h,n,t,x);return this};a.Path.prototype.rCubicTo=function(e,h,n,t,x,z){this._rCubicTo(e, +h,n,t,x,z);return this};a.Path.prototype.rLineTo=function(e,h){this._rLineTo(e,h);return this};a.Path.prototype.rMoveTo=function(e,h){this._rMoveTo(e,h);return this};a.Path.prototype.rQuadTo=function(e,h,n,t){this._rQuadTo(e,h,n,t);return this};a.Path.prototype.stroke=function(e){e=e||{};e.width=e.width||1;e.miter_limit=e.miter_limit||4;e.cap=e.cap||a.StrokeCap.Butt;e.join=e.join||a.StrokeJoin.Miter;e.precision=e.precision||1;return this._stroke(e)?this:null};a.Path.prototype.transform=function(){if(1=== +arguments.length){var e=arguments[0];this._transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6]||0,e[7]||0,e[8]||1)}else if(6===arguments.length||9===arguments.length)e=arguments,this._transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6]||0,e[7]||0,e[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.Path.prototype.trim=function(e,h,n){return this._trim(e,h,!!n)?this:null};a.Image.prototype.encodeToBytes=function(e,h){var n=a.ne();e=e||a.ImageFormat.PNG;h=h||100; +return n?this._encodeToBytes(e,h,n):this._encodeToBytes(e,h)};a.Image.prototype.makeShaderCubic=function(e,h,n,t,x){x=p(x);return this._makeShaderCubic(e,h,n,t,x)};a.Image.prototype.makeShaderOptions=function(e,h,n,t,x){x=p(x);return this._makeShaderOptions(e,h,n,t,x)};a.Image.prototype.readPixels=function(e,h,n,t,x){var z=a.ne();return g(this,e,h,n,t,x,z)};a.Canvas.prototype.clear=function(e){a.Jd(this.Id);e=y(e);this._clear(e)};a.Canvas.prototype.clipRRect=function(e,h,n){a.Jd(this.Id);e=F(e);this._clipRRect(e, +h,n)};a.Canvas.prototype.clipRect=function(e,h,n){a.Jd(this.Id);e=u(e);this._clipRect(e,h,n)};a.Canvas.prototype.concat=function(e){a.Jd(this.Id);e=w(e);this._concat(e)};a.Canvas.prototype.drawArc=function(e,h,n,t,x){a.Jd(this.Id);e=u(e);this._drawArc(e,h,n,t,x)};a.Canvas.prototype.drawAtlas=function(e,h,n,t,x,z,E){if(e&&t&&h&&n&&h.length===n.length){a.Jd(this.Id);x||(x=a.BlendMode.SrcOver);var J=l(h,"HEAPF32"),I=l(n,"HEAPF32"),U=n.length/4,V=l(c(z),"HEAPU32");if(E&&"B"in E&&"C"in E)this._drawAtlasCubic(e, +I,J,V,U,x,E.B,E.C,t);else{let q=a.FilterMode.Linear,A=a.MipmapMode.None;E&&(q=E.filter,"mipmap"in E&&(A=E.mipmap));this._drawAtlasOptions(e,I,J,V,U,x,q,A,t)}k(J,h);k(I,n);k(V,z)}};a.Canvas.prototype.drawCircle=function(e,h,n,t){a.Jd(this.Id);this._drawCircle(e,h,n,t)};a.Canvas.prototype.drawColor=function(e,h){a.Jd(this.Id);e=y(e);void 0!==h?this._drawColor(e,h):this._drawColor(e)};a.Canvas.prototype.drawColorInt=function(e,h){a.Jd(this.Id);this._drawColorInt(e,h||a.BlendMode.SrcOver)};a.Canvas.prototype.drawColorComponents= +function(e,h,n,t,x){a.Jd(this.Id);e=B(e,h,n,t);void 0!==x?this._drawColor(e,x):this._drawColor(e)};a.Canvas.prototype.drawDRRect=function(e,h,n){a.Jd(this.Id);e=F(e,Eb);h=F(h,kc);this._drawDRRect(e,h,n)};a.Canvas.prototype.drawImage=function(e,h,n,t){a.Jd(this.Id);this._drawImage(e,h,n,t||null)};a.Canvas.prototype.drawImageCubic=function(e,h,n,t,x,z){a.Jd(this.Id);this._drawImageCubic(e,h,n,t,x,z||null)};a.Canvas.prototype.drawImageOptions=function(e,h,n,t,x,z){a.Jd(this.Id);this._drawImageOptions(e, +h,n,t,x,z||null)};a.Canvas.prototype.drawImageNine=function(e,h,n,t,x){a.Jd(this.Id);h=l(h,"HEAP32",Sa);n=u(n);this._drawImageNine(e,h,n,t,x||null)};a.Canvas.prototype.drawImageRect=function(e,h,n,t,x){a.Jd(this.Id);u(h,X);u(n,Ba);this._drawImageRect(e,X,Ba,t,!!x)};a.Canvas.prototype.drawImageRectCubic=function(e,h,n,t,x,z){a.Jd(this.Id);u(h,X);u(n,Ba);this._drawImageRectCubic(e,X,Ba,t,x,z||null)};a.Canvas.prototype.drawImageRectOptions=function(e,h,n,t,x,z){a.Jd(this.Id);u(h,X);u(n,Ba);this._drawImageRectOptions(e, +X,Ba,t,x,z||null)};a.Canvas.prototype.drawLine=function(e,h,n,t,x){a.Jd(this.Id);this._drawLine(e,h,n,t,x)};a.Canvas.prototype.drawOval=function(e,h){a.Jd(this.Id);e=u(e);this._drawOval(e,h)};a.Canvas.prototype.drawPaint=function(e){a.Jd(this.Id);this._drawPaint(e)};a.Canvas.prototype.drawParagraph=function(e,h,n){a.Jd(this.Id);this._drawParagraph(e,h,n)};a.Canvas.prototype.drawPatch=function(e,h,n,t,x){if(24>e.length)throw"Need 12 cubic points";if(h&&4>h.length)throw"Need 4 colors";if(n&&8>n.length)throw"Need 4 shader coordinates"; +a.Jd(this.Id);const z=l(e,"HEAPF32"),E=h?l(c(h),"HEAPU32"):M,J=n?l(n,"HEAPF32"):M;t||(t=a.BlendMode.Modulate);this._drawPatch(z,E,J,t,x);k(J,n);k(E,h);k(z,e)};a.Canvas.prototype.drawPath=function(e,h){a.Jd(this.Id);this._drawPath(e,h)};a.Canvas.prototype.drawPicture=function(e){a.Jd(this.Id);this._drawPicture(e)};a.Canvas.prototype.drawPoints=function(e,h,n){a.Jd(this.Id);var t=l(h,"HEAPF32");this._drawPoints(e,t,h.length/2,n);k(t,h)};a.Canvas.prototype.drawRRect=function(e,h){a.Jd(this.Id);e=F(e); +this._drawRRect(e,h)};a.Canvas.prototype.drawRect=function(e,h){a.Jd(this.Id);e=u(e);this._drawRect(e,h)};a.Canvas.prototype.drawRect4f=function(e,h,n,t,x){a.Jd(this.Id);this._drawRect4f(e,h,n,t,x)};a.Canvas.prototype.drawShadow=function(e,h,n,t,x,z,E){a.Jd(this.Id);var J=l(x,"HEAPF32"),I=l(z,"HEAPF32");h=l(h,"HEAPF32",Fb);n=l(n,"HEAPF32",Gb);this._drawShadow(e,h,n,t,J,I,E);k(J,x);k(I,z)};a.getShadowLocalBounds=function(e,h,n,t,x,z,E){e=p(e);n=l(n,"HEAPF32",Fb);t=l(t,"HEAPF32",Gb);if(!this._getShadowLocalBounds(e, +h,n,t,x,z,X))return null;h=na.toTypedArray();return E?(E.set(h),E):h.slice()};a.Canvas.prototype.drawTextBlob=function(e,h,n,t){a.Jd(this.Id);this._drawTextBlob(e,h,n,t)};a.Canvas.prototype.drawVertices=function(e,h,n){a.Jd(this.Id);this._drawVertices(e,h,n)};a.Canvas.prototype.getDeviceClipBounds=function(e){this._getDeviceClipBounds(Sa);var h=hb.toTypedArray();e?e.set(h):e=h.slice();return e};a.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(ca);for(var e=ca,h=Array(16),n=0;16> +n;n++)h[n]=a.HEAPF32[e/4+n];return h};a.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(H);for(var e=Array(9),h=0;9>h;h++)e[h]=a.HEAPF32[H/4+h];return e};a.Canvas.prototype.makeSurface=function(e){e=this._makeSurface(e);e.Id=this.Id;return e};a.Canvas.prototype.readPixels=function(e,h,n,t,x){a.Jd(this.Id);return g(this,e,h,n,t,x)};a.Canvas.prototype.saveLayer=function(e,h,n,t){h=u(h);return this._saveLayer(e||null,h,n||null,t||0)};a.Canvas.prototype.writePixels=function(e,h,n,t,x, +z,E,J){if(e.byteLength%(h*n))throw"pixels length must be a multiple of the srcWidth * srcHeight";a.Jd(this.Id);var I=e.byteLength/(h*n);z=z||a.AlphaType.Unpremul;E=E||a.ColorType.RGBA_8888;J=J||a.ColorSpace.SRGB;var U=I*h;I=l(e,"HEAPU8");h=this._writePixels({width:h,height:n,colorType:E,alphaType:z,colorSpace:J},I,U,t,x);k(I,e);return h};a.ColorFilter.MakeBlend=function(e,h,n){e=y(e);n=n||a.ColorSpace.SRGB;return a.ColorFilter._MakeBlend(e,h,n)};a.ColorFilter.MakeMatrix=function(e){if(!e||20!==e.length)throw"invalid color matrix"; +var h=l(e,"HEAPF32"),n=a.ColorFilter._makeMatrix(h);k(h,e);return n};a.ContourMeasure.prototype.getPosTan=function(e,h){this._getPosTan(e,X);e=na.toTypedArray();return h?(h.set(e),h):e.slice()};a.ImageFilter.prototype.getOutputBounds=function(e,h,n){e=u(e,X);h=p(h);this._getOutputBounds(e,h,Sa);h=hb.toTypedArray();return n?(n.set(h),n):h.slice()};a.ImageFilter.MakeDropShadow=function(e,h,n,t,x,z){x=y(x,va);return a.ImageFilter._MakeDropShadow(e,h,n,t,x,z)};a.ImageFilter.MakeDropShadowOnly=function(e, +h,n,t,x,z){x=y(x,va);return a.ImageFilter._MakeDropShadowOnly(e,h,n,t,x,z)};a.ImageFilter.MakeImage=function(e,h,n,t){n=u(n,X);t=u(t,Ba);if("B"in h&&"C"in h)return a.ImageFilter._MakeImageCubic(e,h.B,h.C,n,t);const x=h.filter;let z=a.MipmapMode.None;"mipmap"in h&&(z=h.mipmap);return a.ImageFilter._MakeImageOptions(e,x,z,n,t)};a.ImageFilter.MakeMatrixTransform=function(e,h,n){e=p(e);if("B"in h&&"C"in h)return a.ImageFilter._MakeMatrixTransformCubic(e,h.B,h.C,n);const t=h.filter;let x=a.MipmapMode.None; +"mipmap"in h&&(x=h.mipmap);return a.ImageFilter._MakeMatrixTransformOptions(e,t,x,n)};a.Paint.prototype.getColor=function(){this._getColor(va);return D(va)};a.Paint.prototype.setColor=function(e,h){h=h||null;e=y(e);this._setColor(e,h)};a.Paint.prototype.setColorComponents=function(e,h,n,t,x){x=x||null;e=B(e,h,n,t);this._setColor(e,x)};a.Path.prototype.getPoint=function(e,h){this._getPoint(e,X);e=na.toTypedArray();return h?(h[0]=e[0],h[1]=e[1],h):e.slice(0,2)};a.Picture.prototype.makeShader=function(e, +h,n,t,x){t=p(t);x=u(x);return this._makeShader(e,h,n,t,x)};a.Picture.prototype.cullRect=function(e){this._cullRect(X);var h=na.toTypedArray();return e?(e.set(h),e):h.slice()};a.PictureRecorder.prototype.beginRecording=function(e,h){e=u(e);return this._beginRecording(e,!!h)};a.Surface.prototype.getCanvas=function(){var e=this._getCanvas();e.Id=this.Id;return e};a.Surface.prototype.makeImageSnapshot=function(e){a.Jd(this.Id);e=l(e,"HEAP32",Sa);return this._makeImageSnapshot(e)};a.Surface.prototype.makeSurface= +function(e){a.Jd(this.Id);e=this._makeSurface(e);e.Id=this.Id;return e};a.Surface.prototype.Te=function(e,h){this.ge||(this.ge=this.getCanvas());return requestAnimationFrame(function(){a.Jd(this.Id);e(this.ge);this.flush(h)}.bind(this))};a.Surface.prototype.requestAnimationFrame||(a.Surface.prototype.requestAnimationFrame=a.Surface.prototype.Te);a.Surface.prototype.Qe=function(e,h){this.ge||(this.ge=this.getCanvas());requestAnimationFrame(function(){a.Jd(this.Id);e(this.ge);this.flush(h);this.dispose()}.bind(this))}; +a.Surface.prototype.drawOnce||(a.Surface.prototype.drawOnce=a.Surface.prototype.Qe);a.PathEffect.MakeDash=function(e,h){h||(h=0);if(!e.length||1===e.length%2)throw"Intervals array must have even length";var n=l(e,"HEAPF32");h=a.PathEffect._MakeDash(n,e.length,h);k(n,e);return h};a.PathEffect.MakeLine2D=function(e,h){h=p(h);return a.PathEffect._MakeLine2D(e,h)};a.PathEffect.MakePath2D=function(e,h){e=p(e);return a.PathEffect._MakePath2D(e,h)};a.Shader.MakeColor=function(e,h){h=h||null;e=y(e);return a.Shader._MakeColor(e, +h)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=a.Shader.MakeColor;a.Shader.MakeLinearGradient=function(e,h,n,t,x,z,E,J){J=J||null;var I=m(n),U=l(t,"HEAPF32");E=E||0;z=p(z);var V=na.toTypedArray();V.set(e);V.set(h,2);e=a.Shader._MakeLinearGradient(X,I.Rd,I.colorType,U,I.count,x,E,z,J);k(I.Rd,n);t&&k(U,t);return e};a.Shader.MakeRadialGradient=function(e,h,n,t,x,z,E,J){J=J||null;var I=m(n),U=l(t,"HEAPF32");E=E||0;z=p(z);e=a.Shader._MakeRadialGradient(e[0],e[1],h,I.Rd,I.colorType,U,I.count,x,E, +z,J);k(I.Rd,n);t&&k(U,t);return e};a.Shader.MakeSweepGradient=function(e,h,n,t,x,z,E,J,I,U){U=U||null;var V=m(n),q=l(t,"HEAPF32");E=E||0;J=J||0;I=I||360;z=p(z);e=a.Shader._MakeSweepGradient(e,h,V.Rd,V.colorType,q,V.count,x,J,I,E,z,U);k(V.Rd,n);t&&k(q,t);return e};a.Shader.MakeTwoPointConicalGradient=function(e,h,n,t,x,z,E,J,I,U){U=U||null;var V=m(x),q=l(z,"HEAPF32");I=I||0;J=p(J);var A=na.toTypedArray();A.set(e);A.set(n,2);e=a.Shader._MakeTwoPointConicalGradient(X,h,t,V.Rd,V.colorType,q,V.count,E, +I,J,U);k(V.Rd,x);z&&k(q,z);return e};a.Vertices.prototype.bounds=function(e){this._bounds(X);var h=na.toTypedArray();return e?(e.set(h),e):h.slice()};a.Md&&a.Md.forEach(function(e){e()})};a.computeTonalColors=function(g){var e=l(g.ambient,"HEAPF32"),h=l(g.spot,"HEAPF32");this._computeTonalColors(e,h);var n={ambient:D(e),spot:D(h)};k(e,g.ambient);k(h,g.spot);return n};a.LTRBRect=function(g,e,h,n){return Float32Array.of(g,e,h,n)};a.XYWHRect=function(g,e,h,n){return Float32Array.of(g,e,g+h,e+n)};a.LTRBiRect= +function(g,e,h,n){return Int32Array.of(g,e,h,n)};a.XYWHiRect=function(g,e,h,n){return Int32Array.of(g,e,g+h,e+n)};a.RRectXY=function(g,e,h){return Float32Array.of(g[0],g[1],g[2],g[3],e,h,e,h,e,h,e,h)};a.MakeAnimatedImageFromEncoded=function(g){g=new Uint8Array(g);var e=a._malloc(g.byteLength);a.HEAPU8.set(g,e);return(g=a._decodeAnimatedImage(e,g.byteLength))?g:null};a.MakeImageFromEncoded=function(g){g=new Uint8Array(g);var e=a._malloc(g.byteLength);a.HEAPU8.set(g,e);return(g=a._decodeImage(e,g.byteLength))? +g:null};var Ta=null;a.MakeImageFromCanvasImageSource=function(g){var e=g.width,h=g.height;Ta||(Ta=document.createElement("canvas"));Ta.width=e;Ta.height=h;var n=Ta.getContext("2d",{willReadFrequently:!0});n.drawImage(g,0,0);g=n.getImageData(0,0,e,h);return a.MakeImage({width:e,height:h,alphaType:a.AlphaType.Unpremul,colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},g.data,4*e)};a.MakeImage=function(g,e,h){var n=a._malloc(e.length);a.HEAPU8.set(e,n);return a._MakeImage(g,n,e.length,h)}; +a.MakeVertices=function(g,e,h,n,t,x){var z=t&&t.length||0,E=0;h&&h.length&&(E|=1);n&&n.length&&(E|=2);void 0===x||x||(E|=4);g=new a._VerticesBuilder(g,e.length/2,z,E);l(e,"HEAPF32",g.positions());g.texCoords()&&l(h,"HEAPF32",g.texCoords());g.colors()&&l(c(n),"HEAPU32",g.colors());g.indices()&&l(t,"HEAPU16",g.indices());return g.detach()};(function(g){g.Md=g.Md||[];g.Md.push(function(){function e(q){q&&(q.dir=0===q.dir?g.TextDirection.RTL:g.TextDirection.LTR);return q}function h(q){if(!q||!q.length)return[]; +for(var A=[],P=0;Pe)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,e);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);return h};a.Font.prototype.getGlyphIntercepts=function(g,e,h,n){var t=l(g,"HEAPU16"),x=l(e,"HEAPF32");return this._getGlyphIntercepts(t, +g.length,!(g&&g._ck),x,e.length,!(e&&e._ck),h,n)};a.Font.prototype.getGlyphWidths=function(g,e,h){var n=l(g,"HEAPU16"),t=a._malloc(4*g.length);this._getGlyphWidthBounds(n,g.length,t,M,e||null);e=new Float32Array(a.HEAPU8.buffer,t,g.length);k(n,g);if(h)return h.set(e),a._free(t),h;g=Float32Array.from(e);a._free(t);return g};a.FontMgr.FromData=function(){if(!arguments.length)return null;var g=arguments;1===g.length&&Array.isArray(g[0])&&(g=arguments[0]);if(!g.length)return null;for(var e=[],h=[],n= +0;ne)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,e);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);return h};a.TextBlob.MakeOnPath=function(g,e,h,n){if(g&&g.length&&e&&e.countPoints()){if(1===e.countPoints())return this.MakeFromText(g,h);n||(n=0);var t=h.getGlyphIDs(g);t=h.getGlyphWidths(t);var x=[];e=new a.ContourMeasureIter(e,!1,1);for(var z=e.next(),E=new Float32Array(4),J=0;Jz.length()){z.delete();z=e.next();if(!z){g=g.substring(0,J);break}n=I/2}z.getPosTan(n,E);var U=E[2],V=E[3];x.push(U,V,E[0]-I/2*U,E[1]-I/2*V);n+=I/2}g=this.MakeFromRSXform(g,x,h);z&&z.delete();e.delete();return g}};a.TextBlob.MakeFromRSXform=function(g,e,h){var n=ja(g)+1,t=a._malloc(n);ka(g,C,t,n);g=l(e,"HEAPF32");h=a.TextBlob._MakeFromRSXform(t,n-1,g,h);a._free(t);return h?h:null};a.TextBlob.MakeFromRSXformGlyphs=function(g,e,h){var n=l(g,"HEAPU16");e=l(e,"HEAPF32"); +h=a.TextBlob._MakeFromRSXformGlyphs(n,2*g.length,e,h);k(n,g);return h?h:null};a.TextBlob.MakeFromGlyphs=function(g,e){var h=l(g,"HEAPU16");e=a.TextBlob._MakeFromGlyphs(h,2*g.length,e);k(h,g);return e?e:null};a.TextBlob.MakeFromText=function(g,e){var h=ja(g)+1,n=a._malloc(h);ka(g,C,n,h);g=a.TextBlob._MakeFromText(n,h-1,e);a._free(n);return g?g:null};a.MallocGlyphIDs=function(g){return a.Malloc(Uint16Array,g)}});a.Md=a.Md||[];a.Md.push(function(){a.MakePicture=function(g){g=new Uint8Array(g);var e= +a._malloc(g.byteLength);a.HEAPU8.set(g,e);return(g=a._MakePicture(e,g.byteLength))?g:null}});a.Md=a.Md||[];a.Md.push(function(){a.RuntimeEffect.Make=function(g,e){return a.RuntimeEffect._Make(g,{onError:e||function(h){console.log("RuntimeEffect error",h)}})};a.RuntimeEffect.MakeForBlender=function(g,e){return a.RuntimeEffect._MakeForBlender(g,{onError:e||function(h){console.log("RuntimeEffect error",h)}})};a.RuntimeEffect.prototype.makeShader=function(g,e){var h=!g._ck,n=l(g,"HEAPF32");e=p(e);return this._makeShader(n, +4*g.length,h,e)};a.RuntimeEffect.prototype.makeShaderWithChildren=function(g,e,h){var n=!g._ck,t=l(g,"HEAPF32");h=p(h);for(var x=[],z=0;z{throw b;},pa="object"==typeof window,ra="function"==typeof importScripts,sa="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,ta="",ua,wa,xa; +if(sa){var fs=require("fs"),ya=require("path");ta=ra?ya.dirname(ta)+"/":__dirname+"/";ua=(a,b)=>{a=a.startsWith("file://")?new URL(a):ya.normalize(a);return fs.readFileSync(a,b?void 0:"utf8")};xa=a=>{a=ua(a,!0);a.buffer||(a=new Uint8Array(a));return a};wa=(a,b,c,d=!0)=>{a=a.startsWith("file://")?new URL(a):ya.normalize(a);fs.readFile(a,d?void 0:"utf8",(f,k)=>{f?c(f):b(d?k.buffer:k)})};!r.thisProgram&&1{process.exitCode= +a;throw b;};r.inspect=()=>"[Emscripten Module object]"}else if(pa||ra)ra?ta=self.location.href:"undefined"!=typeof document&&document.currentScript&&(ta=document.currentScript.src),_scriptDir&&(ta=_scriptDir),0!==ta.indexOf("blob:")?ta=ta.substr(0,ta.replace(/[?#].*/,"").lastIndexOf("/")+1):ta="",ua=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},ra&&(xa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}), +wa=(a,b,c)=>{var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=()=>{200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)};var Aa=r.print||console.log.bind(console),Ca=r.printErr||console.error.bind(console);Object.assign(r,la);la=null;r.thisProgram&&(ma=r.thisProgram);r.quit&&(oa=r.quit);var Da;r.wasmBinary&&(Da=r.wasmBinary);var noExitRuntime=r.noExitRuntime||!0;"object"!=typeof WebAssembly&&Ea("no native wasm support detected"); +var Fa,G,Ga=!1,Ha,C,Ia,Ja,K,L,N,Ka;function La(){var a=Fa.buffer;r.HEAP8=Ha=new Int8Array(a);r.HEAP16=Ia=new Int16Array(a);r.HEAP32=K=new Int32Array(a);r.HEAPU8=C=new Uint8Array(a);r.HEAPU16=Ja=new Uint16Array(a);r.HEAPU32=L=new Uint32Array(a);r.HEAPF32=N=new Float32Array(a);r.HEAPF64=Ka=new Float64Array(a)}var Na,Oa=[],Pa=[],Qa=[];function Ra(){var a=r.preRun.shift();Oa.unshift(a)}var Ua=0,Va=null,Wa=null; +function Ea(a){if(r.onAbort)r.onAbort(a);a="Aborted("+a+")";Ca(a);Ga=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function Xa(a){return a.startsWith("data:application/octet-stream;base64,")}var Ya;Ya="canvaskit.wasm";if(!Xa(Ya)){var Za=Ya;Ya=r.locateFile?r.locateFile(Za,ta):ta+Za}function $a(a){if(a==Ya&&Da)return new Uint8Array(Da);if(xa)return xa(a);throw"both async and sync fetching of the wasm failed";} +function ab(a){if(!Da&&(pa||ra)){if("function"==typeof fetch&&!a.startsWith("file://"))return fetch(a,{credentials:"same-origin"}).then(b=>{if(!b.ok)throw"failed to load wasm binary file at '"+a+"'";return b.arrayBuffer()}).catch(()=>$a(a));if(wa)return new Promise((b,c)=>{wa(a,d=>b(new Uint8Array(d)),c)})}return Promise.resolve().then(()=>$a(a))}function bb(a,b,c){return ab(a).then(d=>WebAssembly.instantiate(d,b)).then(d=>d).then(c,d=>{Ca("failed to asynchronously prepare wasm: "+d);Ea(d)})} +function cb(a,b){var c=Ya;return Da||"function"!=typeof WebAssembly.instantiateStreaming||Xa(c)||c.startsWith("file://")||sa||"function"!=typeof fetch?bb(c,a,b):fetch(c,{credentials:"same-origin"}).then(d=>WebAssembly.instantiateStreaming(d,a).then(b,function(f){Ca("wasm streaming compile failed: "+f);Ca("falling back to ArrayBuffer instantiation");return bb(c,a,b)}))}function db(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}var eb=a=>{for(;0>2]=b};this.we=function(b){L[this.Kd+8>>2]=b};this.Zd=function(b,c){this.ve();this.Pe(b);this.we(c)};this.ve=function(){L[this.Kd+16>>2]=0}} +var gb=0,ib=0,jb="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,kb=(a,b,c)=>{var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}, +lb={};function mb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function nb(a){return this.fromWireType(K[a>>2])}var ob={},pb={},qb={},rb=void 0;function sb(a){throw new rb(a);} +function tb(a,b,c){function d(m){m=c(m);m.length!==a.length&&sb("Mismatched type converter count");for(var p=0;p{pb.hasOwnProperty(m)?f[p]=pb[m]:(k.push(m),ob.hasOwnProperty(m)||(ob[m]=[]),ob[m].push(()=>{f[p]=pb[m];++l;l===k.length&&d(f)}))});0===k.length&&d(f)} +function vb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${a}`);}}var wb=void 0;function O(a){for(var b="";C[a];)b+=wb[C[a++]];return b}var xb=void 0;function Q(a){throw new xb(a);} +function yb(a,b,c={}){var d=b.name;a||Q(`type "${d}" must have a positive integer typeid pointer`);if(pb.hasOwnProperty(a)){if(c.ff)return;Q(`Cannot register type '${d}' twice`)}pb[a]=b;delete qb[a];ob.hasOwnProperty(a)&&(b=ob[a],delete ob[a],b.forEach(f=>f()))}function ub(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");yb(a,b,c)}function zb(a){Q(a.kd.Nd.Ld.name+" instance already deleted")}var Ab=!1;function Bb(){} +function Cb(a){--a.count.value;0===a.count.value&&(a.Pd?a.Td.Xd(a.Pd):a.Nd.Ld.Xd(a.Kd))}function Db(a,b,c){if(b===c)return a;if(void 0===c.Qd)return null;a=Db(a,b,c.Qd);return null===a?null:c.Ye(a)}var Jb={},Kb=[];function Lb(){for(;Kb.length;){var a=Kb.pop();a.kd.ee=!1;a["delete"]()}}var Mb=void 0,Nb={};function Ob(a,b){for(void 0===b&&Q("ptr should not be undefined");a.Qd;)b=a.ke(b),a=a.Qd;return Nb[b]} +function Pb(a,b){b.Nd&&b.Kd||sb("makeClassHandle requires ptr and ptrType");!!b.Td!==!!b.Pd&&sb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Qb(Object.create(a,{kd:{value:b}}))}function Qb(a){if("undefined"===typeof FinalizationRegistry)return Qb=b=>b,a;Ab=new FinalizationRegistry(b=>{Cb(b.kd)});Qb=b=>{var c=b.kd;c.Pd&&Ab.register(b,{kd:c},b);return b};Bb=b=>{Ab.unregister(b)};return Qb(a)}function Rb(){} +function Sb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a}function Tb(a,b){a=Sb(a);return{[a]:function(){return b.apply(this,arguments)}}[a]} +function Ub(a,b,c){if(void 0===a[b].Od){var d=a[b];a[b]=function(){a[b].Od.hasOwnProperty(arguments.length)||Q(`Function '${c}' called with an invalid number of arguments (${arguments.length}) - expects one of (${a[b].Od})!`);return a[b].Od[arguments.length].apply(this,arguments)};a[b].Od=[];a[b].Od[d.ce]=d}} +function Vb(a,b,c){r.hasOwnProperty(a)?((void 0===c||void 0!==r[a].Od&&void 0!==r[a].Od[c])&&Q(`Cannot register public name '${a}' twice`),Ub(r,a,a),r.hasOwnProperty(c)&&Q(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`),r[a].Od[c]=b):(r[a]=b,void 0!==c&&(r[a].xf=c))}function Wb(a,b,c,d,f,k,l,m){this.name=a;this.constructor=b;this.fe=c;this.Xd=d;this.Qd=f;this.af=k;this.ke=l;this.Ye=m;this.kf=[]} +function Xb(a,b,c){for(;b!==c;)b.ke||Q(`Expected null or instance of ${c.name}, got an instance of ${b.name}`),a=b.ke(a),b=b.Qd;return a}function Yb(a,b){if(null===b)return this.Ae&&Q(`null is not a valid ${this.name}`),0;b.kd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.kd.Kd||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);return Xb(b.kd.Kd,b.kd.Nd.Ld,this.Ld)} +function $b(a,b){if(null===b){this.Ae&&Q(`null is not a valid ${this.name}`);if(this.pe){var c=this.Be();null!==a&&a.push(this.Xd,c);return c}return 0}b.kd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.kd.Kd||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);!this.oe&&b.kd.Nd.oe&&Q(`Cannot convert argument of type ${b.kd.Td?b.kd.Td.name:b.kd.Nd.name} to parameter type ${this.name}`);c=Xb(b.kd.Kd,b.kd.Nd.Ld,this.Ld);if(this.pe)switch(void 0===b.kd.Pd&&Q("Passing raw pointer to smart pointer is illegal"), +this.qf){case 0:b.kd.Td===this?c=b.kd.Pd:Q(`Cannot convert argument of type ${b.kd.Td?b.kd.Td.name:b.kd.Nd.name} to parameter type ${this.name}`);break;case 1:c=b.kd.Pd;break;case 2:if(b.kd.Td===this)c=b.kd.Pd;else{var d=b.clone();c=this.lf(c,ac(function(){d["delete"]()}));null!==a&&a.push(this.Xd,c)}break;default:Q("Unsupporting sharing policy")}return c} +function bc(a,b){if(null===b)return this.Ae&&Q(`null is not a valid ${this.name}`),0;b.kd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.kd.Kd||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);b.kd.Nd.oe&&Q(`Cannot convert argument of type ${b.kd.Nd.name} to parameter type ${this.name}`);return Xb(b.kd.Kd,b.kd.Nd.Ld,this.Ld)} +function cc(a,b,c,d,f,k,l,m,p,w,y){this.name=a;this.Ld=b;this.Ae=c;this.oe=d;this.pe=f;this.jf=k;this.qf=l;this.Ke=m;this.Be=p;this.lf=w;this.Xd=y;f||void 0!==b.Qd?this.toWireType=$b:(this.toWireType=d?Yb:bc,this.Sd=null)}function dc(a,b,c){r.hasOwnProperty(a)||sb("Replacing nonexistant public symbol");void 0!==r[a].Od&&void 0!==c?r[a].Od[c]=b:(r[a]=b,r[a].ce=c)} +var ec=(a,b)=>{var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes("j")){var d=r["dynCall_"+a];d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)}else d=Na.get(b).apply(null,c);return d}};function mc(a,b){a=O(a);var c=a.includes("j")?ec(a,b):Na.get(b);"function"!=typeof c&&Q(`unknown function pointer with signature ${a}: ${b}`);return c}var nc=void 0;function oc(a){a=pc(a);var b=O(a);qc(a);return b} +function rc(a,b){function c(k){f[k]||pb[k]||(qb[k]?qb[k].forEach(c):(d.push(k),f[k]=!0))}var d=[],f={};b.forEach(c);throw new nc(`${a}: `+d.map(oc).join([", "]));} +function sc(a,b,c,d,f){var k=b.length;2>k&&Q("argTypes array size mismatch! Must at least get return value and 'this' types!");var l=null!==b[1]&&null!==c,m=!1;for(c=1;c>2]);return c}function uc(){this.Wd=[void 0];this.Ie=[]}var vc=new uc;function wc(a){a>=vc.Zd&&0===--vc.get(a).Le&&vc.we(a)} +var xc=a=>{a||Q("Cannot use deleted val. handle = "+a);return vc.get(a).value},ac=a=>{switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:return vc.ve({Le:1,value:a})}};function yc(a,b,c){switch(b){case 0:return function(d){return this.fromWireType((c?Ha:C)[d])};case 1:return function(d){return this.fromWireType((c?Ia:Ja)[d>>1])};case 2:return function(d){return this.fromWireType((c?K:L)[d>>2])};default:throw new TypeError("Unknown integer type: "+a);}} +function zc(a,b){var c=pb[a];void 0===c&&Q(b+" has unknown type "+oc(a));return c}function Zb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}function Ac(a,b){switch(b){case 2:return function(c){return this.fromWireType(N[c>>2])};case 3:return function(c){return this.fromWireType(Ka[c>>3])};default:throw new TypeError("Unknown float type: "+a);}} +function Bc(a,b,c){switch(b){case 0:return c?function(d){return Ha[d]}:function(d){return C[d]};case 1:return c?function(d){return Ia[d>>1]}:function(d){return Ja[d>>1]};case 2:return c?function(d){return K[d>>2]}:function(d){return L[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}} +var ka=(a,b,c,d)=>{if(!(0=l){var m=a.charCodeAt(++k);l=65536+((l&1023)<<10)|m&1023}if(127>=l){if(c>=d)break;b[c++]=l}else{if(2047>=l){if(c+1>=d)break;b[c++]=192|l>>6}else{if(65535>=l){if(c+2>=d)break;b[c++]=224|l>>12}else{if(c+3>=d)break;b[c++]=240|l>>18;b[c++]=128|l>>12&63}b[c++]=128|l>>6&63}b[c++]=128|l&63}}b[c]=0;return c-f},ja=a=>{for(var b=0,c=0;c=d?b++:2047>= +d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b},Cc="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Dc=(a,b)=>{var c=a>>1;for(var d=c+b/2;!(c>=d)&&Ja[c];)++c;c<<=1;if(32=b/2);++d){var f=Ia[a+2*d>>1];if(0==f)break;c+=String.fromCharCode(f)}return c},Ec=(a,b,c)=>{void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f>1]=a.charCodeAt(f),b+=2;Ia[b>>1]=0;return b-d}, +Fc=a=>2*a.length,Gc=(a,b)=>{for(var c=0,d="";!(c>=b/4);){var f=K[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d},Hc=(a,b,c)=>{void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f=k){var l=a.charCodeAt(++f);k=65536+((k&1023)<<10)|l&1023}K[b>>2]=k;b+=4;if(b+4>c)break}K[b>>2]=0;return b-d},Ic=a=>{for(var b=0,c=0;c=d&&++c;b+=4}return b},Jc={};function Kc(a){var b=Jc[a];return void 0===b?O(a):b}var Lc=[]; +function Mc(){function a(b){b.$$$embind_global$$$=b;var c="object"==typeof $$$embind_global$$$&&b.$$$embind_global$$$==b;c||delete b.$$$embind_global$$$;return c}if("object"==typeof globalThis)return globalThis;if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;"object"==typeof global&&a(global)?$$$embind_global$$$=global:"object"==typeof self&&a(self)&&($$$embind_global$$$=self);if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;throw Error("unable to get global object."); +}function Nc(a){var b=Lc.length;Lc.push(a);return b}function Oc(a,b){for(var c=Array(a),d=0;d>2],"parameter "+d);return c}var Pc=[];function Qc(a){var b=Array(a+1);return function(c,d,f){b[0]=c;for(var k=0;k>2],"parameter "+k);b[k+1]=l.readValueFromPointer(f);f+=l.argPackAdvance}c=new (c.bind.apply(c,b));return ac(c)}}var Rc={}; +function Sc(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,d){b.vertexAttribDivisorANGLE(c,d)},a.drawArraysInstanced=function(c,d,f,k){b.drawArraysInstancedANGLE(c,d,f,k)},a.drawElementsInstanced=function(c,d,f,k,l){b.drawElementsInstancedANGLE(c,d,f,k,l)})} +function Tc(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function Uc(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,d){b.drawBuffersWEBGL(c,d)})} +var Vc=1,Wc=[],Xc=[],Yc=[],Zc=[],ea=[],$c=[],ad=[],ia=[],bd=[],cd=[],dd={},ed={},gd=4;function R(a){hd||(hd=a)}function da(a){for(var b=Vc++,c=a.length;ca.version||!b.Ge)b.Ge=b.getExtension("EXT_disjoint_timer_query");b.wf=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}} +var v,hd,ld={},nd=()=>{if(!md){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ma||"./this.program"},b;for(b in ld)void 0===ld[b]?delete a[b]:a[b]=ld[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);md=c}return md},md,od=[null,[],[]];function pd(a){S.bindVertexArray(ad[a])} +function qd(a,b){for(var c=0;c>2];S.deleteVertexArray(ad[d]);ad[d]=null}}var rd=[];function sd(a,b,c,d){S.drawElements(a,b,c,d)}function td(a,b,c,d){for(var f=0;f>2]=l}}function ud(a,b){td(a,b,"createVertexArray",ad)} +function vd(a,b,c){if(b){var d=void 0;switch(a){case 36346:d=1;break;case 36344:0!=c&&1!=c&&R(1280);return;case 34814:case 36345:d=0;break;case 34466:var f=S.getParameter(34467);d=f?f.length:0;break;case 33309:if(2>v.version){R(1282);return}d=2*(S.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>v.version){R(1280);return}d=33307==a?3:0}if(void 0===d)switch(f=S.getParameter(a),typeof f){case "number":d=f;break;case "boolean":d=f?1:0;break;case "string":R(1280);return;case "object":if(null=== +f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:d=0;break;default:R(1280);return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a>2]=f[a];break;case 2:N[b+4*a>>2]=f[a];break;case 4:Ha[b+a>>0]=f[a]?1:0}return}try{d=f.name|0}catch(k){R(1280); +Ca("GL_INVALID_ENUM in glGet"+c+"v: Unknown object returned from WebGL getParameter("+a+")! (error: "+k+")");return}}break;default:R(1280);Ca("GL_INVALID_ENUM in glGet"+c+"v: Native code calling glGet"+c+"v("+a+") and it returns "+f+" of type "+typeof f+"!");return}switch(c){case 1:c=d;L[b>>2]=c;L[b+4>>2]=(c-L[b>>2])/4294967296;break;case 0:K[b>>2]=d;break;case 2:N[b>>2]=d;break;case 4:Ha[b>>0]=d?1:0}}else R(1281)}var xd=a=>{var b=ja(a)+1,c=wd(b);c&&ka(a,C,c,b);return c}; +function yd(a){return"]"==a.slice(-1)&&a.lastIndexOf("[")}function zd(a){a-=5120;return 0==a?Ha:1==a?C:2==a?Ia:4==a?K:6==a?N:5==a||28922==a||28520==a||30779==a||30782==a?L:Ja}function Ad(a,b,c,d,f){a=zd(a);var k=31-Math.clz32(a.BYTES_PER_ELEMENT),l=gd;return a.subarray(f>>k,f+d*(c*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*(1<>k)} +function W(a){var b=S.We;if(b){var c=b.je[a];"number"==typeof c&&(b.je[a]=c=S.getUniformLocation(b,b.Me[a]+(00===a%4&&(0!==a%100||0===a%400),Ed=[31,29,31,30,31,30,31,31,30,31,30,31],Fd=[31,28,31,30,31,30,31,31,30,31,30,31];function Gd(a){var b=Array(ja(a)+1);ka(a,b,0,b.length);return b} +var Hd=(a,b,c,d)=>{function f(u,F,H){for(u="number"==typeof u?u.toString():u||"";u.lengthca?-1:0T-u.getDate())F-=T-u.getDate()+1,u.setDate(1),11>H?u.setMonth(H+1):(u.setMonth(0),u.setFullYear(u.getFullYear()+1));else{u.setDate(u.getDate()+F);break}}H=new Date(u.getFullYear()+1,0,4);F=m(new Date(u.getFullYear(), +0,4));H=m(H);return 0>=l(F,u)?0>=l(H,u)?u.getFullYear()+1:u.getFullYear():u.getFullYear()-1}var w=K[d+40>>2];d={tf:K[d>>2],sf:K[d+4>>2],te:K[d+8>>2],Ce:K[d+12>>2],ue:K[d+16>>2],ae:K[d+20>>2],Vd:K[d+24>>2],$d:K[d+28>>2],zf:K[d+32>>2],rf:K[d+36>>2],uf:w?w?kb(C,w):"":""};c=c?kb(C,c):"";w={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y", +"%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var y in w)c=c.replace(new RegExp(y,"g"),w[y]);var B="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),D="January February March April May June July August September October November December".split(" ");w={"%a":u=>B[u.Vd].substring(0,3),"%A":u=>B[u.Vd],"%b":u=>D[u.ue].substring(0,3),"%B":u=>D[u.ue],"%C":u=>k((u.ae+1900)/ +100|0,2),"%d":u=>k(u.Ce,2),"%e":u=>f(u.Ce,2," "),"%g":u=>p(u).toString().substring(2),"%G":u=>p(u),"%H":u=>k(u.te,2),"%I":u=>{u=u.te;0==u?u=12:12{for(var F=0,H=0;H<=u.ue-1;F+=(Dd(u.ae+1900)?Ed:Fd)[H++]);return k(u.Ce+F,3)},"%m":u=>k(u.ue+1,2),"%M":u=>k(u.sf,2),"%n":()=>"\n","%p":u=>0<=u.te&&12>u.te?"AM":"PM","%S":u=>k(u.tf,2),"%t":()=>"\t","%u":u=>u.Vd||7,"%U":u=>k(Math.floor((u.$d+7-u.Vd)/7),2),"%V":u=>{var F=Math.floor((u.$d+7-(u.Vd+6)%7)/7);2>=(u.Vd+371-u.$d- +2)%7&&F++;if(F)53==F&&(H=(u.Vd+371-u.$d)%7,4==H||3==H&&Dd(u.ae)||(F=1));else{F=52;var H=(u.Vd+7-u.$d-1)%7;(4==H||5==H&&Dd(u.ae%400-1))&&F++}return k(F,2)},"%w":u=>u.Vd,"%W":u=>k(Math.floor((u.$d+7-(u.Vd+6)%7)/7),2),"%y":u=>(u.ae+1900).toString().substring(2),"%Y":u=>u.ae+1900,"%z":u=>{u=u.rf;var F=0<=u;u=Math.abs(u)/60;return(F?"+":"-")+String("0000"+(u/60*100+u%60)).slice(-4)},"%Z":u=>u.uf,"%%":()=>"%"};c=c.replace(/%%/g,"\x00\x00");for(y in w)c.includes(y)&&(c=c.replace(new RegExp(y,"g"),w[y](d))); +c=c.replace(/\0\0/g,"%");y=Gd(c);if(y.length>b)return 0;Ha.set(y,a);return y.length-1};rb=r.InternalError=class extends Error{constructor(a){super(a);this.name="InternalError"}};for(var Id=Array(256),Jd=0;256>Jd;++Jd)Id[Jd]=String.fromCharCode(Jd);wb=Id;xb=r.BindingError=class extends Error{constructor(a){super(a);this.name="BindingError"}}; +Rb.prototype.isAliasOf=function(a){if(!(this instanceof Rb&&a instanceof Rb))return!1;var b=this.kd.Nd.Ld,c=this.kd.Kd,d=a.kd.Nd.Ld;for(a=a.kd.Kd;b.Qd;)c=b.ke(c),b=b.Qd;for(;d.Qd;)a=d.ke(a),d=d.Qd;return b===d&&c===a}; +Rb.prototype.clone=function(){this.kd.Kd||zb(this);if(this.kd.ie)return this.kd.count.value+=1,this;var a=Qb,b=Object,c=b.create,d=Object.getPrototypeOf(this),f=this.kd;a=a(c.call(b,d,{kd:{value:{count:f.count,ee:f.ee,ie:f.ie,Kd:f.Kd,Nd:f.Nd,Pd:f.Pd,Td:f.Td}}}));a.kd.count.value+=1;a.kd.ee=!1;return a};Rb.prototype["delete"]=function(){this.kd.Kd||zb(this);this.kd.ee&&!this.kd.ie&&Q("Object already scheduled for deletion");Bb(this);Cb(this.kd);this.kd.ie||(this.kd.Pd=void 0,this.kd.Kd=void 0)}; +Rb.prototype.isDeleted=function(){return!this.kd.Kd};Rb.prototype.deleteLater=function(){this.kd.Kd||zb(this);this.kd.ee&&!this.kd.ie&&Q("Object already scheduled for deletion");Kb.push(this);1===Kb.length&&Mb&&Mb(Lb);this.kd.ee=!0;return this};r.getInheritedInstanceCount=function(){return Object.keys(Nb).length};r.getLiveInheritedInstances=function(){var a=[],b;for(b in Nb)Nb.hasOwnProperty(b)&&a.push(Nb[b]);return a};r.flushPendingDeletes=Lb;r.setDelayFunction=function(a){Mb=a;Kb.length&&Mb&&Mb(Lb)}; +cc.prototype.bf=function(a){this.Ke&&(a=this.Ke(a));return a};cc.prototype.Ee=function(a){this.Xd&&this.Xd(a)};cc.prototype.argPackAdvance=8;cc.prototype.readValueFromPointer=nb;cc.prototype.deleteObject=function(a){if(null!==a)a["delete"]()}; +cc.prototype.fromWireType=function(a){function b(){return this.pe?Pb(this.Ld.fe,{Nd:this.jf,Kd:c,Td:this,Pd:a}):Pb(this.Ld.fe,{Nd:this,Kd:a})}var c=this.bf(a);if(!c)return this.Ee(a),null;var d=Ob(this.Ld,c);if(void 0!==d){if(0===d.kd.count.value)return d.kd.Kd=c,d.kd.Pd=a,d.clone();d=d.clone();this.Ee(a);return d}d=this.Ld.af(c);d=Jb[d];if(!d)return b.call(this);d=this.oe?d.Ve:d.pointerType;var f=Db(c,this.Ld,d.Ld);return null===f?b.call(this):this.pe?Pb(d.Ld.fe,{Nd:d,Kd:f,Td:this,Pd:a}):Pb(d.Ld.fe, +{Nd:d,Kd:f})};nc=r.UnboundTypeError=function(a,b){var c=Tb(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`};return c}(Error,"UnboundTypeError"); +Object.assign(uc.prototype,{get(a){return this.Wd[a]},has(a){return void 0!==this.Wd[a]},ve(a){var b=this.Ie.pop()||this.Wd.length;this.Wd[b]=a;return b},we(a){this.Wd[a]=void 0;this.Ie.push(a)}});vc.Wd.push({value:void 0},{value:null},{value:!0},{value:!1});vc.Zd=vc.Wd.length;r.count_emval_handles=function(){for(var a=0,b=vc.Zd;bKd;++Kd)rd.push(Array(Kd));var Ld=new Float32Array(288); +for(Kd=0;288>Kd;++Kd)Bd[Kd]=Ld.subarray(0,Kd+1);var Md=new Int32Array(288);for(Kd=0;288>Kd;++Kd)Cd[Kd]=Md.subarray(0,Kd+1); +var $d={H:function(a,b,c){(new fb(a)).Zd(b,c);gb=a;ib++;throw gb;},$:function(){return 0},$c:()=>{},_c:function(){return 0},Zc:()=>{},Yc:()=>{},_:function(){},Xc:()=>{},D:function(a){var b=lb[a];delete lb[a];var c=b.Be,d=b.Xd,f=b.He,k=f.map(l=>l.ef).concat(f.map(l=>l.nf));tb([a],k,l=>{var m={};f.forEach((p,w)=>{var y=l[w],B=p.cf,D=p.df,u=l[w+f.length],F=p.mf,H=p.pf;m[p.$e]={read:T=>y.fromWireType(B(D,T)),write:(T,ca)=>{var Y=[];F(H,T,u.toWireType(Y,ca));mb(Y)}}});return[{name:b.name,fromWireType:function(p){var w= +{},y;for(y in m)w[y]=m[y].read(p);d(p);return w},toWireType:function(p,w){for(var y in m)if(!(y in w))throw new TypeError(`Missing field: "${y}"`);var B=c();for(y in m)m[y].write(B,w[y]);null!==p&&p.push(d,B);return B},argPackAdvance:8,readValueFromPointer:nb,Sd:d}]})},fa:function(){},Tc:function(a,b,c,d,f){var k=vb(c);b=O(b);ub(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,m){return m?d:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var m=Ha;else if(2===c)m=Ia; +else if(4===c)m=K;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(m[l>>k])},Sd:null})},l:function(a,b,c,d,f,k,l,m,p,w,y,B,D){y=O(y);k=mc(f,k);m&&(m=mc(l,m));w&&(w=mc(p,w));D=mc(B,D);var u=Sb(y);Vb(u,function(){rc(`Cannot construct ${y} due to unbound types`,[d])});tb([a,b,c],d?[d]:[],function(F){F=F[0];if(d){var H=F.Ld;var T=H.fe}else T=Rb.prototype;F=Tb(u,function(){if(Object.getPrototypeOf(this)!==ca)throw new xb("Use 'new' to construct "+y);if(void 0===Y.Yd)throw new xb(y+ +" has no accessible constructor");var Ma=Y.Yd[arguments.length];if(void 0===Ma)throw new xb(`Tried to invoke ctor of ${y} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(Y.Yd).toString()}) parameters instead!`);return Ma.apply(this,arguments)});var ca=Object.create(T,{constructor:{value:F}});F.prototype=ca;var Y=new Wb(y,F,ca,D,H,k,m,w);Y.Qd&&(void 0===Y.Qd.le&&(Y.Qd.le=[]),Y.Qd.le.push(Y));H=new cc(y,Y,!0,!1,!1);T=new cc(y+"*",Y,!1,!1,!1);var va=new cc(y+" const*", +Y,!1,!0,!1);Jb[a]={pointerType:T,Ve:va};dc(u,F);return[H,T,va]})},e:function(a,b,c,d,f,k,l){var m=tc(c,d);b=O(b);k=mc(f,k);tb([],[a],function(p){function w(){rc(`Cannot call ${y} due to unbound types`,m)}p=p[0];var y=`${p.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var B=p.Ld.constructor;void 0===B[b]?(w.ce=c-1,B[b]=w):(Ub(B,b,y),B[b].Od[c-1]=w);tb([],m,function(D){D=[D[0],null].concat(D.slice(1));D=sc(y,D,null,k,l);void 0===B[b].Od?(D.ce=c-1,B[b]=D):B[b].Od[c-1]=D;if(p.Ld.le)for(const u of p.Ld.le)u.constructor.hasOwnProperty(b)|| +(u.constructor[b]=D);return[]});return[]})},B:function(a,b,c,d,f,k){var l=tc(b,c);f=mc(d,f);tb([],[a],function(m){m=m[0];var p=`constructor ${m.name}`;void 0===m.Ld.Yd&&(m.Ld.Yd=[]);if(void 0!==m.Ld.Yd[b-1])throw new xb(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${m.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);m.Ld.Yd[b-1]=()=>{rc(`Cannot construct ${m.name} due to unbound types`,l)}; +tb([],l,function(w){w.splice(1,0,null);m.Ld.Yd[b-1]=sc(p,w,null,f,k);return[]});return[]})},a:function(a,b,c,d,f,k,l,m){var p=tc(c,d);b=O(b);k=mc(f,k);tb([],[a],function(w){function y(){rc(`Cannot call ${B} due to unbound types`,p)}w=w[0];var B=`${w.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);m&&w.Ld.kf.push(b);var D=w.Ld.fe,u=D[b];void 0===u||void 0===u.Od&&u.className!==w.name&&u.ce===c-2?(y.ce=c-2,y.className=w.name,D[b]=y):(Ub(D,b,B),D[b].Od[c-2]=y);tb([],p,function(F){F=sc(B,F, +w,k,l);void 0===D[b].Od?(F.ce=c-2,D[b]=F):D[b].Od[c-2]=F;return[]});return[]})},s:function(a,b,c){a=O(a);tb([],[b],function(d){d=d[0];r[a]=d.fromWireType(c);return[]})},Sc:function(a,b){b=O(b);ub(a,{name:b,fromWireType:function(c){var d=xc(c);wc(c);return d},toWireType:function(c,d){return ac(d)},argPackAdvance:8,readValueFromPointer:nb,Sd:null})},j:function(a,b,c,d){function f(){}c=vb(c);b=O(b);f.values={};ub(a,{name:b,constructor:f,fromWireType:function(k){return this.constructor.values[k]},toWireType:function(k, +l){return l.value},argPackAdvance:8,readValueFromPointer:yc(b,c,d),Sd:null});Vb(b,f)},b:function(a,b,c){var d=zc(a,"enum");b=O(b);a=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:Tb(`${d.name}_${b}`,function(){})}});a.values[c]=d;a[b]=d},Y:function(a,b,c){c=vb(c);b=O(b);ub(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){return f},argPackAdvance:8,readValueFromPointer:Ac(b,c),Sd:null})},v:function(a,b,c,d,f,k){var l=tc(b,c);a=O(a);f= +mc(d,f);Vb(a,function(){rc(`Cannot call ${a} due to unbound types`,l)},b-1);tb([],l,function(m){m=[m[0],null].concat(m.slice(1));dc(a,sc(a,m,null,f,k),b-1);return[]})},E:function(a,b,c,d,f){b=O(b);-1===f&&(f=4294967295);f=vb(c);var k=m=>m;if(0===d){var l=32-8*c;k=m=>m<>>l}c=b.includes("unsigned")?function(m,p){return p>>>0}:function(m,p){return p};ub(a,{name:b,fromWireType:k,toWireType:c,argPackAdvance:8,readValueFromPointer:Bc(b,f,0!==d),Sd:null})},r:function(a,b,c){function d(k){k>>=2;var l= +L;return new f(l.buffer,l[k+1],l[k])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=O(c);ub(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{ff:!0})},o:function(a,b,c,d,f,k,l,m,p,w,y,B){c=O(c);k=mc(f,k);m=mc(l,m);w=mc(p,w);B=mc(y,B);tb([a],[b],function(D){D=D[0];return[new cc(c,D.Ld,!1,!1,!0,D,d,k,m,w,B)]})},X:function(a,b){b=O(b);var c="std::string"===b;ub(a,{name:b,fromWireType:function(d){var f=L[d>>2],k=d+4;if(c)for(var l= +k,m=0;m<=f;++m){var p=k+m;if(m==f||0==C[p]){l=l?kb(C,l,p-l):"";if(void 0===w)var w=l;else w+=String.fromCharCode(0),w+=l;l=p+1}}else{w=Array(f);for(m=0;m>2]= +l;if(c&&k)ka(f,C,p,l+1);else if(k)for(k=0;kJa;var m=1}else 4===b&&(d=Gc,f=Hc,k=Ic,l=()=>L,m=2);ub(a,{name:c,fromWireType:function(p){for(var w=L[p>>2],y=l(),B,D=p+4,u=0;u<=w;++u){var F= +p+4+u*b;if(u==w||0==y[F>>m])D=d(D,F-D),void 0===B?B=D:(B+=String.fromCharCode(0),B+=D),D=F+b}qc(p);return B},toWireType:function(p,w){"string"!=typeof w&&Q(`Cannot pass non-string to C++ string type ${c}`);var y=k(w),B=wd(4+y+b);L[B>>2]=y>>m;f(w,B+4,y+b);null!==p&&p.push(qc,B);return B},argPackAdvance:8,readValueFromPointer:nb,Sd:function(p){qc(p)}})},C:function(a,b,c,d,f,k){lb[a]={name:O(b),Be:mc(c,d),Xd:mc(f,k),He:[]}},d:function(a,b,c,d,f,k,l,m,p,w){lb[a].He.push({$e:O(b),ef:c,cf:mc(d,f),df:k, +nf:l,mf:mc(m,p),pf:w})},Rc:function(a,b){b=O(b);ub(a,{hf:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},Qc:()=>!0,Pc:()=>{throw Infinity;},G:function(a,b,c){a=xc(a);b=zc(b,"emval::as");var d=[],f=ac(d);L[c>>2]=f;return b.toWireType(d,a)},N:function(a,b,c,d,f){a=Lc[a];b=xc(b);c=Kc(c);var k=[];L[d>>2]=ac(k);return a(b,c,k,f)},t:function(a,b,c,d){a=Lc[a];b=xc(b);c=Kc(c);a(b,c,null,d)},c:wc,M:function(a){if(0===a)return ac(Mc());a=Kc(a);return ac(Mc()[a])},p:function(a, +b){var c=Oc(a,b),d=c[0];b=d.name+"_$"+c.slice(1).map(function(l){return l.name}).join("_")+"$";var f=Pc[b];if(void 0!==f)return f;var k=Array(a-1);f=Nc((l,m,p,w)=>{for(var y=0,B=0;B{Ea("")},Nc:()=>performance.now(),Mc:a=>{var b=C.length;a>>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c); +d=Math.min(d,a+100663296);var f=Math;d=Math.max(a,d);a:{f=f.min.call(f,2147483648,d+(65536-d%65536)%65536)-Fa.buffer.byteLength+65535>>>16;try{Fa.grow(f);La();var k=1;break a}catch(l){}k=void 0}if(k)return!0}return!1},Lc:function(){return v?v.handle:0},Wc:(a,b)=>{var c=0;nd().forEach(function(d,f){var k=b+c;f=L[a+4*f>>2]=k;for(k=0;k>0]=d.charCodeAt(k);Ha[f>>0]=0;c+=d.length+1});return 0},Vc:(a,b)=>{var c=nd();L[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});L[b>> +2]=d;return 0},Kc:a=>{if(!noExitRuntime){if(r.onExit)r.onExit(a);Ga=!0}oa(a,new db(a))},P:()=>52,ha:function(){return 52},Uc:()=>52,ga:function(){return 70},Z:(a,b,c,d)=>{for(var f=0,k=0;k>2],m=L[b+4>>2];b+=8;for(var p=0;p>2]=f;return 0},Jc:function(a){S.activeTexture(a)},Ic:function(a,b){S.attachShader(Xc[a],$c[b])},Hc:function(a,b,c){S.bindAttribLocation(Xc[a],b,c?kb(C,c):"")},Gc:function(a, +b){35051==a?S.ye=b:35052==a&&(S.de=b);S.bindBuffer(a,Wc[b])},W:function(a,b){S.bindFramebuffer(a,Yc[b])},Fc:function(a,b){S.bindRenderbuffer(a,Zc[b])},Ec:function(a,b){S.bindSampler(a,bd[b])},Dc:function(a,b){S.bindTexture(a,ea[b])},Cc:pd,Bc:pd,Ac:function(a,b,c,d){S.blendColor(a,b,c,d)},zc:function(a){S.blendEquation(a)},yc:function(a,b){S.blendFunc(a,b)},xc:function(a,b,c,d,f,k,l,m,p,w){S.blitFramebuffer(a,b,c,d,f,k,l,m,p,w)},wc:function(a,b,c,d){2<=v.version?c&&b?S.bufferData(a,C,d,c,b):S.bufferData(a, +b,d):S.bufferData(a,c?C.subarray(c,c+b):b,d)},vc:function(a,b,c,d){2<=v.version?c&&S.bufferSubData(a,b,C,d,c):S.bufferSubData(a,b,C.subarray(d,d+c))},uc:function(a){return S.checkFramebufferStatus(a)},V:function(a){S.clear(a)},U:function(a,b,c,d){S.clearColor(a,b,c,d)},T:function(a){S.clearStencil(a)},ca:function(a,b,c,d){return S.clientWaitSync(cd[a],b,(c>>>0)+4294967296*d)},tc:function(a,b,c,d){S.colorMask(!!a,!!b,!!c,!!d)},sc:function(a){S.compileShader($c[a])},rc:function(a,b,c,d,f,k,l,m){2<= +v.version?S.de||!l?S.compressedTexImage2D(a,b,c,d,f,k,l,m):S.compressedTexImage2D(a,b,c,d,f,k,C,m,l):S.compressedTexImage2D(a,b,c,d,f,k,m?C.subarray(m,m+l):null)},qc:function(a,b,c,d,f,k,l,m,p){2<=v.version?S.de||!m?S.compressedTexSubImage2D(a,b,c,d,f,k,l,m,p):S.compressedTexSubImage2D(a,b,c,d,f,k,l,C,p,m):S.compressedTexSubImage2D(a,b,c,d,f,k,l,p?C.subarray(p,p+m):null)},pc:function(a,b,c,d,f){S.copyBufferSubData(a,b,c,d,f)},oc:function(a,b,c,d,f,k,l,m){S.copyTexSubImage2D(a,b,c,d,f,k,l,m)},nc:function(){var a= +da(Xc),b=S.createProgram();b.name=a;b.se=b.qe=b.re=0;b.De=1;Xc[a]=b;return a},mc:function(a){var b=da($c);$c[b]=S.createShader(a);return b},lc:function(a){S.cullFace(a)},kc:function(a,b){for(var c=0;c>2],f=Wc[d];f&&(S.deleteBuffer(f),f.name=0,Wc[d]=null,d==S.ye&&(S.ye=0),d==S.de&&(S.de=0))}},jc:function(a,b){for(var c=0;c>2],f=Yc[d];f&&(S.deleteFramebuffer(f),f.name=0,Yc[d]=null)}},ic:function(a){if(a){var b=Xc[a];b?(S.deleteProgram(b),b.name=0,Xc[a]=null): +R(1281)}},hc:function(a,b){for(var c=0;c>2],f=Zc[d];f&&(S.deleteRenderbuffer(f),f.name=0,Zc[d]=null)}},gc:function(a,b){for(var c=0;c>2],f=bd[d];f&&(S.deleteSampler(f),f.name=0,bd[d]=null)}},fc:function(a){if(a){var b=$c[a];b?(S.deleteShader(b),$c[a]=null):R(1281)}},ec:function(a){if(a){var b=cd[a];b?(S.deleteSync(b),b.name=0,cd[a]=null):R(1281)}},dc:function(a,b){for(var c=0;c>2],f=ea[d];f&&(S.deleteTexture(f),f.name=0,ea[d]=null)}}, +cc:qd,bc:qd,ac:function(a){S.depthMask(!!a)},$b:function(a){S.disable(a)},_b:function(a){S.disableVertexAttribArray(a)},Zb:function(a,b,c){S.drawArrays(a,b,c)},Yb:function(a,b,c,d){S.drawArraysInstanced(a,b,c,d)},Xb:function(a,b,c,d,f){S.Fe.drawArraysInstancedBaseInstanceWEBGL(a,b,c,d,f)},Wb:function(a,b){for(var c=rd[a],d=0;d>2];S.drawBuffers(c)},Vb:sd,Ub:function(a,b,c,d,f){S.drawElementsInstanced(a,b,c,d,f)},Tb:function(a,b,c,d,f,k,l){S.Fe.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a, +b,c,d,f,k,l)},Sb:function(a,b,c,d,f,k){sd(a,d,f,k)},Rb:function(a){S.enable(a)},Qb:function(a){S.enableVertexAttribArray(a)},Pb:function(a,b){return(a=S.fenceSync(a,b))?(b=da(cd),a.name=b,cd[b]=a,b):0},Ob:function(){S.finish()},Nb:function(){S.flush()},Mb:function(a,b,c,d){S.framebufferRenderbuffer(a,b,c,Zc[d])},Lb:function(a,b,c,d,f){S.framebufferTexture2D(a,b,c,ea[d],f)},Kb:function(a){S.frontFace(a)},Jb:function(a,b){td(a,b,"createBuffer",Wc)},Ib:function(a,b){td(a,b,"createFramebuffer",Yc)},Hb:function(a, +b){td(a,b,"createRenderbuffer",Zc)},Gb:function(a,b){td(a,b,"createSampler",bd)},Fb:function(a,b){td(a,b,"createTexture",ea)},Eb:ud,Db:ud,Cb:function(a){S.generateMipmap(a)},Bb:function(a,b,c){c?K[c>>2]=S.getBufferParameter(a,b):R(1281)},Ab:function(){var a=S.getError()||hd;hd=0;return a},zb:function(a,b){vd(a,b,2)},yb:function(a,b,c,d){a=S.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;K[d>>2]=a},K:function(a,b){vd(a,b,0)},xb:function(a, +b,c,d){a=S.getProgramInfoLog(Xc[a]);null===a&&(a="(unknown error)");b=0>2]=b)},wb:function(a,b,c){if(c)if(a>=Vc)R(1281);else if(a=Xc[a],35716==b)a=S.getProgramInfoLog(a),null===a&&(a="(unknown error)"),K[c>>2]=a.length+1;else if(35719==b){if(!a.se)for(b=0;b>2]=a.se}else if(35722==b){if(!a.qe)for(b=0;b>2]=a.qe}else if(35381==b){if(!a.re)for(b=0;b>2]=a.re}else K[c>>2]=S.getProgramParameter(a,b);else R(1281)},vb:function(a,b,c){c?K[c>>2]=S.getRenderbufferParameter(a,b):R(1281)},ub:function(a,b,c,d){a=S.getShaderInfoLog($c[a]);null===a&&(a="(unknown error)");b=0>2]=b)},tb:function(a,b,c,d){a=S.getShaderPrecisionFormat(a,b);K[c>>2]=a.rangeMin;K[c+4>> +2]=a.rangeMax;K[d>>2]=a.precision},sb:function(a,b,c){c?35716==b?(a=S.getShaderInfoLog($c[a]),null===a&&(a="(unknown error)"),K[c>>2]=a?a.length+1:0):35720==b?(a=S.getShaderSource($c[a]),K[c>>2]=a?a.length+1:0):K[c>>2]=S.getShaderParameter($c[a],b):R(1281)},S:function(a){var b=dd[a];if(!b){switch(a){case 7939:b=S.getSupportedExtensions()||[];b=b.concat(b.map(function(d){return"GL_"+d}));b=xd(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=S.getParameter(a))||R(1280);b=b&&xd(b);break; +case 7938:b=S.getParameter(7938);b=2<=v.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=xd(b);break;case 35724:b=S.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==c&&(3==c[1].length&&(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=xd(b);break;default:R(1280)}dd[a]=b}return b},rb:function(a,b){if(2>v.version)return R(1282),0;var c=ed[a];if(c)return 0>b||b>=c.length?(R(1281),0):c[b];switch(a){case 7939:return c=S.getSupportedExtensions()||[], +c=c.concat(c.map(function(d){return"GL_"+d})),c=c.map(function(d){return xd(d)}),c=ed[a]=c,0>b||b>=c.length?(R(1281),0):c[b];default:return R(1280),0}},qb:function(a,b){b=b?kb(C,b):"";if(a=Xc[a]){var c=a,d=c.je,f=c.Ne,k;if(!d)for(c.je=d={},c.Me={},k=0;k>>0,f=b.slice(0, +k));if((f=a.Ne[f])&&d>2];S.invalidateFramebuffer(a,d)},ob:function(a,b,c,d,f,k,l){for(var m=rd[b],p=0;p>2];S.invalidateSubFramebuffer(a,m,d,f,k,l)},nb:function(a){return S.isSync(cd[a])},mb:function(a){return(a=ea[a])?S.isTexture(a):0},lb:function(a){S.lineWidth(a)},kb:function(a){a=Xc[a];S.linkProgram(a);a.je=0;a.Ne={}},jb:function(a, +b,c,d,f,k){S.Je.multiDrawArraysInstancedBaseInstanceWEBGL(a,K,b>>2,K,c>>2,K,d>>2,L,f>>2,k)},ib:function(a,b,c,d,f,k,l,m){S.Je.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,K,b>>2,c,K,d>>2,K,f>>2,K,k>>2,L,l>>2,m)},hb:function(a,b){3317==a&&(gd=b);S.pixelStorei(a,b)},gb:function(a){S.readBuffer(a)},fb:function(a,b,c,d,f,k,l){if(2<=v.version)if(S.ye)S.readPixels(a,b,c,d,f,k,l);else{var m=zd(k);S.readPixels(a,b,c,d,f,k,m,l>>31-Math.clz32(m.BYTES_PER_ELEMENT))}else(l=Ad(k,f,c,d,l))?S.readPixels(a, +b,c,d,f,k,l):R(1280)},eb:function(a,b,c,d){S.renderbufferStorage(a,b,c,d)},db:function(a,b,c,d,f){S.renderbufferStorageMultisample(a,b,c,d,f)},cb:function(a,b,c){S.samplerParameterf(bd[a],b,c)},bb:function(a,b,c){S.samplerParameteri(bd[a],b,c)},ab:function(a,b,c){S.samplerParameteri(bd[a],b,K[c>>2])},$a:function(a,b,c,d){S.scissor(a,b,c,d)},_a:function(a,b,c,d){for(var f="",k=0;k>2]:-1,m=K[c+4*k>>2];l=m?kb(C,m,0>l?void 0:l):"";f+=l}S.shaderSource($c[a],f)},Za:function(a,b, +c){S.stencilFunc(a,b,c)},Ya:function(a,b,c,d){S.stencilFuncSeparate(a,b,c,d)},Xa:function(a){S.stencilMask(a)},Wa:function(a,b){S.stencilMaskSeparate(a,b)},Va:function(a,b,c){S.stencilOp(a,b,c)},Ua:function(a,b,c,d){S.stencilOpSeparate(a,b,c,d)},Ta:function(a,b,c,d,f,k,l,m,p){if(2<=v.version)if(S.de)S.texImage2D(a,b,c,d,f,k,l,m,p);else if(p){var w=zd(m);S.texImage2D(a,b,c,d,f,k,l,m,w,p>>31-Math.clz32(w.BYTES_PER_ELEMENT))}else S.texImage2D(a,b,c,d,f,k,l,m,null);else S.texImage2D(a,b,c,d,f,k,l,m,p? +Ad(m,l,d,f,p):null)},Sa:function(a,b,c){S.texParameterf(a,b,c)},Ra:function(a,b,c){S.texParameterf(a,b,N[c>>2])},Qa:function(a,b,c){S.texParameteri(a,b,c)},Pa:function(a,b,c){S.texParameteri(a,b,K[c>>2])},Oa:function(a,b,c,d,f){S.texStorage2D(a,b,c,d,f)},Na:function(a,b,c,d,f,k,l,m,p){if(2<=v.version)if(S.de)S.texSubImage2D(a,b,c,d,f,k,l,m,p);else if(p){var w=zd(m);S.texSubImage2D(a,b,c,d,f,k,l,m,w,p>>31-Math.clz32(w.BYTES_PER_ELEMENT))}else S.texSubImage2D(a,b,c,d,f,k,l,m,null);else w=null,p&&(w= +Ad(m,l,f,k,p)),S.texSubImage2D(a,b,c,d,f,k,l,m,w)},Ma:function(a,b){S.uniform1f(W(a),b)},La:function(a,b,c){if(2<=v.version)b&&S.uniform1fv(W(a),N,c>>2,b);else{if(288>=b)for(var d=Bd[b-1],f=0;f>2];else d=N.subarray(c>>2,c+4*b>>2);S.uniform1fv(W(a),d)}},Ka:function(a,b){S.uniform1i(W(a),b)},Ja:function(a,b,c){if(2<=v.version)b&&S.uniform1iv(W(a),K,c>>2,b);else{if(288>=b)for(var d=Cd[b-1],f=0;f>2];else d=K.subarray(c>>2,c+4*b>>2);S.uniform1iv(W(a),d)}},Ia:function(a, +b,c){S.uniform2f(W(a),b,c)},Ha:function(a,b,c){if(2<=v.version)b&&S.uniform2fv(W(a),N,c>>2,2*b);else{if(144>=b)for(var d=Bd[2*b-1],f=0;f<2*b;f+=2)d[f]=N[c+4*f>>2],d[f+1]=N[c+(4*f+4)>>2];else d=N.subarray(c>>2,c+8*b>>2);S.uniform2fv(W(a),d)}},Ga:function(a,b,c){S.uniform2i(W(a),b,c)},Fa:function(a,b,c){if(2<=v.version)b&&S.uniform2iv(W(a),K,c>>2,2*b);else{if(144>=b)for(var d=Cd[2*b-1],f=0;f<2*b;f+=2)d[f]=K[c+4*f>>2],d[f+1]=K[c+(4*f+4)>>2];else d=K.subarray(c>>2,c+8*b>>2);S.uniform2iv(W(a),d)}},Ea:function(a, +b,c,d){S.uniform3f(W(a),b,c,d)},Da:function(a,b,c){if(2<=v.version)b&&S.uniform3fv(W(a),N,c>>2,3*b);else{if(96>=b)for(var d=Bd[3*b-1],f=0;f<3*b;f+=3)d[f]=N[c+4*f>>2],d[f+1]=N[c+(4*f+4)>>2],d[f+2]=N[c+(4*f+8)>>2];else d=N.subarray(c>>2,c+12*b>>2);S.uniform3fv(W(a),d)}},Ca:function(a,b,c,d){S.uniform3i(W(a),b,c,d)},Ba:function(a,b,c){if(2<=v.version)b&&S.uniform3iv(W(a),K,c>>2,3*b);else{if(96>=b)for(var d=Cd[3*b-1],f=0;f<3*b;f+=3)d[f]=K[c+4*f>>2],d[f+1]=K[c+(4*f+4)>>2],d[f+2]=K[c+(4*f+8)>>2];else d= +K.subarray(c>>2,c+12*b>>2);S.uniform3iv(W(a),d)}},Aa:function(a,b,c,d,f){S.uniform4f(W(a),b,c,d,f)},za:function(a,b,c){if(2<=v.version)b&&S.uniform4fv(W(a),N,c>>2,4*b);else{if(72>=b){var d=Bd[4*b-1],f=N;c>>=2;for(var k=0;k<4*b;k+=4){var l=c+k;d[k]=f[l];d[k+1]=f[l+1];d[k+2]=f[l+2];d[k+3]=f[l+3]}}else d=N.subarray(c>>2,c+16*b>>2);S.uniform4fv(W(a),d)}},ya:function(a,b,c,d,f){S.uniform4i(W(a),b,c,d,f)},xa:function(a,b,c){if(2<=v.version)b&&S.uniform4iv(W(a),K,c>>2,4*b);else{if(72>=b)for(var d=Cd[4*b- +1],f=0;f<4*b;f+=4)d[f]=K[c+4*f>>2],d[f+1]=K[c+(4*f+4)>>2],d[f+2]=K[c+(4*f+8)>>2],d[f+3]=K[c+(4*f+12)>>2];else d=K.subarray(c>>2,c+16*b>>2);S.uniform4iv(W(a),d)}},wa:function(a,b,c,d){if(2<=v.version)b&&S.uniformMatrix2fv(W(a),!!c,N,d>>2,4*b);else{if(72>=b)for(var f=Bd[4*b-1],k=0;k<4*b;k+=4)f[k]=N[d+4*k>>2],f[k+1]=N[d+(4*k+4)>>2],f[k+2]=N[d+(4*k+8)>>2],f[k+3]=N[d+(4*k+12)>>2];else f=N.subarray(d>>2,d+16*b>>2);S.uniformMatrix2fv(W(a),!!c,f)}},va:function(a,b,c,d){if(2<=v.version)b&&S.uniformMatrix3fv(W(a), +!!c,N,d>>2,9*b);else{if(32>=b)for(var f=Bd[9*b-1],k=0;k<9*b;k+=9)f[k]=N[d+4*k>>2],f[k+1]=N[d+(4*k+4)>>2],f[k+2]=N[d+(4*k+8)>>2],f[k+3]=N[d+(4*k+12)>>2],f[k+4]=N[d+(4*k+16)>>2],f[k+5]=N[d+(4*k+20)>>2],f[k+6]=N[d+(4*k+24)>>2],f[k+7]=N[d+(4*k+28)>>2],f[k+8]=N[d+(4*k+32)>>2];else f=N.subarray(d>>2,d+36*b>>2);S.uniformMatrix3fv(W(a),!!c,f)}},ua:function(a,b,c,d){if(2<=v.version)b&&S.uniformMatrix4fv(W(a),!!c,N,d>>2,16*b);else{if(18>=b){var f=Bd[16*b-1],k=N;d>>=2;for(var l=0;l<16*b;l+=16){var m=d+l;f[l]= +k[m];f[l+1]=k[m+1];f[l+2]=k[m+2];f[l+3]=k[m+3];f[l+4]=k[m+4];f[l+5]=k[m+5];f[l+6]=k[m+6];f[l+7]=k[m+7];f[l+8]=k[m+8];f[l+9]=k[m+9];f[l+10]=k[m+10];f[l+11]=k[m+11];f[l+12]=k[m+12];f[l+13]=k[m+13];f[l+14]=k[m+14];f[l+15]=k[m+15]}}else f=N.subarray(d>>2,d+64*b>>2);S.uniformMatrix4fv(W(a),!!c,f)}},ta:function(a){a=Xc[a];S.useProgram(a);S.We=a},sa:function(a,b){S.vertexAttrib1f(a,b)},ra:function(a,b){S.vertexAttrib2f(a,N[b>>2],N[b+4>>2])},qa:function(a,b){S.vertexAttrib3f(a,N[b>>2],N[b+4>>2],N[b+8>>2])}, +pa:function(a,b){S.vertexAttrib4f(a,N[b>>2],N[b+4>>2],N[b+8>>2],N[b+12>>2])},oa:function(a,b){S.vertexAttribDivisor(a,b)},na:function(a,b,c,d,f){S.vertexAttribIPointer(a,b,c,d,f)},ma:function(a,b,c,d,f,k){S.vertexAttribPointer(a,b,c,!!d,f,k)},la:function(a,b,c,d){S.viewport(a,b,c,d)},ba:function(a,b,c,d){S.waitSync(cd[a],b,(c>>>0)+4294967296*d)},n:Nd,u:Od,k:Pd,J:Qd,R:Rd,Q:Sd,x:Td,y:Ud,q:Vd,w:Wd,ka:Xd,ja:Yd,ia:Zd,aa:(a,b,c,d)=>Hd(a,b,c,d)}; +(function(){function a(c){G=c=c.exports;Fa=G.ad;La();Na=G.dd;Pa.unshift(G.bd);Ua--;r.monitorRunDependencies&&r.monitorRunDependencies(Ua);if(0==Ua&&(null!==Va&&(clearInterval(Va),Va=null),Wa)){var d=Wa;Wa=null;d()}return c}var b={a:$d};Ua++;r.monitorRunDependencies&&r.monitorRunDependencies(Ua);if(r.instantiateWasm)try{return r.instantiateWasm(b,a)}catch(c){Ca("Module.instantiateWasm callback failed with error: "+c),ba(c)}cb(b,function(c){a(c.instance)}).catch(ba);return{}})(); +var wd=r._malloc=a=>(wd=r._malloc=G.cd)(a),qc=r._free=a=>(qc=r._free=G.ed)(a),pc=a=>(pc=G.fd)(a);r.__embind_initialize_bindings=()=>(r.__embind_initialize_bindings=G.gd)();var ae=(a,b)=>(ae=G.hd)(a,b),be=()=>(be=G.id)(),ce=a=>(ce=G.jd)(a);r.dynCall_viji=(a,b,c,d,f)=>(r.dynCall_viji=G.ld)(a,b,c,d,f);r.dynCall_vijiii=(a,b,c,d,f,k,l)=>(r.dynCall_vijiii=G.md)(a,b,c,d,f,k,l);r.dynCall_viiiiij=(a,b,c,d,f,k,l,m)=>(r.dynCall_viiiiij=G.nd)(a,b,c,d,f,k,l,m); +r.dynCall_iiiji=(a,b,c,d,f,k)=>(r.dynCall_iiiji=G.od)(a,b,c,d,f,k);r.dynCall_jii=(a,b,c)=>(r.dynCall_jii=G.pd)(a,b,c);r.dynCall_vij=(a,b,c,d)=>(r.dynCall_vij=G.qd)(a,b,c,d);r.dynCall_iiij=(a,b,c,d,f)=>(r.dynCall_iiij=G.rd)(a,b,c,d,f);r.dynCall_iiiij=(a,b,c,d,f,k)=>(r.dynCall_iiiij=G.sd)(a,b,c,d,f,k);r.dynCall_viij=(a,b,c,d,f)=>(r.dynCall_viij=G.td)(a,b,c,d,f);r.dynCall_viiij=(a,b,c,d,f,k)=>(r.dynCall_viiij=G.ud)(a,b,c,d,f,k); +r.dynCall_jiiiiii=(a,b,c,d,f,k,l)=>(r.dynCall_jiiiiii=G.vd)(a,b,c,d,f,k,l);r.dynCall_jiiiiji=(a,b,c,d,f,k,l,m)=>(r.dynCall_jiiiiji=G.wd)(a,b,c,d,f,k,l,m);r.dynCall_ji=(a,b)=>(r.dynCall_ji=G.xd)(a,b);r.dynCall_iijj=(a,b,c,d,f,k)=>(r.dynCall_iijj=G.yd)(a,b,c,d,f,k);r.dynCall_iiji=(a,b,c,d,f)=>(r.dynCall_iiji=G.zd)(a,b,c,d,f);r.dynCall_iijjiii=(a,b,c,d,f,k,l,m,p)=>(r.dynCall_iijjiii=G.Ad)(a,b,c,d,f,k,l,m,p);r.dynCall_iij=(a,b,c,d)=>(r.dynCall_iij=G.Bd)(a,b,c,d); +r.dynCall_vijjjii=(a,b,c,d,f,k,l,m,p,w)=>(r.dynCall_vijjjii=G.Cd)(a,b,c,d,f,k,l,m,p,w);r.dynCall_jiji=(a,b,c,d,f)=>(r.dynCall_jiji=G.Dd)(a,b,c,d,f);r.dynCall_viijii=(a,b,c,d,f,k,l)=>(r.dynCall_viijii=G.Ed)(a,b,c,d,f,k,l);r.dynCall_iiiiij=(a,b,c,d,f,k,l)=>(r.dynCall_iiiiij=G.Fd)(a,b,c,d,f,k,l);r.dynCall_iiiiijj=(a,b,c,d,f,k,l,m,p)=>(r.dynCall_iiiiijj=G.Gd)(a,b,c,d,f,k,l,m,p);r.dynCall_iiiiiijj=(a,b,c,d,f,k,l,m,p,w)=>(r.dynCall_iiiiiijj=G.Hd)(a,b,c,d,f,k,l,m,p,w); +function Wd(a,b,c,d,f){var k=be();try{Na.get(a)(b,c,d,f)}catch(l){ce(k);if(l!==l+0)throw l;ae(1,0)}}function Od(a,b,c){var d=be();try{return Na.get(a)(b,c)}catch(f){ce(d);if(f!==f+0)throw f;ae(1,0)}}function Ud(a,b,c){var d=be();try{Na.get(a)(b,c)}catch(f){ce(d);if(f!==f+0)throw f;ae(1,0)}}function Nd(a,b){var c=be();try{return Na.get(a)(b)}catch(d){ce(c);if(d!==d+0)throw d;ae(1,0)}}function Td(a,b){var c=be();try{Na.get(a)(b)}catch(d){ce(c);if(d!==d+0)throw d;ae(1,0)}} +function Pd(a,b,c,d){var f=be();try{return Na.get(a)(b,c,d)}catch(k){ce(f);if(k!==k+0)throw k;ae(1,0)}}function Zd(a,b,c,d,f,k,l,m,p,w){var y=be();try{Na.get(a)(b,c,d,f,k,l,m,p,w)}catch(B){ce(y);if(B!==B+0)throw B;ae(1,0)}}function Vd(a,b,c,d){var f=be();try{Na.get(a)(b,c,d)}catch(k){ce(f);if(k!==k+0)throw k;ae(1,0)}}function Yd(a,b,c,d,f,k,l){var m=be();try{Na.get(a)(b,c,d,f,k,l)}catch(p){ce(m);if(p!==p+0)throw p;ae(1,0)}} +function Qd(a,b,c,d,f){var k=be();try{return Na.get(a)(b,c,d,f)}catch(l){ce(k);if(l!==l+0)throw l;ae(1,0)}}function Rd(a,b,c,d,f,k,l){var m=be();try{return Na.get(a)(b,c,d,f,k,l)}catch(p){ce(m);if(p!==p+0)throw p;ae(1,0)}}function Xd(a,b,c,d,f,k){var l=be();try{Na.get(a)(b,c,d,f,k)}catch(m){ce(l);if(m!==m+0)throw m;ae(1,0)}}function Sd(a,b,c,d,f,k,l,m,p,w){var y=be();try{return Na.get(a)(b,c,d,f,k,l,m,p,w)}catch(B){ce(y);if(B!==B+0)throw B;ae(1,0)}}var de;Wa=function ee(){de||fe();de||(Wa=ee)}; +function fe(){function a(){if(!de&&(de=!0,r.calledRun=!0,!Ga)){eb(Pa);aa(r);if(r.onRuntimeInitialized)r.onRuntimeInitialized();if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var b=r.postRun.shift();Qa.unshift(b)}eb(Qa)}}if(!(0 CanvasKitInit); diff --git a/canvaskit/canvaskit.js.symbols b/canvaskit/canvaskit.js.symbols new file mode 100644 index 0000000..90bcfcf --- /dev/null +++ b/canvaskit/canvaskit.js.symbols @@ -0,0 +1,11947 @@ +0:_embind_register_class_function +1:_embind_register_enum_value +2:_emval_decref +3:_embind_register_value_object_field +4:_embind_register_class_class_function +5:_emval_new_cstring +6:_emval_take_value +7:abort +8:_emval_set_property +9:_embind_register_enum +10:invoke_iiii +11:_embind_register_class +12:_emval_incref +13:invoke_ii +14:_embind_register_smart_ptr +15:_emval_get_method_caller +16:invoke_viii +17:_embind_register_memory_view +18:_embind_register_constant +19:_emval_call_void_method +20:invoke_iii +21:_embind_register_function +22:invoke_viiii +23:invoke_vi +24:invoke_vii +25:_emval_run_destructors +26:_emval_get_property +27:_embind_register_class_constructor +28:_embind_register_value_object +29:_embind_finalize_value_object +30:_embind_register_integer +31:_emval_new_object +32:_emval_as +33:__cxa_throw +34:_emval_new_array +35:invoke_iiiii +36:glGetIntegerv +37:_emval_new +38:_emval_get_global +39:_emval_call_method +40:_embind_register_std_wstring +41:__wasi_fd_close +42:invoke_iiiiiiiiii +43:invoke_iiiiiii +44:glGetString +45:glClearStencil +46:glClearColor +47:glClear +48:glBindFramebuffer +49:_embind_register_std_string +50:_embind_register_float +51:__wasi_fd_write +52:__syscall_openat +53:__syscall_fcntl64 +54:strftime_l +55:legalimport$glWaitSync +56:legalimport$glClientWaitSync +57:legalimport$_munmap_js +58:legalimport$_mmap_js +59:legalimport$_embind_register_bigint +60:legalimport$__wasi_fd_seek +61:legalimport$__wasi_fd_pread +62:invoke_viiiiiiiii +63:invoke_viiiiii +64:invoke_viiiii +65:glViewport +66:glVertexAttribPointer +67:glVertexAttribIPointer +68:glVertexAttribDivisor +69:glVertexAttrib4fv +70:glVertexAttrib3fv +71:glVertexAttrib2fv +72:glVertexAttrib1f +73:glUseProgram +74:glUniformMatrix4fv +75:glUniformMatrix3fv +76:glUniformMatrix2fv +77:glUniform4iv +78:glUniform4i +79:glUniform4fv +80:glUniform4f +81:glUniform3iv +82:glUniform3i +83:glUniform3fv +84:glUniform3f +85:glUniform2iv +86:glUniform2i +87:glUniform2fv +88:glUniform2f +89:glUniform1iv +90:glUniform1i +91:glUniform1fv +92:glUniform1f +93:glTexSubImage2D +94:glTexStorage2D +95:glTexParameteriv +96:glTexParameteri +97:glTexParameterfv +98:glTexParameterf +99:glTexImage2D +100:glStencilOpSeparate +101:glStencilOp +102:glStencilMaskSeparate +103:glStencilMask +104:glStencilFuncSeparate +105:glStencilFunc +106:glShaderSource +107:glScissor +108:glSamplerParameteriv +109:glSamplerParameteri +110:glSamplerParameterf +111:glRenderbufferStorageMultisample +112:glRenderbufferStorage +113:glReadPixels +114:glReadBuffer +115:glPixelStorei +116:glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL +117:glMultiDrawArraysInstancedBaseInstanceWEBGL +118:glLinkProgram +119:glLineWidth +120:glIsTexture +121:glIsSync +122:glInvalidateSubFramebuffer +123:glInvalidateFramebuffer +124:glGetUniformLocation +125:glGetStringi +126:glGetShaderiv +127:glGetShaderPrecisionFormat +128:glGetShaderInfoLog +129:glGetRenderbufferParameteriv +130:glGetProgramiv +131:glGetProgramInfoLog +132:glGetFramebufferAttachmentParameteriv +133:glGetFloatv +134:glGetError +135:glGetBufferParameteriv +136:glGenerateMipmap +137:glGenVertexArraysOES +138:glGenVertexArrays +139:glGenTextures +140:glGenSamplers +141:glGenRenderbuffers +142:glGenFramebuffers +143:glGenBuffers +144:glFrontFace +145:glFramebufferTexture2D +146:glFramebufferRenderbuffer +147:glFlush +148:glFinish +149:glFenceSync +150:glEnableVertexAttribArray +151:glEnable +152:glDrawRangeElements +153:glDrawElementsInstancedBaseVertexBaseInstanceWEBGL +154:glDrawElementsInstanced +155:glDrawElements +156:glDrawBuffers +157:glDrawArraysInstancedBaseInstanceWEBGL +158:glDrawArraysInstanced +159:glDrawArrays +160:glDisableVertexAttribArray +161:glDisable +162:glDepthMask +163:glDeleteVertexArraysOES +164:glDeleteVertexArrays +165:glDeleteTextures +166:glDeleteSync +167:glDeleteShader +168:glDeleteSamplers +169:glDeleteRenderbuffers +170:glDeleteProgram +171:glDeleteFramebuffers +172:glDeleteBuffers +173:glCullFace +174:glCreateShader +175:glCreateProgram +176:glCopyTexSubImage2D +177:glCopyBufferSubData +178:glCompressedTexSubImage2D +179:glCompressedTexImage2D +180:glCompileShader +181:glColorMask +182:glCheckFramebufferStatus +183:glBufferSubData +184:glBufferData +185:glBlitFramebuffer +186:glBlendFunc +187:glBlendEquation +188:glBlendColor +189:glBindVertexArrayOES +190:glBindVertexArray +191:glBindTexture +192:glBindSampler +193:glBindRenderbuffer +194:glBindBuffer +195:glBindAttribLocation +196:glAttachShader +197:glActiveTexture +198:exit +199:emscripten_webgl_get_current_context +200:emscripten_resize_heap +201:emscripten_get_now +202:_emval_not +203:_emscripten_throw_longjmp +204:_emscripten_get_now_is_monotonic +205:_embind_register_void +206:_embind_register_emval +207:_embind_register_bool +208:__wasi_fd_read +209:__wasi_environ_sizes_get +210:__wasi_environ_get +211:__syscall_stat64 +212:__syscall_newfstatat +213:__syscall_lstat64 +214:__syscall_ioctl +215:__syscall_fstat64 +216:dlfree +217:operator\20new\28unsigned\20long\29 +218:void\20emscripten::internal::raw_destructor\28SkColorSpace*\29 +219:__memcpy +220:SkString::~SkString\28\29 +221:__memset +222:GrGLSLShaderBuilder::codeAppendf\28char\20const*\2c\20...\29 +223:uprv_free_74 +224:memcmp +225:SkColorInfo::~SkColorInfo\28\29 +226:SkDebugf\28char\20const*\2c\20...\29 +227:SkString::SkString\28\29 +228:SkData::~SkData\28\29 +229:SkContainerAllocator::allocate\28int\2c\20double\29 +230:memmove +231:SkString::insert\28unsigned\20long\2c\20char\20const*\29 +232:hb_blob_destroy +233:uprv_malloc_74 +234:SkPath::~SkPath\28\29 +235:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::~__func\28\29 +236:strlen +237:sk_report_container_overflow_and_die\28\29 +238:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\29 +239:SkSL::ErrorReporter::error\28SkSL::Position\2c\20std::__2::basic_string_view>\29 +240:SkArenaAlloc::ensureSpace\28unsigned\20int\2c\20unsigned\20int\29 +241:SkRasterPipeline::append\28SkRasterPipelineOp\2c\20void*\29 +242:strcmp +243:SkString::SkString\28char\20const*\29 +244:ft_mem_free +245:FT_MulFix +246:emscripten::default_smart_ptr_trait>::share\28void*\29 +247:SkTDStorage::append\28\29 +248:SkMatrix::computeTypeMask\28\29\20const +249:GrGpuResource::notifyARefCntIsZero\28GrIORef::LastRemovedRef\29\20const +250:testSetjmp +251:SkWriter32::growToAtLeast\28unsigned\20long\29 +252:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\2c\20unsigned\20long\29 +253:fmaxf +254:std::__2::basic_string\2c\20std::__2::allocator>::size\5babi:v160004\5d\28\29\20const +255:SkString::SkString\28SkString&&\29 +256:SkSL::Pool::AllocMemory\28unsigned\20long\29 +257:std::__2::basic_string\2c\20std::__2::allocator>::__throw_length_error\5babi:v160004\5d\28\29\20const +258:GrColorInfo::~GrColorInfo\28\29 +259:SkIRect::intersect\28SkIRect\20const&\2c\20SkIRect\20const&\29 +260:GrBackendFormat::~GrBackendFormat\28\29 +261:std::__2::basic_string\2c\20std::__2::allocator>::insert\28unsigned\20long\2c\20char\20const*\29 +262:GrContext_Base::caps\28\29\20const +263:icu_74::UnicodeString::~UnicodeString\28\29 +264:std::__2::vector>::__throw_length_error\5babi:v160004\5d\28\29\20const +265:SkPaint::~SkPaint\28\29 +266:icu_74::UMemory::operator\20delete\28void*\29 +267:strncmp +268:SkTDStorage::~SkTDStorage\28\29 +269:sk_malloc_throw\28unsigned\20long\2c\20unsigned\20long\29 +270:SkTDStorage::SkTDStorage\28int\29 +271:SkSL::RP::Generator::pushExpression\28SkSL::Expression\20const&\2c\20bool\29 +272:SkStrokeRec::getStyle\28\29\20const +273:SkString::SkString\28SkString\20const&\29 +274:void\20emscripten::internal::raw_destructor\28SkContourMeasure*\29 +275:hb_ot_map_builder_t::add_feature\28unsigned\20int\2c\20hb_ot_map_feature_flags_t\2c\20unsigned\20int\29 +276:SkMatrix::mapRect\28SkRect*\2c\20SkRect\20const&\2c\20SkApplyPerspectiveClip\29\20const +277:SkBitmap::~SkBitmap\28\29 +278:SkFontMgr*\20emscripten::base::convertPointer\28skia::textlayout::TypefaceFontProvider*\29 +279:hb_buffer_t::make_room_for\28unsigned\20int\2c\20unsigned\20int\29 +280:fminf +281:SkArenaAlloc::installFooter\28char*\20\28*\29\28char*\29\2c\20unsigned\20int\29 +282:SkArenaAlloc::allocObjectWithFooter\28unsigned\20int\2c\20unsigned\20int\29 +283:icu_74::CharString::append\28char\20const*\2c\20int\2c\20UErrorCode&\29 +284:skia_private::TArray::push_back\28SkPoint\20const&\29 +285:SkString::operator=\28SkString&&\29 +286:SkSemaphore::osSignal\28int\29 +287:SkPath::SkPath\28\29 +288:skia_png_error +289:hb_buffer_t::message\28hb_font_t*\2c\20char\20const*\2c\20...\29 +290:SkSL::Parser::nextRawToken\28\29 +291:SkArenaAlloc::~SkArenaAlloc\28\29 +292:SkMatrix::computePerspectiveTypeMask\28\29\20const +293:icu_74::StringPiece::StringPiece\28char\20const*\29 +294:SkSemaphore::osWait\28\29 +295:std::__2::__shared_weak_count::__release_weak\28\29 +296:SkColorInfo::SkColorInfo\28SkColorInfo\20const&\29 +297:SkIntersections::insert\28double\2c\20double\2c\20SkDPoint\20const&\29 +298:dlmalloc +299:FT_DivFix +300:SkString::appendf\28char\20const*\2c\20...\29 +301:uprv_isASCIILetter_74 +302:std::__throw_bad_array_new_length\5babi:v160004\5d\28\29 +303:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +304:skia_png_free +305:SkChecksum::Hash32\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20int\29 +306:utext_setNativeIndex_74 +307:utext_getNativeIndex_74 +308:skia_png_crc_finish +309:SkPath::lineTo\28float\2c\20float\29 +310:SkMatrix::setTranslate\28float\2c\20float\29 +311:ures_closeBundle\28UResourceBundle*\2c\20signed\20char\29 +312:skia_png_chunk_benign_error +313:SkMatrix::mapPoints\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +314:dlrealloc +315:skia_png_warning +316:SkBlitter::~SkBlitter\28\29 +317:OT::VarData::get_delta\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20OT::VarRegionList\20const&\2c\20float*\29\20const +318:ft_mem_qrealloc +319:SkColorInfo::bytesPerPixel\28\29\20const +320:SkPaint::SkPaint\28SkPaint\20const&\29 +321:GrVertexChunkBuilder::allocChunk\28int\29 +322:OT::DeltaSetIndexMap::map\28unsigned\20int\29\20const +323:strchr +324:ft_mem_realloc +325:SkReadBuffer::readUInt\28\29 +326:strstr +327:SkMatrix::reset\28\29 +328:SkImageInfo::MakeUnknown\28int\2c\20int\29 +329:GrSurfaceProxyView::asRenderTargetProxy\28\29\20const +330:skia_private::TArray::push_back\28unsigned\20char&&\29 +331:SkBitmap::SkBitmap\28\29 +332:skia_private::TArray::push_back\28unsigned\20long\20const&\29 +333:SkPath::SkPath\28SkPath\20const&\29 +334:ft_validator_error +335:SkPaint::SkPaint\28\29 +336:SkOpPtT::segment\28\29\20const +337:GrTextureGenerator::isTextureGenerator\28\29\20const +338:SkSL::Parser::expect\28SkSL::Token::Kind\2c\20char\20const*\2c\20SkSL::Token*\29 +339:SkJSONWriter::appendName\28char\20const*\29 +340:sk_malloc_flags\28unsigned\20long\2c\20unsigned\20int\29 +341:std::__2::basic_string\2c\20std::__2::allocator>::__get_pointer\5babi:v160004\5d\28\29 +342:skia_private::TArray\2c\20true>::push_back\28sk_sp&&\29 +343:SkMatrix::invertNonIdentity\28SkMatrix*\29\20const +344:SkJSONWriter::beginValue\28bool\29 +345:uhash_close_74 +346:dlcalloc +347:SkSL::RP::Builder::appendInstruction\28SkSL::RP::BuilderOp\2c\20SkSL::RP::Builder::SlotList\2c\20int\2c\20int\2c\20int\2c\20int\29 +348:SkImageGenerator::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +349:skia_private::TArray::push_back\28SkSL::RP::Instruction&&\29 +350:skia_png_get_uint_32 +351:skia_png_calculate_crc +352:std::__2::basic_string\2c\20std::__2::allocator>::resize\5babi:v160004\5d\28unsigned\20long\29 +353:SkSL::GLSLCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +354:skgpu::Swizzle::Swizzle\28char\20const*\29 +355:SkPoint::Length\28float\2c\20float\29 +356:GrImageInfo::GrImageInfo\28GrImageInfo\20const&\29 +357:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +358:SkPath::getBounds\28\29\20const +359:std::__2::locale::~locale\28\29 +360:SkLoadICULib\28\29 +361:ucptrie_internalSmallIndex_74 +362:skia_private::TArray::push_back\28SkString&&\29 +363:icu_74::CharString::append\28char\2c\20UErrorCode&\29 +364:SkPathRef::Editor::Editor\28sk_sp*\2c\20int\2c\20int\2c\20int\29 +365:FT_Stream_Seek +366:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28char\29 +367:SkRect::join\28SkRect\20const&\29 +368:SkRect::intersect\28SkRect\20const&\29 +369:std::__2::__throw_bad_function_call\5babi:v160004\5d\28\29 +370:hb_blob_reference +371:cf2_stack_popFixed +372:GrGLExtensions::has\28char\20const*\29\20const +373:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +374:SkRect::setBoundsCheck\28SkPoint\20const*\2c\20int\29 +375:SkRasterPipeline::uncheckedAppend\28SkRasterPipelineOp\2c\20void*\29 +376:SkCachedData::internalUnref\28bool\29\20const +377:GrProcessor::operator\20new\28unsigned\20long\29 +378:FT_MulDiv +379:strcpy +380:std::__2::to_string\28int\29 +381:skia_private::TArray>\2c\20true>::operator=\28skia_private::TArray>\2c\20true>&&\29 +382:std::__2::ios_base::getloc\28\29\20const +383:icu_74::UnicodeString::doAppend\28char16_t\20const*\2c\20int\2c\20int\29 +384:SkRegion::~SkRegion\28\29 +385:skia_png_read_push_finish_row +386:skia::textlayout::TextStyle::~TextStyle\28\29 +387:hb_blob_make_immutable +388:SkString::operator=\28char\20const*\29 +389:SkSemaphore::~SkSemaphore\28\29 +390:SkReadBuffer::setInvalid\28\29 +391:SkColorInfo::operator=\28SkColorInfo&&\29 +392:umtx_unlock_74 +393:hb_ot_map_builder_t::add_pause\28unsigned\20int\2c\20bool\20\28*\29\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29\29 +394:embind_init_Paragraph\28\29::$_10::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +395:cff1_path_procs_extents_t::curve\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +396:VP8GetValue +397:uhash_get_74 +398:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28\29 +399:skgpu::ganesh::SurfaceContext::caps\28\29\20const +400:icu_74::UnicodeSet::~UnicodeSet\28\29 +401:icu_74::UnicodeSet::contains\28int\29\20const +402:SkSL::String::printf\28char\20const*\2c\20...\29 +403:SkPoint::normalize\28\29 +404:SkColorInfo::operator=\28SkColorInfo\20const&\29 +405:SkArenaAlloc::SkArenaAlloc\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +406:FT_Stream_ReadUShort +407:utext_next32_74 +408:jdiv_round_up +409:SkSL::RP::Builder::binary_op\28SkSL::RP::BuilderOp\2c\20int\29 +410:SkImageGenerator::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +411:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +412:jzero_far +413:hb_blob_get_data_writable +414:SkPathRef::growForVerb\28int\2c\20float\29 +415:SkColorInfo::SkColorInfo\28SkColorInfo&&\29 +416:skia_png_write_data +417:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +418:SkSL::Type::matches\28SkSL::Type\20const&\29\20const +419:SkRuntimeEffect::uniformSize\28\29\20const +420:SkMatrix::setConcat\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +421:FT_Stream_ExitFrame +422:umtx_lock_74 +423:subtag_matches\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20int\29 +424:skia_private::TArray::push_back_raw\28int\29 +425:__shgetc +426:SkBlitter::~SkBlitter\28\29.1 +427:FT_Stream_GetUShort +428:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28wchar_t\20const*\29 +429:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28char\20const*\29 +430:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +431:SkSL::SymbolTable::addWithoutOwnershipOrDie\28SkSL::Symbol*\29 +432:SkPoint::scale\28float\2c\20SkPoint*\29\20const +433:SkIRect\20skif::Mapping::map\28SkIRect\20const&\2c\20SkMatrix\20const&\29 +434:GrFragmentProcessor::ProgramImpl::invokeChild\28int\2c\20char\20const*\2c\20char\20const*\2c\20GrFragmentProcessor::ProgramImpl::EmitArgs&\2c\20std::__2::basic_string_view>\29 +435:sktext::gpu::BagOfBytes::~BagOfBytes\28\29 +436:icu_74::UVector32::expandCapacity\28int\2c\20UErrorCode&\29 +437:hb_face_reference_table +438:SkStringPrintf\28char\20const*\2c\20...\29 +439:GrSurfaceProxyView::asTextureProxy\28\29\20const +440:RoughlyEqualUlps\28float\2c\20float\29 +441:GrGLSLVaryingHandler::addVarying\28char\20const*\2c\20GrGLSLVarying*\2c\20GrGLSLVaryingHandler::Interpolation\29 +442:skia_png_chunk_error +443:SkTDStorage::reserve\28int\29 +444:SkPath::Iter::next\28SkPoint*\29 +445:SkDynamicMemoryWStream::write\28void\20const*\2c\20unsigned\20long\29 +446:OT::Layout::Common::Coverage::get_coverage\28unsigned\20int\29\20const +447:GrQuad::MakeFromRect\28SkRect\20const&\2c\20SkMatrix\20const&\29 +448:round +449:SkRecord::grow\28\29 +450:SkRGBA4f<\28SkAlphaType\293>::toBytes_RGBA\28\29\20const +451:GrProcessor::operator\20new\28unsigned\20long\2c\20unsigned\20long\29 +452:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28SkSL::SymbolTable*\29\20const +453:skgpu::ganesh::SurfaceDrawContext::addDrawOp\28GrClip\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::function\20const&\29 +454:skgpu::ResourceKeyHash\28unsigned\20int\20const*\2c\20unsigned\20long\29 +455:icu_74::UVector::elementAt\28int\29\20const +456:VP8LoadFinalBytes +457:SkSL::TProgramVisitor::visitStatement\28SkSL::Statement\20const&\29 +458:SkSL::RP::Builder::discard_stack\28int\2c\20int\29 +459:SkPath::conicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\29 +460:SkCanvas::predrawNotify\28bool\29 +461:std::__2::__cloc\28\29 +462:sscanf +463:SkSurfaceProps::SkSurfaceProps\28\29 +464:SkStrikeSpec::~SkStrikeSpec\28\29 +465:SkPath::moveTo\28float\2c\20float\29 +466:GrSkSLFP::GrSkSLFP\28sk_sp\2c\20char\20const*\2c\20GrSkSLFP::OptFlags\29 +467:GrBackendFormat::GrBackendFormat\28\29 +468:icu_74::umtx_initImplPreInit\28icu_74::UInitOnce&\29 +469:icu_74::umtx_initImplPostInit\28icu_74::UInitOnce&\29 +470:__multf3 +471:VP8LReadBits +472:SkTDStorage::append\28int\29 +473:SkPath::isFinite\28\29\20const +474:SkMatrix::setScale\28float\2c\20float\29 +475:GrOpsRenderPass::setScissorRect\28SkIRect\20const&\29 +476:GrOpsRenderPass::bindPipeline\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +477:GrCaps::getDefaultBackendFormat\28GrColorType\2c\20skgpu::Renderable\29\20const +478:hb_draw_funcs_t::start_path\28void*\2c\20hb_draw_state_t&\29 +479:SkSL::ConstructorCompound::MakeFromConstants\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20double\20const*\29 +480:SkRuntimeEffect::MakeForShader\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +481:SkPath::isEmpty\28\29\20const +482:SkColorSpaceXformSteps::SkColorSpaceXformSteps\28SkColorSpace\20const*\2c\20SkAlphaType\2c\20SkColorSpace\20const*\2c\20SkAlphaType\29 +483:GrSimpleMeshDrawOpHelper::~GrSimpleMeshDrawOpHelper\28\29 +484:GrProcessorSet::GrProcessorSet\28GrPaint&&\29 +485:GrBackendFormats::AsGLFormat\28GrBackendFormat\20const&\29 +486:std::__2::locale::id::__get\28\29 +487:std::__2::locale::facet::facet\5babi:v160004\5d\28unsigned\20long\29 +488:skia_private::TArray::push_back_raw\28int\29 +489:hb_buffer_t::_infos_set_glyph_flags\28hb_glyph_info_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +490:SkSL::PipelineStage::PipelineStageCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +491:SkSL::Inliner::inlineExpression\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20SkSL::Expression\20const&\29 +492:SkSL::GLSLCodeGenerator::writeIdentifier\28std::__2::basic_string_view>\29 +493:SkPath::reset\28\29 +494:SkPath::operator=\28SkPath\20const&\29 +495:GrGeometryProcessor::AttributeSet::initImplicit\28GrGeometryProcessor::Attribute\20const*\2c\20int\29 +496:GrContext_Base::contextID\28\29\20const +497:FT_Stream_EnterFrame +498:AlmostEqualUlps\28float\2c\20float\29 +499:udata_close_74 +500:ucln_common_registerCleanup_74 +501:std::__2::locale::__imp::install\28std::__2::locale::facet*\2c\20long\29 +502:skia_png_read_data +503:SkSpinlock::contendedAcquire\28\29 +504:SkSL::evaluate_n_way_intrinsic\28SkSL::Context\20const&\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29\20\28.18\29 +505:SkSL::FunctionDeclaration::description\28\29\20const +506:SkPaint::setStyle\28SkPaint::Style\29 +507:SkMatrix::setRectToRect\28SkRect\20const&\2c\20SkRect\20const&\2c\20SkMatrix::ScaleToFit\29 +508:SkDPoint::approximatelyEqual\28SkDPoint\20const&\29\20const +509:GrSurfaceProxy::backingStoreDimensions\28\29\20const +510:GrOpsRenderPass::bindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +511:uprv_asciitolower_74 +512:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +513:skgpu::ganesh::SurfaceContext::drawingManager\28\29 +514:skgpu::UniqueKey::GenerateDomain\28\29 +515:hb_buffer_t::_set_glyph_flags\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +516:emscripten_longjmp +517:GrMeshDrawOp::GrMeshDrawOp\28unsigned\20int\29 +518:FT_RoundFix +519:uprv_realloc_74 +520:std::__2::unique_ptr::~unique_ptr\5babi:v160004\5d\28\29 +521:std::__2::unique_ptr::unique_ptr\5babi:v160004\5d\28unsigned\20char*\2c\20std::__2::__dependent_type\2c\20true>::__good_rval_ref_type\29 +522:icu_74::UnicodeSet::UnicodeSet\28\29 +523:hb_face_get_glyph_count +524:cf2_stack_pushFixed +525:byn$mgfn-shared$decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkNullBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +526:__multi3 +527:SkSL::RP::Builder::push_duplicates\28int\29 +528:SkMatrix::postTranslate\28float\2c\20float\29 +529:SkColorInfo::refColorSpace\28\29\20const +530:SkCanvas::concat\28SkMatrix\20const&\29 +531:SkBlockAllocator::reset\28\29 +532:SkBitmapDevice::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +533:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20SkFilterMode\2c\20SkMipmapMode\29 +534:GrGLSLVaryingHandler::addPassThroughAttribute\28GrShaderVar\20const&\2c\20char\20const*\2c\20GrGLSLVaryingHandler::Interpolation\29 +535:GrFragmentProcessor::registerChild\28std::__2::unique_ptr>\2c\20SkSL::SampleUsage\29 +536:FT_Stream_ReleaseFrame +537:std::__2::istreambuf_iterator>::operator*\5babi:v160004\5d\28\29\20const +538:skia::textlayout::TextStyle::TextStyle\28skia::textlayout::TextStyle\20const&\29 +539:hb_buffer_t::merge_clusters_impl\28unsigned\20int\2c\20unsigned\20int\29 +540:decltype\28fp.sanitize\28this\29\29\20hb_sanitize_context_t::_dispatch\28OT::Layout::Common::Coverage\20const&\2c\20hb_priority<1u>\29 +541:SkWStream::writePackedUInt\28unsigned\20long\29 +542:SkSL::RP::Builder::push_constant_i\28int\2c\20int\29 +543:SkSL::BreakStatement::~BreakStatement\28\29 +544:SkPaint::setShader\28sk_sp\29 +545:SkNullBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +546:SkBitmap::setImmutable\28\29 +547:GrPipeline::visitProxies\28std::__2::function\20const&\29\20const +548:GrGeometryProcessor::GrGeometryProcessor\28GrProcessor::ClassID\29 +549:void\20emscripten::internal::raw_destructor\28GrDirectContext*\29 +550:std::__2::istreambuf_iterator>::operator*\5babi:v160004\5d\28\29\20const +551:icu_74::UnicodeSet::add\28int\2c\20int\29 +552:SkString::equals\28SkString\20const&\29\20const +553:SkSL::fold_expression\28SkSL::Position\2c\20double\2c\20SkSL::Type\20const*\29 +554:SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0::operator\28\29\28SkSL::FunctionDefinition\20const*\2c\20SkSL::FunctionDefinition\20const*\29\20const +555:SkSL::RP::Generator::binaryOp\28SkSL::Type\20const&\2c\20SkSL::RP::Generator::TypedOps\20const&\29 +556:SkJSONWriter::appendf\28char\20const*\2c\20...\29 +557:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29 +558:GrGeometryProcessor::Attribute&\20skia_private::TArray::emplace_back\28char\20const\20\28&\29\20\5b10\5d\2c\20GrVertexAttribType&&\2c\20SkSLType&&\29 +559:Cr_z_crc32 +560:u_strlen_74 +561:skia_png_push_save_buffer +562:cosf +563:SkSL::Type::MakeAliasType\28std::__2::basic_string_view>\2c\20SkSL::Type\20const&\29 +564:SkSL::RP::SlotManager::getVariableSlots\28SkSL::Variable\20const&\29 +565:SkSL::RP::Builder::unary_op\28SkSL::RP::BuilderOp\2c\20int\29 +566:SkReadBuffer::readScalar\28\29 +567:GrProcessorSet::visitProxies\28std::__2::function\20const&\29\20const +568:GrGLTexture::target\28\29\20const +569:ures_getByKey_74 +570:sk_srgb_singleton\28\29 +571:fmodf +572:fma +573:SkSurface_Base::aboutToDraw\28SkSurface::ContentChangeMode\29 +574:SkSL::Pool::FreeMemory\28void*\29 +575:SkPaint::SkPaint\28SkPaint&&\29 +576:SkDPoint::ApproximatelyEqual\28SkPoint\20const&\2c\20SkPoint\20const&\29 +577:SkBitmap::SkBitmap\28SkBitmap\20const&\29 +578:void\20std::__2::vector>\2c\20std::__2::allocator>>>::__push_back_slow_path>>\28std::__2::unique_ptr>&&\29 +579:std::__2::basic_string\2c\20std::__2::allocator>::__init_copy_ctor_external\28char\20const*\2c\20unsigned\20long\29 +580:skip_spaces +581:skcms_Transform +582:sk_realloc_throw\28void*\2c\20unsigned\20long\29 +583:emscripten::smart_ptr_trait>::get\28sk_sp\20const&\29 +584:cff2_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +585:cff1_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +586:bool\20OT::Layout::Common::Coverage::collect_coverage\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>>\28hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>*\29\20const +587:SkString::operator=\28SkString\20const&\29 +588:SkSL::Type::toCompound\28SkSL::Context\20const&\2c\20int\2c\20int\29\20const +589:SkPath::transform\28SkMatrix\20const&\2c\20SkPath*\2c\20SkApplyPerspectiveClip\29\20const +590:SkPath::quadTo\28float\2c\20float\2c\20float\2c\20float\29 +591:SkCanvas::save\28\29 +592:SkBlockAllocator::addBlock\28int\2c\20int\29 +593:SkBitmap::tryAllocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29 +594:SkAAClipBlitter::~SkAAClipBlitter\28\29 +595:OT::hb_ot_apply_context_t::match_properties_mark\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +596:GrThreadSafeCache::VertexData::~VertexData\28\29 +597:GrShape::asPath\28SkPath*\2c\20bool\29\20const +598:GrShaderVar::appendDecl\28GrShaderCaps\20const*\2c\20SkString*\29\20const +599:GrPixmapBase::~GrPixmapBase\28\29 +600:GrGLSLVaryingHandler::emitAttributes\28GrGeometryProcessor\20const&\29 +601:uhash_put_74 +602:std::__2::unique_ptr::reset\5babi:v160004\5d\28unsigned\20char*\29 +603:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +604:skia_private::TArray::push_back\28SkPaint\20const&\29 +605:png_icc_profile_error +606:icu_74::UnicodeString::getChar32At\28int\29\20const +607:icu_74::CharStringByteSink::CharStringByteSink\28icu_74::CharString*\29 +608:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression\20const&\29 +609:SkRasterClip::~SkRasterClip\28\29 +610:SkPixmap::reset\28SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +611:SkPathRef::~SkPathRef\28\29 +612:SkPath::countPoints\28\29\20const +613:SkPaint::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +614:SkPaint::canComputeFastBounds\28\29\20const +615:SkOpPtT::contains\28SkOpPtT\20const*\29\20const +616:SkOpAngle::segment\28\29\20const +617:SkMatrix::preConcat\28SkMatrix\20const&\29 +618:SkMatrix::mapVectors\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +619:SkMasks::getRed\28unsigned\20int\29\20const +620:SkMasks::getGreen\28unsigned\20int\29\20const +621:SkMasks::getBlue\28unsigned\20int\29\20const +622:SkColorInfo::shiftPerPixel\28\29\20const +623:GrProcessorSet::~GrProcessorSet\28\29 +624:GrMeshDrawOp::createProgramInfo\28GrMeshDrawTarget*\29 +625:FT_Stream_ReadFields +626:AutoLayerForImageFilter::~AutoLayerForImageFilter\28\29 +627:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +628:saveSetjmp +629:operator==\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +630:icu_74::UnicodeString::UnicodeString\28icu_74::UnicodeString\20const&\29 +631:icu_74::UnicodeSet::compact\28\29 +632:hb_face_t::load_num_glyphs\28\29\20const +633:emscripten::internal::MethodInvoker::invoke\28int\20\28SkAnimatedImage::*\20const&\29\28\29\2c\20SkAnimatedImage*\29 +634:emscripten::default_smart_ptr_trait>::construct_null\28\29 +635:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +636:VP8GetSignedValue +637:SkSafeMath::Mul\28unsigned\20long\2c\20unsigned\20long\29 +638:SkSL::Type::MakeVectorType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\29 +639:SkRasterPipeline::SkRasterPipeline\28SkArenaAlloc*\29 +640:SkPoint::setLength\28float\29 +641:SkImageGenerator::onIsValid\28GrRecordingContext*\29\20const +642:OT::GDEF::accelerator_t::mark_set_covers\28unsigned\20int\2c\20unsigned\20int\29\20const +643:GrTextureProxy::mipmapped\28\29\20const +644:GrGpuResource::~GrGpuResource\28\29 +645:FT_Stream_GetULong +646:FT_Get_Char_Index +647:Cr_z__tr_flush_bits +648:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +649:void\20emscripten::internal::MemberAccess::setWire\28int\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform&\2c\20int\29 +650:uhash_setKeyDeleter_74 +651:uhash_init_74 +652:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +653:std::__2::__throw_overflow_error\5babi:v160004\5d\28char\20const*\29 +654:skia_private::THashMap::set\28char\20const*\2c\20unsigned\20int\29 +655:skia_png_chunk_report +656:skgpu::UniqueKey::operator=\28skgpu::UniqueKey\20const&\29 +657:sk_double_nearly_zero\28double\29 +658:int\20emscripten::internal::MemberAccess::getWire\28int\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform\20const&\29 +659:icu_74::UnicodeString::tempSubString\28int\2c\20int\29\20const +660:icu_74::Locale::~Locale\28\29 +661:hb_font_get_glyph +662:ft_mem_qalloc +663:fit_linear\28skcms_Curve\20const*\2c\20int\2c\20float\2c\20float*\2c\20float*\2c\20float*\29 +664:expf +665:_output_with_dotted_circle\28hb_buffer_t*\29 +666:WebPSafeMalloc +667:SkStream::readS32\28int*\29 +668:SkSL::GLSLCodeGenerator::getTypeName\28SkSL::Type\20const&\29 +669:SkRGBA4f<\28SkAlphaType\293>::FromColor\28unsigned\20int\29 +670:SkPath::Iter::Iter\28SkPath\20const&\2c\20bool\29 +671:SkMatrix::postConcat\28SkMatrix\20const&\29 +672:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_3::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +673:SkGlyph::rowBytes\28\29\20const +674:SkDrawable::getFlattenableType\28\29\20const +675:SkDrawable::getBounds\28\29 +676:SkDCubic::ptAtT\28double\29\20const +677:SkColorSpace::MakeSRGB\28\29 +678:SkColorInfo::SkColorInfo\28\29 +679:GrOpFlushState::drawMesh\28GrSimpleMesh\20const&\29 +680:GrImageInfo::GrImageInfo\28SkImageInfo\20const&\29 +681:DefaultGeoProc::Impl::~Impl\28\29 +682:skif::LayerSpace::mapRect\28skif::LayerSpace\20const&\29\20const +683:out +684:jpeg_fill_bit_buffer +685:icu_74::ReorderingBuffer::appendZeroCC\28char16_t\20const*\2c\20char16_t\20const*\2c\20UErrorCode&\29 +686:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +687:SkString::data\28\29 +688:SkShaderBase::SkShaderBase\28\29 +689:SkSL::Type::coerceExpression\28std::__2::unique_ptr>\2c\20SkSL::Context\20const&\29\20const +690:SkSL::Type::MakeGenericType\28char\20const*\2c\20SkSpan\2c\20SkSL::Type\20const*\29 +691:SkSL::ConstantFolder::GetConstantValueForVariable\28SkSL::Expression\20const&\29 +692:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29 +693:SkRegion::setRect\28SkIRect\20const&\29 +694:SkRegion::SkRegion\28\29 +695:SkRecords::FillBounds::adjustForSaveLayerPaints\28SkRect*\2c\20int\29\20const +696:SkPathStroker::lineTo\28SkPoint\20const&\2c\20SkPath::Iter\20const*\29 +697:SkPaint::setPathEffect\28sk_sp\29 +698:SkPaint::setMaskFilter\28sk_sp\29 +699:SkPaint::setColor\28unsigned\20int\29 +700:SkPaint::setColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\29 +701:SkOpContourBuilder::flush\28\29 +702:SkImageFilter::getInput\28int\29\20const +703:SkData::MakeWithCopy\28void\20const*\2c\20unsigned\20long\29 +704:SkCanvas::~SkCanvas\28\29.1 +705:SkCanvas::restoreToCount\28int\29 +706:SkCanvas::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +707:SkAutoPixmapStorage::~SkAutoPixmapStorage\28\29 +708:GrMatrixEffect::Make\28SkMatrix\20const&\2c\20std::__2::unique_ptr>\29 +709:u_memcpy_74 +710:std::__2::char_traits::assign\28char&\2c\20char\20const&\29 +711:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +712:std::__2::__check_grouping\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int&\29 +713:skia_png_malloc +714:skia::textlayout::Cluster::run\28\29\20const +715:skgpu::ganesh::SurfaceDrawContext::drawFilledQuad\28GrClip\20const*\2c\20GrPaint&&\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\29 +716:sk_sp::~sk_sp\28\29 +717:png_write_complete_chunk +718:pad +719:icu_74::UnicodeString::UnicodeString\28char16_t\20const*\29 +720:icu_74::UnicodeSet::add\28int\29 +721:hb_lockable_set_t::fini\28hb_mutex_t&\29 +722:ft_mem_alloc +723:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20SkBlendMode\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20SkBlendMode\29 +724:__ashlti3 +725:SkWBuffer::writeNoSizeCheck\28void\20const*\2c\20unsigned\20long\29 +726:SkTCoincident::setPerp\28SkTCurve\20const&\2c\20double\2c\20SkDPoint\20const&\2c\20SkTCurve\20const&\29 +727:SkStrokeRec::SkStrokeRec\28SkStrokeRec::InitStyle\29 +728:SkString::printf\28char\20const*\2c\20...\29 +729:SkSL::Type::MakeMatrixType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\2c\20signed\20char\29 +730:SkSL::Operator::tightOperatorName\28\29\20const +731:SkReadBuffer::readColor4f\28SkRGBA4f<\28SkAlphaType\293>*\29 +732:SkPixmap::reset\28\29 +733:SkPictureData::requiredPaint\28SkReadBuffer*\29\20const +734:SkPath::cubicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +735:SkPath::close\28\29 +736:SkPaintToGrPaint\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +737:SkPaint::setBlendMode\28SkBlendMode\29 +738:SkFindUnitQuadRoots\28float\2c\20float\2c\20float\2c\20float*\29 +739:SkDeque::push_back\28\29 +740:SkCanvas::internalQuickReject\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\29 +741:SkBinaryWriteBuffer::writeBool\28bool\29 +742:OT::hb_paint_context_t::return_t\20OT::Paint::dispatch\28OT::hb_paint_context_t*\29\20const +743:GrShape::bounds\28\29\20const +744:GrProgramInfo::GrProgramInfo\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrGeometryProcessor\20const*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +745:GrPixmapBase::GrPixmapBase\28GrImageInfo\2c\20void*\2c\20unsigned\20long\29 +746:GrColorInfo::GrColorInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\29 +747:FT_Outline_Translate +748:FT_Load_Glyph +749:FT_GlyphLoader_CheckPoints +750:DefaultGeoProc::~DefaultGeoProc\28\29 +751:utext_current32_74 +752:u_terminateUChars_74 +753:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +754:std::__2::basic_string\2c\20std::__2::allocator>::__set_short_size\5babi:v160004\5d\28unsigned\20long\29 +755:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_size\5babi:v160004\5d\28unsigned\20long\29 +756:sinf +757:icu_74::BMPSet::~BMPSet\28\29.1 +758:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28GrDirectContext&\2c\20unsigned\20long\29\2c\20GrDirectContext*\2c\20unsigned\20long\29 +759:byn$mgfn-shared$std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +760:SkTextBlob::~SkTextBlob\28\29 +761:SkRasterPipeline::extend\28SkRasterPipeline\20const&\29 +762:SkMatrix::preTranslate\28float\2c\20float\29 +763:SkMatrix::mapXY\28float\2c\20float\2c\20SkPoint*\29\20const +764:SkMatrix::mapRadius\28float\29\20const +765:SkIRect::join\28SkIRect\20const&\29 +766:SkData::MakeUninitialized\28unsigned\20long\29 +767:SkDQuad::RootsValidT\28double\2c\20double\2c\20double\2c\20double*\29 +768:SkDLine::nearPoint\28SkDPoint\20const&\2c\20bool*\29\20const +769:SkConic::chopIntoQuadsPOW2\28SkPoint*\2c\20int\29\20const +770:SkColorSpaceXformSteps::apply\28float*\29\20const +771:SkCodec::applyColorXform\28void*\2c\20void\20const*\2c\20int\29\20const +772:SkCachedData::internalRef\28bool\29\20const +773:SkBitmap::installPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29 +774:GrSurface::RefCntedReleaseProc::~RefCntedReleaseProc\28\29 +775:GrStyle::initPathEffect\28sk_sp\29 +776:GrProcessor::operator\20delete\28void*\29 +777:GrGpuResource::hasRef\28\29\20const +778:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::~Impl\28\29 +779:GrBufferAllocPool::~GrBufferAllocPool\28\29.1 +780:strncpy +781:std::__2::numpunct::thousands_sep\5babi:v160004\5d\28\29\20const +782:std::__2::numpunct::grouping\5babi:v160004\5d\28\29\20const +783:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +784:skia_png_malloc_warn +785:rewind\28GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +786:icu_74::UVector::removeAllElements\28\29 +787:icu_74::BytesTrie::~BytesTrie\28\29 +788:icu_74::BytesTrie::next\28int\29 +789:cf2_stack_popInt +790:SkUTF::NextUTF8\28char\20const**\2c\20char\20const*\29 +791:SkSL::GLSLCodeGenerator::write\28std::__2::basic_string_view>\29 +792:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29 +793:SkPaint::setColorFilter\28sk_sp\29 +794:SkMatrixPriv::MapRect\28SkM44\20const&\2c\20SkRect\20const&\29 +795:SkImageInfo::MakeA8\28int\2c\20int\29 +796:SkData::MakeWithProc\28void\20const*\2c\20unsigned\20long\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +797:SkData::MakeEmpty\28\29 +798:SkConic::computeQuadPOW2\28float\29\20const +799:SkColorTypeIsAlwaysOpaque\28SkColorType\29 +800:SkColorInfo::makeColorType\28SkColorType\29\20const +801:SkCodec::~SkCodec\28\29 +802:SkAAClip::quickContains\28int\2c\20int\2c\20int\2c\20int\29\20const +803:SkAAClip::isRect\28\29\20const +804:GrSurface::ComputeSize\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20bool\29 +805:GrSimpleMeshDrawOpHelper::GrSimpleMeshDrawOpHelper\28GrProcessorSet*\2c\20GrAAType\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +806:GrGeometryProcessor::ProgramImpl::SetTransform\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrResourceHandle\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix*\29 +807:GrDrawingManager::flushIfNecessary\28\29 +808:GrBlendFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkBlendMode\2c\20bool\29 +809:FT_Stream_ExtractFrame +810:AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +811:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +812:std::__2::basic_string\2c\20std::__2::allocator>::__is_long\5babi:v160004\5d\28\29\20const +813:std::__2::__throw_bad_optional_access\5babi:v160004\5d\28\29 +814:skia_png_malloc_base +815:skgpu::ganesh::AsView\28GrRecordingContext*\2c\20SkImage\20const*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +816:skcms_TransferFunction_eval +817:pow +818:icu_74::UnicodeString::setToBogus\28\29 +819:icu_74::UnicodeString::releaseBuffer\28int\29 +820:icu_74::UnicodeSet::_appendToPat\28icu_74::UnicodeString&\2c\20int\2c\20signed\20char\29 +821:icu_74::UVector::~UVector\28\29 +822:hb_ot_face_t::init0\28hb_face_t*\29 +823:hb_lazy_loader_t\2c\20hb_face_t\2c\2025u\2c\20OT::GSUB_accelerator_t>::get\28\29\20const +824:__addtf3 +825:SkTDStorage::reset\28\29 +826:SkScan::AntiHairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +827:SkSL::TProgramVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +828:SkSL::RP::Builder::label\28int\29 +829:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +830:SkRuntimeEffect::MakeForColorFilter\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +831:SkReadBuffer::skip\28unsigned\20long\2c\20unsigned\20long\29 +832:SkPath::countVerbs\28\29\20const +833:SkMatrix::set9\28float\20const*\29 +834:SkMatrix::getMaxScale\28\29\20const +835:SkImageInfo::computeByteSize\28unsigned\20long\29\20const +836:SkImageInfo::Make\28int\2c\20int\2c\20SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +837:SkImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +838:SkImageFilter_Base::SkImageFilter_Base\28sk_sp\20const*\2c\20int\2c\20std::__2::optional\29 +839:SkFontMgr::countFamilies\28\29\20const +840:SkDrawBase::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20bool\2c\20bool\2c\20SkBlitter*\29\20const +841:SkDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +842:SkBlockAllocator::SkBlockAllocator\28SkBlockAllocator::GrowthPolicy\2c\20unsigned\20long\2c\20unsigned\20long\29 +843:SkBlender::Mode\28SkBlendMode\29 +844:ReadHuffmanCode +845:GrSurfaceProxy::~GrSurfaceProxy\28\29 +846:GrRenderTask::makeClosed\28GrRecordingContext*\29 +847:GrGpuBuffer::unmap\28\29 +848:GrContext_Base::options\28\29\20const +849:GrCaps::getReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +850:GrBufferAllocPool::reset\28\29 +851:FT_Stream_ReadByte +852:std::__2::char_traits::assign\28wchar_t&\2c\20wchar_t\20const&\29 +853:std::__2::char_traits::copy\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +854:std::__2::basic_string\2c\20std::__2::allocator>::begin\5babi:v160004\5d\28\29 +855:std::__2::__next_prime\28unsigned\20long\29 +856:std::__2::__libcpp_snprintf_l\28char*\2c\20unsigned\20long\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +857:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29 +858:locale_get_default_74 +859:is_equal\28std::type_info\20const*\2c\20std::type_info\20const*\2c\20bool\29 +860:hb_buffer_t::sync\28\29 +861:cbrtf +862:__floatsitf +863:WebPSafeCalloc +864:StreamRemainingLengthIsBelow\28SkStream*\2c\20unsigned\20long\29 +865:SkSize\20skif::Mapping::map\28SkSize\20const&\2c\20SkMatrix\20const&\29 +866:SkSL::RP::Builder::swizzle\28int\2c\20SkSpan\29 +867:SkSL::Parser::expression\28\29 +868:SkRuntimeEffect::Uniform::sizeInBytes\28\29\20const +869:SkRGBA4f<\28SkAlphaType\293>::toSkColor\28\29\20const +870:SkPath::isConvex\28\29\20const +871:SkImageFilter_Base::getFlattenableType\28\29\20const +872:SkImageFilter_Base::getChildOutputLayerBounds\28int\2c\20skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +873:SkImageFilter_Base::getChildInputLayerBounds\28int\2c\20skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +874:SkIDChangeListener::List::~List\28\29 +875:SkDQuad::ptAtT\28double\29\20const +876:SkDLine::exactPoint\28SkDPoint\20const&\29\20const +877:SkDConic::ptAtT\28double\29\20const +878:SkColorInfo::makeAlphaType\28SkAlphaType\29\20const +879:SkCanvas::restore\28\29 +880:SkCanvas::drawImage\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +881:SkBitmap::setInfo\28SkImageInfo\20const&\2c\20unsigned\20long\29 +882:SkAAClip::Builder::addRun\28int\2c\20int\2c\20unsigned\20int\2c\20int\29 +883:GrSkSLFP::addChild\28std::__2::unique_ptr>\2c\20bool\29 +884:GrGLSLShaderBuilder::appendTextureLookup\28SkString*\2c\20GrResourceHandle\2c\20char\20const*\29\20const +885:GrFragmentProcessor::cloneAndRegisterAllChildProcessors\28GrFragmentProcessor\20const&\29 +886:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::~SwizzleFragmentProcessor\28\29 +887:GrDrawOpAtlas::~GrDrawOpAtlas\28\29 +888:GrBackendFormat::GrBackendFormat\28GrBackendFormat\20const&\29 +889:AutoLayerForImageFilter::AutoLayerForImageFilter\28SkCanvas*\2c\20SkPaint\20const&\2c\20SkRect\20const*\2c\20bool\29 +890:AutoFTAccess::AutoFTAccess\28SkTypeface_FreeType\20const*\29 +891:AlmostPequalUlps\28float\2c\20float\29 +892:void\20std::__2::vector>\2c\20std::__2::allocator>>>::__emplace_back_slow_path>\28unsigned\20int\20const&\2c\20sk_sp&&\29 +893:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20char\29\20const +894:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char\20const*\29 +895:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_cap\5babi:v160004\5d\28unsigned\20long\29 +896:skia_png_reset_crc +897:skia_png_benign_error +898:memchr +899:icu_74::UnicodeString::operator=\28icu_74::UnicodeString\20const&\29 +900:icu_74::UnicodeString::doReplace\28int\2c\20int\2c\20char16_t\20const*\2c\20int\2c\20int\29 +901:icu_74::UnicodeString::UnicodeString\28signed\20char\2c\20icu_74::ConstChar16Ptr\2c\20int\29 +902:icu_74::UVector::adoptElement\28void*\2c\20UErrorCode&\29 +903:icu_74::MlBreakEngine::initKeyValue\28UResourceBundle*\2c\20char\20const*\2c\20char\20const*\2c\20icu_74::Hashtable&\2c\20UErrorCode&\29 +904:icu_74::ByteSinkUtil::appendUnchanged\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20icu_74::ByteSink&\2c\20unsigned\20int\2c\20icu_74::Edits*\2c\20UErrorCode&\29 +905:hb_buffer_t::sync_so_far\28\29 +906:hb_buffer_t::move_to\28unsigned\20int\29 +907:VP8ExitCritical +908:SkTDStorage::resize\28int\29 +909:SkSwizzler::swizzle\28void*\2c\20unsigned\20char\20const*\29 +910:SkStrokeRec::SkStrokeRec\28SkPaint\20const&\2c\20float\29 +911:SkStream::readPackedUInt\28unsigned\20long*\29 +912:SkSL::Type::coercionCost\28SkSL::Type\20const&\29\20const +913:SkSL::Type::clone\28SkSL::Context\20const&\2c\20SkSL::SymbolTable*\29\20const +914:SkSL::RP::Generator::writeStatement\28SkSL::Statement\20const&\29 +915:SkSL::Parser::operatorRight\28SkSL::Parser::AutoDepth&\2c\20SkSL::OperatorKind\2c\20std::__2::unique_ptr>\20\28SkSL::Parser::*\29\28\29\2c\20std::__2::unique_ptr>&\29 +916:SkRuntimeEffectBuilder::writableUniformData\28\29 +917:SkRuntimeEffect::findUniform\28std::__2::basic_string_view>\29\20const +918:SkResourceCache::Key::init\28void*\2c\20unsigned\20long\20long\2c\20unsigned\20long\29 +919:SkReadBuffer::skip\28unsigned\20long\29 +920:SkReadBuffer::readFlattenable\28SkFlattenable::Type\29 +921:SkRRect::initializeRect\28SkRect\20const&\29 +922:SkPaint::asBlendMode\28\29\20const +923:SkGlyph::path\28\29\20const +924:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\29 +925:GrRenderTargetProxy::arenas\28\29 +926:GrOpFlushState::caps\28\29\20const +927:GrGpuResource::hasNoCommandBufferUsages\28\29\20const +928:GrGeometryProcessor::ProgramImpl::WriteLocalCoord\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20GrShaderVar\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +929:GrGLTextureParameters::SamplerOverriddenState::SamplerOverriddenState\28\29 +930:GrGLGpu::deleteFramebuffer\28unsigned\20int\29 +931:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\29 +932:FT_Stream_ReadULong +933:FT_Get_Module +934:Cr_z__tr_flush_block +935:AlmostBequalUlps\28float\2c\20float\29 +936:utext_previous32_74 +937:ures_hasNext_74 +938:ures_getByKeyWithFallback_74 +939:std::__2::numpunct::truename\5babi:v160004\5d\28\29\20const +940:std::__2::moneypunct::do_grouping\28\29\20const +941:std::__2::locale::use_facet\28std::__2::locale::id&\29\20const +942:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29\20const +943:std::__2::basic_string\2c\20std::__2::allocator>::empty\5babi:v160004\5d\28\29\20const +944:sktext::gpu::BagOfBytes::needMoreBytes\28int\2c\20int\29 +945:skia_png_save_int_32 +946:skia_png_safecat +947:skia_png_gamma_significant +948:skgpu::ganesh::SurfaceContext::readPixels\28GrDirectContext*\2c\20GrPixmap\2c\20SkIPoint\29 +949:icu_74::UnicodeString::setTo\28signed\20char\2c\20icu_74::ConstChar16Ptr\2c\20int\29 +950:icu_74::UnicodeString::getBuffer\28int\29 +951:icu_74::UnicodeString::doAppend\28icu_74::UnicodeString\20const&\2c\20int\2c\20int\29 +952:icu_74::UVector32::~UVector32\28\29 +953:icu_74::RuleBasedBreakIterator::handleNext\28\29 +954:icu_74::Locale::Locale\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +955:hb_lazy_loader_t\2c\20hb_face_t\2c\2026u\2c\20OT::GPOS_accelerator_t>::get\28\29\20const +956:hb_font_get_nominal_glyph +957:hb_buffer_t::clear_output\28\29 +958:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPaint\20const&\29\2c\20SkCanvas*\2c\20SkPaint*\29 +959:emscripten::internal::FunctionInvoker::invoke\28unsigned\20long\20\28**\29\28GrDirectContext&\29\2c\20GrDirectContext*\29 +960:cff_parse_num +961:\28anonymous\20namespace\29::write_trc_tag\28skcms_Curve\20const&\29 +962:T_CString_toLowerCase_74 +963:SkWStream::writeScalarAsText\28float\29 +964:SkTSect::SkTSect\28SkTCurve\20const&\29 +965:SkString::set\28char\20const*\2c\20unsigned\20long\29 +966:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Context\20const&\2c\20SkSL::Symbol*\29 +967:SkSL::Swizzle::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29 +968:SkSL::Parser::layoutInt\28\29 +969:SkSL::Parser::expectIdentifier\28SkSL::Token*\29 +970:SkRegion::Cliperator::next\28\29 +971:SkRegion::Cliperator::Cliperator\28SkRegion\20const&\2c\20SkIRect\20const&\29 +972:SkRRect::setOval\28SkRect\20const&\29 +973:SkPictureRecorder::~SkPictureRecorder\28\29 +974:SkPathRef::CreateEmpty\28\29 +975:SkPath::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +976:SkPaint::operator=\28SkPaint&&\29 +977:SkMasks::getAlpha\28unsigned\20int\29\20const +978:SkM44::setConcat\28SkM44\20const&\2c\20SkM44\20const&\29 +979:SkImageFilters::Crop\28SkRect\20const&\2c\20SkTileMode\2c\20sk_sp\29 +980:SkImageFilter_Base::getChildOutput\28int\2c\20skif::Context\20const&\29\20const +981:SkIDChangeListener::List::List\28\29 +982:SkData::MakeFromMalloc\28void\20const*\2c\20unsigned\20long\29 +983:SkDRect::setBounds\28SkTCurve\20const&\29 +984:SkColorFilter::isAlphaUnchanged\28\29\20const +985:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +986:SkCanvas::translate\28float\2c\20float\29 +987:SkBitmapCache::Rec::getKey\28\29\20const +988:PS_Conv_ToFixed +989:OT::hb_ot_apply_context_t::hb_ot_apply_context_t\28unsigned\20int\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20hb_blob_t*\29 +990:GrTriangulator::Line::intersect\28GrTriangulator::Line\20const&\2c\20SkPoint*\29\20const +991:GrSimpleMeshDrawOpHelper::isCompatible\28GrSimpleMeshDrawOpHelper\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +992:GrQuad::MakeFromSkQuad\28SkPoint\20const*\2c\20SkMatrix\20const&\29 +993:GrOpsRenderPass::bindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +994:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkISize\20const&\29 +995:GrGLSLShaderBuilder::appendTextureLookup\28GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +996:GrColorInfo::GrColorInfo\28SkColorInfo\20const&\29 +997:AlmostDequalUlps\28double\2c\20double\29 +998:utrace_exit_74 +999:utrace_entry_74 +1000:ures_getNextResource_74 +1001:uprv_toupper_74 +1002:tt_face_get_name +1003:strrchr +1004:std::__2::vector>::size\5babi:v160004\5d\28\29\20const +1005:std::__2::to_string\28long\20long\29 +1006:std::__2::__libcpp_locale_guard::~__libcpp_locale_guard\5babi:v160004\5d\28\29 +1007:std::__2::__libcpp_locale_guard::__libcpp_locale_guard\5babi:v160004\5d\28__locale_struct*&\29 +1008:skif::FilterResult::~FilterResult\28\29 +1009:skia_png_app_error +1010:skgpu::ganesh::SurfaceFillContext::getOpsTask\28\29 +1011:isdigit +1012:icu_74::UnicodeString::doIndexOf\28char16_t\2c\20int\2c\20int\29\20const +1013:hb_sanitize_context_t::return_t\20OT::Paint::dispatch\28hb_sanitize_context_t*\29\20const +1014:hb_ot_layout_lookup_would_substitute +1015:hb_buffer_t::unsafe_to_break\28unsigned\20int\2c\20unsigned\20int\29 +1016:ft_module_get_service +1017:cf2_hintmap_map +1018:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +1019:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28\29\20const +1020:__sindf +1021:__shlim +1022:__cosdf +1023:\28anonymous\20namespace\29::init_resb_result\28UResourceDataEntry*\2c\20unsigned\20int\2c\20char\20const*\2c\20int\2c\20UResourceDataEntry*\2c\20char\20const*\2c\20int\2c\20UResourceBundle*\2c\20UErrorCode*\29 +1024:SkTiff::ImageFileDirectory::getEntryValuesGeneric\28unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20int\2c\20void*\29\20const +1025:SkSurface::getCanvas\28\29 +1026:SkSL::cast_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +1027:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitType\28SkSL::Type\20const&\29 +1028:SkSL::VariableReference::VariableReference\28SkSL::Position\2c\20SkSL::Variable\20const*\2c\20SkSL::VariableRefKind\29 +1029:SkSL::Variable::initialValue\28\29\20const +1030:SkSL::SymbolTable::lookup\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +1031:SkSL::SymbolTable::addArrayDimension\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20int\29 +1032:SkSL::StringStream::str\28\29\20const +1033:SkSL::RP::Program::appendCopy\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20std::byte*\2c\20SkSL::RP::ProgramOp\2c\20unsigned\20int\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29\20const +1034:SkSL::RP::Generator::makeLValue\28SkSL::Expression\20const&\2c\20bool\29 +1035:SkSL::RP::DynamicIndexLValue::dynamicSlotRange\28\29 +1036:SkSL::GLSLCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +1037:SkSL::Expression::description\28\29\20const +1038:SkSL::Analysis::UpdateVariableRefKind\28SkSL::Expression*\2c\20SkSL::VariableRefKind\2c\20SkSL::ErrorReporter*\29 +1039:SkRegion::setEmpty\28\29 +1040:SkRasterPipeline::appendLoadDst\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +1041:SkRRect::setRectRadii\28SkRect\20const&\2c\20SkPoint\20const*\29 +1042:SkPointPriv::DistanceToLineSegmentBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +1043:SkPath::arcTo\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +1044:SkPath::addPath\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPath::AddPathMode\29 +1045:SkPaint::setImageFilter\28sk_sp\29 +1046:SkOpSpanBase::contains\28SkOpSegment\20const*\29\20const +1047:SkMipmap::ComputeLevelCount\28int\2c\20int\29 +1048:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint\20const*\2c\20int\29\20const +1049:SkMatrix::isSimilarity\28float\29\20const +1050:SkKnownRuntimeEffects::GetKnownRuntimeEffect\28SkKnownRuntimeEffects::StableKey\29 +1051:SkImageFilter::countInputs\28\29\20const +1052:SkIDChangeListener::List::changed\28\29 +1053:SkDynamicMemoryWStream::detachAsData\28\29 +1054:SkColorSpace::Equals\28SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +1055:SkColorFilter::filterColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\2c\20SkColorSpace*\29\20const +1056:SkCanvas::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +1057:SkAutoPixmapStorage::SkAutoPixmapStorage\28\29 +1058:SkAAClipBlitterWrapper::init\28SkRasterClip\20const&\2c\20SkBlitter*\29 +1059:SkAAClipBlitterWrapper::SkAAClipBlitterWrapper\28\29 +1060:RunBasedAdditiveBlitter::flush\28\29 +1061:GrSurface::onRelease\28\29 +1062:GrStyledShape::unstyledKeySize\28\29\20const +1063:GrShape::convex\28bool\29\20const +1064:GrRecordingContext::threadSafeCache\28\29 +1065:GrProxyProvider::caps\28\29\20const +1066:GrOp::GrOp\28unsigned\20int\29 +1067:GrMakeUncachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +1068:GrGLSLShaderBuilder::getMangledFunctionName\28char\20const*\29 +1069:GrGLGpu::bindBuffer\28GrGpuBufferType\2c\20GrBuffer\20const*\29 +1070:GrGLAttribArrayState::set\28GrGLGpu*\2c\20int\2c\20GrBuffer\20const*\2c\20GrVertexAttribType\2c\20SkSLType\2c\20int\2c\20unsigned\20long\2c\20int\29 +1071:GrAAConvexTessellator::Ring::computeNormals\28GrAAConvexTessellator\20const&\29 +1072:GrAAConvexTessellator::Ring::computeBisectors\28GrAAConvexTessellator\20const&\29 +1073:FT_Activate_Size +1074:Cr_z_adler32 +1075:vsnprintf +1076:void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +1077:void\20extend_pts<\28SkPaint::Cap\291>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +1078:ucptrie_getRange_74 +1079:u_strchr_74 +1080:top12 +1081:toSkImageInfo\28SimpleImageInfo\20const&\29 +1082:std::__2::pair::type\2c\20std::__2::__unwrap_ref_decay::type>\20std::__2::make_pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +1083:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +1084:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\2c\20std::__2::allocator>\28char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +1085:std::__2::__tree\2c\20std::__2::__map_value_compare\2c\20std::__2::less\2c\20true>\2c\20std::__2::allocator>>::destroy\28std::__2::__tree_node\2c\20void*>*\29 +1086:std::__2::__num_put_base::__identify_padding\28char*\2c\20char*\2c\20std::__2::ios_base\20const&\29 +1087:std::__2::__num_get_base::__get_base\28std::__2::ios_base&\29 +1088:std::__2::__libcpp_asprintf_l\28char**\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +1089:skia_private::THashTable::Traits>::removeSlot\28int\29 +1090:skia_png_zstream_error +1091:skia::textlayout::TextLine::iterateThroughVisualRuns\28bool\2c\20std::__2::function\2c\20float*\29>\20const&\29\20const +1092:skia::textlayout::ParagraphImpl::cluster\28unsigned\20long\29 +1093:skia::textlayout::Cluster::runOrNull\28\29\20const +1094:skgpu::ganesh::SurfaceFillContext::replaceOpsTask\28\29 +1095:skcms_TransferFunction_getType +1096:skcms_GetTagBySignature +1097:res_getStringNoTrace_74 +1098:read_curve\28unsigned\20char\20const*\2c\20unsigned\20int\2c\20skcms_Curve*\2c\20unsigned\20int*\29 +1099:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +1100:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +1101:icu_74::UnicodeString::unBogus\28\29 +1102:icu_74::UnicodeSetStringSpan::~UnicodeSetStringSpan\28\29 +1103:icu_74::SimpleFilteredSentenceBreakIterator::operator==\28icu_74::BreakIterator\20const&\29\20const +1104:icu_74::Locale::init\28char\20const*\2c\20signed\20char\29 +1105:hb_serialize_context_t::pop_pack\28bool\29 +1106:hb_lazy_loader_t\2c\20hb_face_t\2c\206u\2c\20hb_blob_t>::get\28\29\20const +1107:getenv +1108:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::__wrap_iter\20const&\2c\20std::__2::__wrap_iter\20const&\29 +1109:afm_parser_read_vals +1110:__extenddftf2 +1111:\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1112:\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1113:\28anonymous\20namespace\29::colrv1_transform\28FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\2c\20SkCanvas*\2c\20SkMatrix*\29 +1114:WebPRescalerImport +1115:SkTDStorage::removeShuffle\28int\29 +1116:SkString::SkString\28char\20const*\2c\20unsigned\20long\29 +1117:SkScan::HairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +1118:SkSL::ProgramUsage::get\28SkSL::Variable\20const&\29\20const +1119:SkSL::Inliner::inlineStatement\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Analysis::ReturnComplexity\2c\20SkSL::Statement\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20bool\29 +1120:SkSL::InlineCandidateAnalyzer::visitExpression\28std::__2::unique_ptr>*\29 +1121:SkSL::GLSLCodeGenerator::getTypePrecision\28SkSL::Type\20const&\29 +1122:SkReadBuffer::readByteArray\28void*\2c\20unsigned\20long\29 +1123:SkRasterPipeline::run\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +1124:SkRBuffer::read\28void*\2c\20unsigned\20long\29 +1125:SkPictureData::optionalPaint\28SkReadBuffer*\29\20const +1126:SkPathWriter::isClosed\28\29\20const +1127:SkPath::isRect\28SkRect*\2c\20bool*\2c\20SkPathDirection*\29\20const +1128:SkPath::getGenerationID\28\29\20const +1129:SkPaint::setStrokeWidth\28float\29 +1130:SkOpSegment::nextChase\28SkOpSpanBase**\2c\20int*\2c\20SkOpSpan**\2c\20SkOpSpanBase**\29\20const +1131:SkOpSegment::addCurveTo\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkPathWriter*\29\20const +1132:SkMemoryStream::Make\28sk_sp\29 +1133:SkMatrix::preScale\28float\2c\20float\29 +1134:SkMatrix::postScale\28float\2c\20float\29 +1135:SkMask::computeImageSize\28\29\20const +1136:SkIntersections::removeOne\28int\29 +1137:SkImageInfo::Make\28int\2c\20int\2c\20SkColorType\2c\20SkAlphaType\29 +1138:SkDevice::makeSpecial\28SkBitmap\20const&\29 +1139:SkDLine::ptAtT\28double\29\20const +1140:SkBulkGlyphMetrics::~SkBulkGlyphMetrics\28\29 +1141:SkBlockMemoryStream::getLength\28\29\20const +1142:SkBitmap::peekPixels\28SkPixmap*\29\20const +1143:SkAAClip::setEmpty\28\29 +1144:PS_Conv_Strtol +1145:OT::Layout::GSUB_impl::SubstLookup*\20hb_serialize_context_t::push\28\29 +1146:GrTriangulator::makeConnectingEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\2c\20int\29 +1147:GrTextureProxy::~GrTextureProxy\28\29 +1148:GrSimpleMeshDrawOpHelper::createProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1149:GrResourceAllocator::addInterval\28GrSurfaceProxy*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20GrResourceAllocator::ActualUse\2c\20GrResourceAllocator::AllowRecycling\29 +1150:GrRecordingContextPriv::makeSFCWithFallback\28GrImageInfo\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1151:GrGpuBuffer::updateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +1152:GrGLTextureParameters::NonsamplerState::NonsamplerState\28\29 +1153:GrGLSLShaderBuilder::~GrGLSLShaderBuilder\28\29 +1154:GrGLSLProgramBuilder::nameVariable\28char\2c\20char\20const*\2c\20bool\29 +1155:GrGLGpu::prepareToDraw\28GrPrimitiveType\29 +1156:GrGLFormatFromGLEnum\28unsigned\20int\29 +1157:GrBackendTexture::getBackendFormat\28\29\20const +1158:GrBackendFormats::MakeGL\28unsigned\20int\2c\20unsigned\20int\29 +1159:GrBackendFormatToCompressionType\28GrBackendFormat\20const&\29 +1160:FilterLoop24_C +1161:FT_Stream_Skip +1162:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +1163:AAT::Lookup::sanitize\28hb_sanitize_context_t*\29\20const +1164:utext_close_74 +1165:ures_open_74 +1166:ures_getStringByKey_74 +1167:ures_getKey_74 +1168:ulocimp_getLanguage_74\28char\20const*\2c\20char\20const**\2c\20UErrorCode&\29 +1169:uhash_puti_74 +1170:u_terminateChars_74 +1171:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +1172:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\20const*\2c\20char\20const*\29\20const +1173:std::__2::enable_if::type\20skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::AddTrianglesWhenChopping\2c\20skgpu::tess::DiscardFlatCurves>::writeTriangleStack\28skgpu::tess::MiddleOutPolygonTriangulator::PoppedTriangleStack&&\29 +1174:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +1175:std::__2::basic_string\2c\20std::__2::allocator>::__get_long_cap\5babi:v160004\5d\28\29\20const +1176:skif::LayerSpace::ceil\28\29\20const +1177:skia_private::TArray::push_back\28float\20const&\29 +1178:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +1179:skia_png_write_finish_row +1180:skia::textlayout::ParagraphImpl::ensureUTF16Mapping\28\29 +1181:scalbn +1182:non-virtual\20thunk\20to\20GrOpFlushState::allocator\28\29 +1183:icu_74::UnicodeSet::applyPattern\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +1184:icu_74::Normalizer2Impl::getFCD16FromNormData\28int\29\20const +1185:icu_74::Locale::Locale\28\29 +1186:icu_74::BytesTrie::readValue\28unsigned\20char\20const*\2c\20int\29 +1187:hb_lazy_loader_t\2c\20hb_face_t\2c\2022u\2c\20hb_blob_t>::get\28\29\20const +1188:hb_lazy_loader_t\2c\20hb_face_t\2c\2024u\2c\20OT::GDEF_accelerator_t>::get\28\29\20const +1189:hb_buffer_get_glyph_infos +1190:hb_buffer_destroy +1191:embind_init_Paragraph\28\29::$_5::__invoke\28skia::textlayout::ParagraphBuilderImpl&\29 +1192:cff2_path_param_t::line_to\28CFF::point_t\20const&\29 +1193:cff1_path_param_t::line_to\28CFF::point_t\20const&\29 +1194:cf2_stack_getReal +1195:byn$mgfn-shared$GrGLProgramDataManager::set1iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +1196:antifilldot8\28int\2c\20int\2c\20int\2c\20int\2c\20SkBlitter*\2c\20bool\29 +1197:afm_stream_skip_spaces +1198:WebPRescalerInit +1199:WebPRescalerExportRow +1200:SkWStream::writeDecAsText\28int\29 +1201:SkTextBlobBuilder::allocInternal\28SkFont\20const&\2c\20SkTextBlob::GlyphPositioning\2c\20int\2c\20int\2c\20SkPoint\2c\20SkRect\20const*\29 +1202:SkTDStorage::append\28void\20const*\2c\20int\29 +1203:SkString::Rec::Make\28char\20const*\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +1204:SkStrike::digestFor\28skglyph::ActionType\2c\20SkPackedGlyphID\29 +1205:SkShaders::Color\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\29 +1206:SkShader::makeWithLocalMatrix\28SkMatrix\20const&\29\20const +1207:SkSafeMath::Add\28unsigned\20long\2c\20unsigned\20long\29 +1208:SkSL::Parser::assignmentExpression\28\29 +1209:SkSL::ConstructorSplat::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1210:SkSL::ConstructorScalarCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1211:SkResourceCache::Find\28SkResourceCache::Key\20const&\2c\20bool\20\28*\29\28SkResourceCache::Rec\20const&\2c\20void*\29\2c\20void*\29 +1212:SkRegion::SkRegion\28SkIRect\20const&\29 +1213:SkRect::toQuad\28SkPoint*\29\20const +1214:SkRasterPipeline::appendTransferFunction\28skcms_TransferFunction\20const&\29 +1215:SkRasterPipeline::appendStore\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +1216:SkRasterPipeline::appendConstantColor\28SkArenaAlloc*\2c\20float\20const*\29 +1217:SkRasterClip::SkRasterClip\28\29 +1218:SkRRect::checkCornerContainment\28float\2c\20float\29\20const +1219:SkPictureData::getImage\28SkReadBuffer*\29\20const +1220:SkPathMeasure::getLength\28\29 +1221:SkPathBuilder::~SkPathBuilder\28\29 +1222:SkPathBuilder::detach\28\29 +1223:SkPathBuilder::SkPathBuilder\28\29 +1224:SkPath::addPoly\28SkPoint\20const*\2c\20int\2c\20bool\29 +1225:SkPaint::refPathEffect\28\29\20const +1226:SkMipmap::getLevel\28int\2c\20SkMipmap::Level*\29\20const +1227:SkJSONWriter::endArray\28\29 +1228:SkJSONWriter::appendCString\28char\20const*\2c\20char\20const*\29 +1229:SkIntersections::setCoincident\28int\29 +1230:SkImageInfo::computeOffset\28int\2c\20int\2c\20unsigned\20long\29\20const +1231:SkImageFilter_Base::flatten\28SkWriteBuffer&\29\20const +1232:SkDrawBase::SkDrawBase\28\29 +1233:SkDLine::NearPointV\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1234:SkDLine::NearPointH\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1235:SkDLine::ExactPointV\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1236:SkDLine::ExactPointH\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1237:SkColorSpaceXformSteps::apply\28SkRasterPipeline*\29\20const +1238:SkColorFilter::asAColorMode\28unsigned\20int*\2c\20SkBlendMode*\29\20const +1239:SkCodec::SkCodec\28SkEncodedInfo&&\2c\20skcms_PixelFormat\2c\20std::__2::unique_ptr>\2c\20SkEncodedOrigin\29 +1240:SkCanvas::drawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +1241:SkCanvas::drawColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +1242:SkCanvas::aboutToDraw\28SkPaint\20const&\2c\20SkRect\20const*\2c\20SkEnumBitMask\29 +1243:SkBulkGlyphMetrics::SkBulkGlyphMetrics\28SkStrikeSpec\20const&\29 +1244:SkBlockAllocator::releaseBlock\28SkBlockAllocator::Block*\29 +1245:SkBitmap::asImage\28\29\20const +1246:SkAAClipBlitterWrapper::SkAAClipBlitterWrapper\28SkRasterClip\20const&\2c\20SkBlitter*\29 +1247:OT::MVAR::get_var\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\29\20const +1248:GrXferProcessor::GrXferProcessor\28GrProcessor::ClassID\2c\20bool\2c\20GrProcessorAnalysisCoverage\29 +1249:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20GrCaps\20const&\2c\20float\20const*\29 +1250:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\29 +1251:GrSimpleMeshDrawOpHelper::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20bool*\29 +1252:GrResourceProvider::findResourceByUniqueKey\28skgpu::UniqueKey\20const&\29 +1253:GrRecordingContext::OwnedArenas::get\28\29 +1254:GrProxyProvider::createProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\29 +1255:GrProxyProvider::assignUniqueKeyToProxy\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\29 +1256:GrProcessorSet::finalize\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrCaps\20const&\2c\20GrClampType\2c\20SkRGBA4f<\28SkAlphaType\292>*\29 +1257:GrOpFlushState::allocator\28\29 +1258:GrOp::cutChain\28\29 +1259:GrMeshDrawTarget::makeVertexWriter\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +1260:GrGpuResource::GrGpuResource\28GrGpu*\2c\20std::__2::basic_string_view>\29 +1261:GrGeometryProcessor::TextureSampler::reset\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +1262:GrGeometryProcessor::AttributeSet::end\28\29\20const +1263:GrGeometryProcessor::AttributeSet::Iter::operator++\28\29 +1264:GrGeometryProcessor::AttributeSet::Iter::operator*\28\29\20const +1265:GrGLTextureParameters::set\28GrGLTextureParameters::SamplerOverriddenState\20const*\2c\20GrGLTextureParameters::NonsamplerState\20const&\2c\20unsigned\20long\20long\29 +1266:GrClip::GetPixelIBounds\28SkRect\20const&\2c\20GrAA\2c\20GrClip::BoundsType\29 +1267:GrBackendTexture::~GrBackendTexture\28\29 +1268:FT_Outline_Get_CBox +1269:FT_Get_Sfnt_Table +1270:utf8_prevCharSafeBody_74 +1271:ures_getString_74 +1272:ulocimp_getScript_74\28char\20const*\2c\20char\20const**\2c\20UErrorCode&\29 +1273:uhash_open_74 +1274:u_UCharsToChars_74 +1275:std::__2::vector>::__destroy_vector::__destroy_vector\28std::__2::vector>&\29 +1276:std::__2::moneypunct::negative_sign\5babi:v160004\5d\28\29\20const +1277:std::__2::moneypunct::neg_format\5babi:v160004\5d\28\29\20const +1278:std::__2::moneypunct::do_pos_format\28\29\20const +1279:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +1280:std::__2::char_traits::copy\28wchar_t*\2c\20wchar_t\20const*\2c\20unsigned\20long\29 +1281:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1282:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1283:std::__2::basic_string\2c\20std::__2::allocator>::__set_size\5babi:v160004\5d\28unsigned\20long\29 +1284:std::__2::basic_string\2c\20std::__2::allocator>::__assign_external\28char\20const*\2c\20unsigned\20long\29 +1285:std::__2::__itoa::__append2\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1286:snprintf +1287:sktext::gpu::GlyphVector::glyphs\28\29\20const +1288:sktext::SkStrikePromise::SkStrikePromise\28sktext::SkStrikePromise&&\29 +1289:skif::FilterResult::resolve\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20bool\29\20const +1290:skif::FilterResult::analyzeBounds\28SkMatrix\20const&\2c\20SkIRect\20const&\2c\20skif::FilterResult::BoundsScope\29\20const +1291:skia_png_read_finish_row +1292:skia_png_handle_unknown +1293:skia_png_gamma_correct +1294:skia_png_colorspace_sync +1295:skia_png_app_warning +1296:skia::textlayout::TextStyle::operator=\28skia::textlayout::TextStyle\20const&\29 +1297:skia::textlayout::TextLine::offset\28\29\20const +1298:skia::textlayout::Run::placeholderStyle\28\29\20const +1299:skia::textlayout::Cluster::Cluster\28skia::textlayout::ParagraphImpl*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkSpan\2c\20float\2c\20float\29 +1300:skgpu::ganesh::SurfaceFillContext::fillRectWithFP\28SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +1301:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20std::__2::basic_string_view>\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1302:skgpu::ganesh::SurfaceContext::PixelTransferResult::~PixelTransferResult\28\29 +1303:skgpu::ganesh::ClipStack::SaveRecord::state\28\29\20const +1304:sk_doubles_nearly_equal_ulps\28double\2c\20double\2c\20unsigned\20char\29 +1305:ps_parser_to_token +1306:isspace +1307:icu_74::UnicodeString::moveIndex32\28int\2c\20int\29\20const +1308:icu_74::UnicodeString::cloneArrayIfNeeded\28int\2c\20int\2c\20signed\20char\2c\20int**\2c\20signed\20char\29 +1309:icu_74::UnicodeSet::span\28char16_t\20const*\2c\20int\2c\20USetSpanCondition\29\20const +1310:icu_74::UVector::indexOf\28void*\2c\20int\29\20const +1311:icu_74::UVector::addElement\28void*\2c\20UErrorCode&\29 +1312:icu_74::UVector32::UVector32\28UErrorCode&\29 +1313:icu_74::RuleCharacterIterator::next\28int\2c\20signed\20char&\2c\20UErrorCode&\29 +1314:icu_74::ReorderingBuffer::appendBMP\28char16_t\2c\20unsigned\20char\2c\20UErrorCode&\29 +1315:icu_74::LSR::deleteOwned\28\29 +1316:icu_74::ICUServiceKey::prefix\28icu_74::UnicodeString&\29\20const +1317:icu_74::Edits::addReplace\28int\2c\20int\29 +1318:icu_74::CharString::appendInvariantChars\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +1319:icu_74::CharString::appendInvariantChars\28char16_t\20const*\2c\20int\2c\20UErrorCode&\29 +1320:icu_74::BreakIterator::buildInstance\28icu_74::Locale\20const&\2c\20char\20const*\2c\20UErrorCode&\29 +1321:hb_face_t::load_upem\28\29\20const +1322:hb_buffer_t::merge_out_clusters\28unsigned\20int\2c\20unsigned\20int\29 +1323:hb_buffer_t::enlarge\28unsigned\20int\29 +1324:hb_buffer_reverse +1325:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint&\29\2c\20SkCanvas*\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint*\29 +1326:cff_index_init +1327:cf2_glyphpath_curveTo +1328:atan2f +1329:WebPCopyPlane +1330:SkTMaskGamma_build_correcting_lut\28unsigned\20char*\2c\20unsigned\20int\2c\20float\2c\20SkColorSpaceLuminance\20const&\2c\20float\29 +1331:SkSurface_Raster::type\28\29\20const +1332:SkString::swap\28SkString&\29 +1333:SkString::reset\28\29 +1334:SkSampler::Fill\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::ZeroInitialized\29 +1335:SkSL::Type::MakeTextureType\28char\20const*\2c\20SpvDim_\2c\20bool\2c\20bool\2c\20bool\2c\20SkSL::Type::TextureAccess\29 +1336:SkSL::Type::MakeSpecialType\28char\20const*\2c\20char\20const*\2c\20SkSL::Type::TypeKind\29 +1337:SkSL::RP::Builder::push_slots_or_immutable\28SkSL::RP::SlotRange\2c\20SkSL::RP::BuilderOp\29 +1338:SkSL::RP::Builder::push_clone_from_stack\28SkSL::RP::SlotRange\2c\20int\2c\20int\29 +1339:SkSL::Program::~Program\28\29 +1340:SkSL::PipelineStage::PipelineStageCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +1341:SkSL::Operator::isAssignment\28\29\20const +1342:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mul\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +1343:SkSL::InlineCandidateAnalyzer::visitStatement\28std::__2::unique_ptr>*\2c\20bool\29 +1344:SkSL::GLSLCodeGenerator::writeModifiers\28SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20bool\29 +1345:SkSL::ExpressionStatement::Make\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +1346:SkSL::ConstructorCompound::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +1347:SkSL::Analysis::GetReturnComplexity\28SkSL::FunctionDefinition\20const&\29 +1348:SkSL::AliasType::resolve\28\29\20const +1349:SkResourceCache::Add\28SkResourceCache::Rec*\2c\20void*\29 +1350:SkRegion::writeToMemory\28void*\29\20const +1351:SkReadBuffer::readMatrix\28SkMatrix*\29 +1352:SkReadBuffer::readBool\28\29 +1353:SkRasterClip::setRect\28SkIRect\20const&\29 +1354:SkRasterClip::SkRasterClip\28SkRasterClip\20const&\29 +1355:SkPathMeasure::~SkPathMeasure\28\29 +1356:SkPathMeasure::SkPathMeasure\28SkPath\20const&\2c\20bool\2c\20float\29 +1357:SkPath::swap\28SkPath&\29 +1358:SkParse::FindScalars\28char\20const*\2c\20float*\2c\20int\29 +1359:SkPaint::operator=\28SkPaint\20const&\29 +1360:SkOpSpan::computeWindSum\28\29 +1361:SkOpSegment::existing\28double\2c\20SkOpSegment\20const*\29\20const +1362:SkOpPtT::find\28SkOpSegment\20const*\29\20const +1363:SkOpCoincidence::addEndMovedSpans\28SkOpSpan\20const*\2c\20SkOpSpanBase\20const*\29 +1364:SkNoDrawCanvas::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +1365:SkMakeImageFromRasterBitmap\28SkBitmap\20const&\2c\20SkCopyPixelsMode\29 +1366:SkImage_Ganesh::SkImage_Ganesh\28sk_sp\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20SkColorInfo\29 +1367:SkImageInfo::makeColorSpace\28sk_sp\29\20const +1368:SkImage::refColorSpace\28\29\20const +1369:SkGlyph::imageSize\28\29\20const +1370:SkGetICULib\28\29 +1371:SkFont::textToGlyphs\28void\20const*\2c\20unsigned\20long\2c\20SkTextEncoding\2c\20unsigned\20short*\2c\20int\29\20const +1372:SkFont::setSubpixel\28bool\29 +1373:SkDraw::SkDraw\28\29 +1374:SkDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +1375:SkColorTypeBytesPerPixel\28SkColorType\29 +1376:SkColorFilter::makeComposed\28sk_sp\29\20const +1377:SkChopQuadAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +1378:SkCanvas::drawImageRect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +1379:SkBmpCodec::getDstRow\28int\2c\20int\29\20const +1380:SkAutoDescriptor::SkAutoDescriptor\28\29 +1381:OT::DeltaSetIndexMap::sanitize\28hb_sanitize_context_t*\29\20const +1382:OT::ClassDef::sanitize\28hb_sanitize_context_t*\29\20const +1383:GrTriangulator::Comparator::sweep_lt\28SkPoint\20const&\2c\20SkPoint\20const&\29\20const +1384:GrTextureProxy::textureType\28\29\20const +1385:GrSurfaceProxy::createSurfaceImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\29\20const +1386:GrStyledShape::writeUnstyledKey\28unsigned\20int*\29\20const +1387:GrStyledShape::simplify\28\29 +1388:GrSkSLFP::setInput\28std::__2::unique_ptr>\29 +1389:GrSimpleMeshDrawOpHelperWithStencil::GrSimpleMeshDrawOpHelperWithStencil\28GrProcessorSet*\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +1390:GrShape::operator=\28GrShape\20const&\29 +1391:GrResourceProvider::createPatternedIndexBuffer\28unsigned\20short\20const*\2c\20int\2c\20int\2c\20int\2c\20skgpu::UniqueKey\20const*\29 +1392:GrRenderTarget::~GrRenderTarget\28\29 +1393:GrRecordingContextPriv::makeSC\28GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +1394:GrOpFlushState::detachAppliedClip\28\29 +1395:GrGpuBuffer::map\28\29 +1396:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\29 +1397:GrGLSLShaderBuilder::declAppend\28GrShaderVar\20const&\29 +1398:GrGLGpu::didDrawTo\28GrRenderTarget*\29 +1399:GrFragmentProcessors::Make\28GrRecordingContext*\2c\20SkColorFilter\20const*\2c\20std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1400:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +1401:GrCaps::validateSurfaceParams\28SkISize\20const&\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20GrTextureType\29\20const +1402:GrBufferAllocPool::putBack\28unsigned\20long\29 +1403:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29::$_0::operator\28\29\28SkIRect\2c\20SkIRect\29\20const +1404:GrBackendTexture::GrBackendTexture\28\29 +1405:GrAAConvexTessellator::createInsetRing\28GrAAConvexTessellator::Ring\20const&\2c\20GrAAConvexTessellator::Ring*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +1406:FT_Stream_GetByte +1407:FT_Set_Transform +1408:FT_Add_Module +1409:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +1410:AlmostLessOrEqualUlps\28float\2c\20float\29 +1411:ActiveEdge::intersect\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29\20const +1412:wrapper_cmp +1413:void\20std::__2::reverse\5babi:v160004\5d\28char*\2c\20char*\29 +1414:void\20std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__do_rehash\28unsigned\20long\29 +1415:utrace_data_74 +1416:utf8_nextCharSafeBody_74 +1417:utext_setup_74 +1418:uhash_openSize_74 +1419:uhash_nextElement_74 +1420:ubidi_getParaLevelAtIndex_74 +1421:u_charType_74 +1422:tanf +1423:std::__2::vector>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29 +1424:std::__2::vector>::capacity\5babi:v160004\5d\28\29\20const +1425:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ios_base&\2c\20wchar_t\29 +1426:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ios_base&\2c\20char\29 +1427:std::__2::char_traits::to_int_type\28char\29 +1428:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1429:std::__2::basic_ios>::~basic_ios\28\29 +1430:std::__2::basic_ios>::setstate\5babi:v160004\5d\28unsigned\20int\29 +1431:std::__2::__compressed_pair_elem::__compressed_pair_elem\5babi:v160004\5d\28void\20\28*&&\29\28void*\29\29 +1432:sktext::gpu::GlyphVector::~GlyphVector\28\29 +1433:sktext::StrikeMutationMonitor::~StrikeMutationMonitor\28\29 +1434:sktext::StrikeMutationMonitor::StrikeMutationMonitor\28sktext::StrikeForGPU*\29 +1435:skif::RoundOut\28SkRect\29 +1436:skif::LayerSpace::contains\28skif::LayerSpace\20const&\29\20const +1437:skif::FilterResult::AutoSurface::snap\28\29 +1438:skif::FilterResult::AutoSurface::AutoSurface\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20skif::FilterResult::PixelBoundary\2c\20bool\2c\20SkSurfaceProps\20const*\29 +1439:skif::Backend::~Backend\28\29.1 +1440:skia_private::TArray::push_back\28skif::FilterResult::Builder::SampledFilterResult&&\29 +1441:skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>::~STArray\28\29 +1442:skia_png_chunk_unknown_handling +1443:skia::textlayout::TextStyle::TextStyle\28\29 +1444:skia::textlayout::TextLine::iterateThroughSingleRunByStyles\28skia::textlayout::TextLine::TextAdjustment\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::StyleType\2c\20std::__2::function\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\20const&\29\20const +1445:skgpu::ganesh::SurfaceFillContext::internalClear\28SkIRect\20const*\2c\20std::__2::array\2c\20bool\29 +1446:skgpu::ganesh::SurfaceDrawContext::fillRectToRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +1447:skgpu::SkSLToBackend\28SkSL::ShaderCaps\20const*\2c\20bool\20\28*\29\28SkSL::Program&\2c\20SkSL::ShaderCaps\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\29\2c\20char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20skgpu::ShaderErrorHandler*\29 +1448:skgpu::GetApproxSize\28SkISize\29 +1449:skcms_Matrix3x3_invert +1450:res_getTableItemByKey_74 +1451:icu_74::UnicodeString::operator=\28icu_74::UnicodeString&&\29 +1452:icu_74::UnicodeString::doEquals\28icu_74::UnicodeString\20const&\2c\20int\29\20const +1453:icu_74::UnicodeSet::ensureCapacity\28int\29 +1454:icu_74::UnicodeSet::clear\28\29 +1455:icu_74::UVector::UVector\28void\20\28*\29\28void*\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20UErrorCode&\29 +1456:icu_74::UVector32::setElementAt\28int\2c\20int\29 +1457:icu_74::RuleCharacterIterator::setPos\28icu_74::RuleCharacterIterator::Pos\20const&\29 +1458:icu_74::ResourceTable::findValue\28char\20const*\2c\20icu_74::ResourceValue&\29\20const +1459:icu_74::Locale::operator=\28icu_74::Locale\20const&\29 +1460:icu_74::Edits::addUnchanged\28int\29 +1461:icu_74::CharString::extract\28char*\2c\20int\2c\20UErrorCode&\29\20const +1462:hb_lazy_loader_t\2c\20hb_face_t\2c\2011u\2c\20hb_blob_t>::get\28\29\20const +1463:hb_lazy_loader_t\2c\20hb_face_t\2c\202u\2c\20hb_blob_t>::get\28\29\20const +1464:hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +1465:hb_font_t::scale_glyph_extents\28hb_glyph_extents_t*\29 +1466:hb_font_t::get_glyph_h_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +1467:hb_buffer_append +1468:emscripten::internal::MethodInvoker\29\2c\20void\2c\20SkFont*\2c\20sk_sp>::invoke\28void\20\28SkFont::*\20const&\29\28sk_sp\29\2c\20SkFont*\2c\20sk_sp*\29 +1469:emscripten::internal::Invoker::invoke\28unsigned\20long\20\28*\29\28\29\29 +1470:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +1471:cos +1472:cf2_glyphpath_lineTo +1473:byn$mgfn-shared$SkTDStorage::calculateSizeOrDie\28int\29::$_0::operator\28\29\28\29\20const +1474:alloc_small +1475:af_latin_hints_compute_segments +1476:_hb_glyph_info_set_unicode_props\28hb_glyph_info_t*\2c\20hb_buffer_t*\29 +1477:__lshrti3 +1478:__letf2 +1479:__cxx_global_array_dtor.3 +1480:\28anonymous\20namespace\29::SkBlurImageFilter::~SkBlurImageFilter\28\29 +1481:SkUTF::ToUTF16\28int\2c\20unsigned\20short*\29 +1482:SkTextBlobBuilder::~SkTextBlobBuilder\28\29 +1483:SkTextBlobBuilder::make\28\29 +1484:SkSurfaces::RenderTarget\28GrRecordingContext*\2c\20skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20int\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const*\2c\20bool\2c\20bool\29 +1485:SkSurface::makeImageSnapshot\28\29 +1486:SkString::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +1487:SkString::insertUnichar\28unsigned\20long\2c\20int\29 +1488:SkStrikeSpec::findOrCreateScopedStrike\28sktext::StrikeForGPUCacheInterface*\29\20const +1489:SkStrikeCache::GlobalStrikeCache\28\29 +1490:SkShader::isAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +1491:SkSL::is_constant_value\28SkSL::Expression\20const&\2c\20double\29 +1492:SkSL::evaluate_pairwise_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +1493:SkSL::compile_and_shrink\28SkSL::Compiler*\2c\20SkSL::ProgramKind\2c\20char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::Module\20const*\29 +1494:SkSL::\28anonymous\20namespace\29::ReturnsOnAllPathsVisitor::visitStatement\28SkSL::Statement\20const&\29 +1495:SkSL::Type::MakeScalarType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type::NumberKind\2c\20signed\20char\2c\20signed\20char\29 +1496:SkSL::RP::Generator::pushBinaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +1497:SkSL::RP::Builder::push_clone\28int\2c\20int\29 +1498:SkSL::ProgramUsage::remove\28SkSL::Statement\20const*\29 +1499:SkSL::Parser::statement\28bool\29 +1500:SkSL::Operator::determineBinaryType\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\29\20const +1501:SkSL::ModifierFlags::description\28\29\20const +1502:SkSL::Layout::paddedDescription\28\29\20const +1503:SkSL::GetModuleData\28SkSL::ModuleName\2c\20char\20const*\29 +1504:SkSL::FieldAccess::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20int\2c\20SkSL::FieldAccessOwnerKind\29 +1505:SkSL::ConstructorCompoundCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1506:SkSL::Compiler::~Compiler\28\29 +1507:SkSL::Analysis::IsSameExpressionTree\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +1508:SkRuntimeEffect::findChild\28std::__2::basic_string_view>\29\20const +1509:SkRect\20skif::Mapping::map\28SkRect\20const&\2c\20SkMatrix\20const&\29 +1510:SkRectPriv::Subtract\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkIRect*\29 +1511:SkPictureRecorder::SkPictureRecorder\28\29 +1512:SkPictureData::~SkPictureData\28\29 +1513:SkPathMeasure::nextContour\28\29 +1514:SkPathMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29 +1515:SkPathMeasure::getPosTan\28float\2c\20SkPoint*\2c\20SkPoint*\29 +1516:SkPathBuilder::lineTo\28SkPoint\29 +1517:SkPath::getPoint\28int\29\20const +1518:SkPath::getLastPt\28SkPoint*\29\20const +1519:SkPaint::setBlender\28sk_sp\29 +1520:SkPaint::setAlphaf\28float\29 +1521:SkOpSegment::addT\28double\29 +1522:SkNoPixelsDevice::ClipState&\20skia_private::TArray::emplace_back\28SkIRect&&\2c\20bool&&\2c\20bool&&\29 +1523:SkNextID::ImageID\28\29 +1524:SkMessageBus::Inbox::Inbox\28unsigned\20int\29 +1525:SkJSONWriter::endObject\28\29 +1526:SkImage_Lazy::generator\28\29\20const +1527:SkImage_Base::~SkImage_Base\28\29 +1528:SkImage_Base::SkImage_Base\28SkImageInfo\20const&\2c\20unsigned\20int\29 +1529:SkImageInfo::Make\28SkISize\2c\20SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +1530:SkImage::isAlphaOnly\28\29\20const +1531:SkFont::getWidthsBounds\28unsigned\20short\20const*\2c\20int\2c\20float*\2c\20SkRect*\2c\20SkPaint\20const*\29\20const +1532:SkFont::getMetrics\28SkFontMetrics*\29\20const +1533:SkFont::SkFont\28sk_sp\2c\20float\29 +1534:SkFont::SkFont\28\29 +1535:SkDrawBase::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20SkRect\20const*\29\20const +1536:SkDevice::setGlobalCTM\28SkM44\20const&\29 +1537:SkDescriptor::operator==\28SkDescriptor\20const&\29\20const +1538:SkConvertPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +1539:SkConic::chopAt\28float\2c\20SkConic*\29\20const +1540:SkColorSpace::gammaIsLinear\28\29\20const +1541:SkColorSpace::MakeRGB\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +1542:SkCodec::fillIncompleteImage\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::ZeroInitialized\2c\20int\2c\20int\29 +1543:SkCanvas::saveLayer\28SkRect\20const*\2c\20SkPaint\20const*\29 +1544:SkCanvas::drawPaint\28SkPaint\20const&\29 +1545:SkCanvas::ImageSetEntry::~ImageSetEntry\28\29 +1546:SkBulkGlyphMetrics::glyphs\28SkSpan\29 +1547:SkBitmap::operator=\28SkBitmap&&\29 +1548:SkBitmap::getGenerationID\28\29\20const +1549:SkArenaAllocWithReset::reset\28\29 +1550:OT::Layout::GPOS_impl::AnchorFormat3::sanitize\28hb_sanitize_context_t*\29\20const +1551:OT::GDEF::get_glyph_props\28unsigned\20int\29\20const +1552:OT::CmapSubtable::get_glyph\28unsigned\20int\2c\20unsigned\20int*\29\20const +1553:Ins_UNKNOWN +1554:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\2c\20bool\29 +1555:GrSurfaceProxyView::mipmapped\28\29\20const +1556:GrSurfaceProxy::instantiateImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::UniqueKey\20const*\29 +1557:GrSimpleMeshDrawOpHelperWithStencil::isCompatible\28GrSimpleMeshDrawOpHelperWithStencil\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +1558:GrSimpleMeshDrawOpHelperWithStencil::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20bool*\29 +1559:GrShape::simplifyRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\2c\20unsigned\20int\29 +1560:GrQuad::projectedBounds\28\29\20const +1561:GrProcessorSet::MakeEmptySet\28\29 +1562:GrPorterDuffXPFactory::SimpleSrcOverXP\28\29 +1563:GrPixmap::Allocate\28GrImageInfo\20const&\29 +1564:GrPathTessellationShader::MakeSimpleTriangleShader\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +1565:GrMakeCachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20std::__2::basic_string_view>\2c\20skgpu::Mipmapped\29 +1566:GrImageInfo::operator=\28GrImageInfo&&\29 +1567:GrImageInfo::makeColorType\28GrColorType\29\20const +1568:GrGpuResource::setUniqueKey\28skgpu::UniqueKey\20const&\29 +1569:GrGpuResource::release\28\29 +1570:GrGpuResource::isPurgeable\28\29\20const +1571:GrGeometryProcessor::textureSampler\28int\29\20const +1572:GrGeometryProcessor::AttributeSet::begin\28\29\20const +1573:GrGLSLShaderBuilder::addFeature\28unsigned\20int\2c\20char\20const*\29 +1574:GrGLGpu::clearErrorsAndCheckForOOM\28\29 +1575:GrGLGpu::bindSurfaceFBOForPixelOps\28GrSurface*\2c\20int\2c\20unsigned\20int\2c\20GrGLGpu::TempFBOTarget\29 +1576:GrGLCompileAndAttachShader\28GrGLContext\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20bool\2c\20GrThreadSafePipelineBuilder::Stats*\2c\20skgpu::ShaderErrorHandler*\29 +1577:GrFragmentProcessor::MakeColor\28SkRGBA4f<\28SkAlphaType\292>\29 +1578:GrDirectContextPriv::flushSurfaces\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +1579:GrDefaultGeoProcFactory::Make\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +1580:GrConvertPixels\28GrPixmap\20const&\2c\20GrCPixmap\20const&\2c\20bool\29 +1581:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +1582:GrColorInfo::GrColorInfo\28\29 +1583:GrBlurUtils::convolve_gaussian_1d\28skgpu::ganesh::SurfaceFillContext*\2c\20GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\2c\20SkIRect\20const&\2c\20SkAlphaType\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\29 +1584:GrBackendFormat::operator=\28GrBackendFormat\20const&\29 +1585:FT_Stream_Read +1586:FT_GlyphLoader_Rewind +1587:FT_Done_Face +1588:Cr_z_inflate +1589:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +1590:void\20std::__2::__stable_sort\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +1591:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20unsigned\20int*&\2c\20unsigned\20int*&\29 +1592:void\20icu_74::\28anonymous\20namespace\29::MixedBlocks::extend\28unsigned\20short\20const*\2c\20int\2c\20int\2c\20int\29 +1593:void\20hb_serialize_context_t::add_link\2c\20true>>\28OT::OffsetTo\2c\20true>&\2c\20unsigned\20int\2c\20hb_serialize_context_t::whence_t\2c\20unsigned\20int\29 +1594:void\20emscripten::internal::MemberAccess::setWire\28bool\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform&\2c\20bool\29 +1595:utext_nativeLength_74 +1596:ures_openDirect_74 +1597:ures_getStringWithAlias\28UResourceBundle\20const*\2c\20unsigned\20int\2c\20int\2c\20int*\2c\20UErrorCode*\29 +1598:ures_getStringByKeyWithFallback_74 +1599:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +1600:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +1601:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +1602:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +1603:ulocimp_getKeywordValue_74 +1604:ulocimp_getCountry_74\28char\20const*\2c\20char\20const**\2c\20UErrorCode&\29 +1605:ulocimp_forLanguageTag_74 +1606:uenum_close_74 +1607:udata_getMemory_74 +1608:ucptrie_openFromBinary_74 +1609:u_charsToUChars_74 +1610:toupper +1611:top12.2 +1612:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1613:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1614:std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>::type\20std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>\28skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot*\29\20const +1615:std::__2::ctype::narrow\5babi:v160004\5d\28char\2c\20char\29\20const +1616:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28wchar_t\20const*\29 +1617:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1618:std::__2::basic_streambuf>::~basic_streambuf\28\29 +1619:std::__2::basic_streambuf>::setg\5babi:v160004\5d\28char*\2c\20char*\2c\20char*\29 +1620:std::__2::__num_get::__stage2_int_loop\28wchar_t\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20wchar_t\20const*\29 +1621:std::__2::__num_get::__stage2_int_loop\28char\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20char\20const*\29 +1622:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1623:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1624:src_p\28unsigned\20char\2c\20unsigned\20char\29 +1625:skif::FilterResult::subset\28skif::LayerSpace\20const&\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +1626:skif::FilterResult::operator=\28skif::FilterResult&&\29 +1627:skia_private::THashMap::operator\5b\5d\28SkSL::Variable\20const*\20const&\29 +1628:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +1629:skia_private::TArray::resize_back\28int\29 +1630:skia_png_get_valid +1631:skia_png_gamma_8bit_correct +1632:skia_png_free_data +1633:skia_png_chunk_warning +1634:skia::textlayout::TextLine::measureTextInsideOneRun\28skia::textlayout::SkRange\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20float\2c\20bool\2c\20skia::textlayout::TextLine::TextAdjustment\29\20const +1635:skia::textlayout::Run::positionX\28unsigned\20long\29\20const +1636:skia::textlayout::Run::Run\28skia::textlayout::ParagraphImpl*\2c\20SkShaper::RunHandler::RunInfo\20const&\2c\20unsigned\20long\2c\20float\2c\20bool\2c\20float\2c\20unsigned\20long\2c\20float\29 +1637:skia::textlayout::ParagraphCacheKey::operator==\28skia::textlayout::ParagraphCacheKey\20const&\29\20const +1638:skia::textlayout::FontCollection::enableFontFallback\28\29 +1639:skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\294>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\298>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::ReplicateLineEndPoints\2c\20skgpu::tess::TrackJoinControlPoints>::chopAndWriteCubics\28skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20int\29 +1640:skgpu::ganesh::SmallPathAtlasMgr::reset\28\29 +1641:skgpu::ganesh::QuadPerEdgeAA::VertexSpec::vertexSize\28\29\20const +1642:skgpu::ganesh::Device::readSurfaceView\28\29 +1643:skgpu::ganesh::ClipStack::clip\28skgpu::ganesh::ClipStack::RawElement&&\29 +1644:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::RawElement\20const&\29\20const +1645:skgpu::ganesh::ClipStack::RawElement::RawElement\28SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\2c\20SkClipOp\29 +1646:skgpu::TAsyncReadResult::Plane&\20skia_private::TArray::Plane\2c\20false>::emplace_back\2c\20unsigned\20long&>\28sk_sp&&\2c\20unsigned\20long&\29 +1647:skgpu::Swizzle::asString\28\29\20const +1648:skgpu::ScratchKey::GenerateResourceType\28\29 +1649:skgpu::GetBlendFormula\28bool\2c\20bool\2c\20SkBlendMode\29 +1650:select_curve_ops\28skcms_Curve\20const*\2c\20int\2c\20OpAndArg*\29 +1651:sbrk +1652:ps_tofixedarray +1653:processPropertySeq\28UBiDi*\2c\20LevState*\2c\20unsigned\20char\2c\20int\2c\20int\29 +1654:png_format_buffer +1655:png_check_keyword +1656:nextafterf +1657:jpeg_huff_decode +1658:init_entry\28char\20const*\2c\20char\20const*\2c\20UErrorCode*\29 +1659:icu_74::UnicodeString::countChar32\28int\2c\20int\29\20const +1660:icu_74::UnicodeString::UnicodeString\28char\20const*\2c\20int\2c\20icu_74::UnicodeString::EInvariant\29 +1661:icu_74::UnicodeSet::getRangeStart\28int\29\20const +1662:icu_74::UnicodeSet::getRangeEnd\28int\29\20const +1663:icu_74::UnicodeSet::getRangeCount\28\29\20const +1664:icu_74::UVector::UVector\28void\20\28*\29\28void*\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20int\2c\20UErrorCode&\29 +1665:icu_74::UVector32::addElement\28int\2c\20UErrorCode&\29 +1666:icu_74::UVector32::UVector32\28int\2c\20UErrorCode&\29 +1667:icu_74::UCharsTrie::next\28int\29 +1668:icu_74::UCharsTrie::branchNext\28char16_t\20const*\2c\20int\2c\20int\29 +1669:icu_74::StackUResourceBundle::StackUResourceBundle\28\29 +1670:icu_74::ReorderingBuffer::appendSupplementary\28int\2c\20unsigned\20char\2c\20UErrorCode&\29 +1671:icu_74::Norm2AllModes::createNFCInstance\28UErrorCode&\29 +1672:icu_74::LanguageBreakEngine::LanguageBreakEngine\28\29 +1673:icu_74::LSR::LSR\28char\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20int\2c\20UErrorCode&\29 +1674:icu_74::CharacterProperties::getInclusionsForProperty\28UProperty\2c\20UErrorCode&\29 +1675:icu_74::CharString::ensureCapacity\28int\2c\20int\2c\20UErrorCode&\29 +1676:hb_unicode_funcs_destroy +1677:hb_serialize_context_t::pop_discard\28\29 +1678:hb_buffer_set_flags +1679:hb_blob_create_sub_blob +1680:hb_array_t::hash\28\29\20const +1681:hairquad\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +1682:haircubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +1683:fmt_u +1684:flush_pending +1685:emscripten::internal::Invoker>::invoke\28sk_sp\20\28*\29\28\29\29 +1686:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\29\2c\20SkPath*\29 +1687:do_fixed +1688:destroy_face +1689:decltype\28fp\28\28SkRecords::NoOp*\29\28nullptr\29\29\29\20SkRecord::Record::mutate\28SkRecord::Destroyer&\29 +1690:char*\20const&\20std::__2::max\5babi:v160004\5d\28char*\20const&\2c\20char*\20const&\29 +1691:cf2_stack_pushInt +1692:cf2_interpT2CharString +1693:cf2_glyphpath_moveTo +1694:byn$mgfn-shared$skif::\28anonymous\20namespace\29::RasterBackend::~RasterBackend\28\29 +1695:byn$mgfn-shared$skif::Backend::~Backend\28\29.1 +1696:byn$mgfn-shared$SkUnicode_icu::isEmoji\28int\29 +1697:byn$mgfn-shared$SkSL::ConstructorArrayCast::clone\28SkSL::Position\29\20const +1698:byn$mgfn-shared$GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +1699:bool\20hb_hashmap_t::set_with_hash\28unsigned\20int\20const&\2c\20unsigned\20int\2c\20unsigned\20int\20const&\2c\20bool\29 +1700:bool\20emscripten::internal::MemberAccess::getWire\28bool\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform\20const&\29 +1701:_isVariantSubtag\28char\20const*\2c\20int\29 +1702:_hb_ot_metrics_get_position_common\28hb_font_t*\2c\20hb_ot_metrics_tag_t\2c\20int*\29 +1703:_getStringOrCopyKey\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +1704:__wasi_syscall_ret +1705:__tandf +1706:__syscall_ret +1707:__floatunsitf +1708:__cxa_allocate_exception +1709:\28anonymous\20namespace\29::PathGeoBuilder::createMeshAndPutBackReserve\28\29 +1710:\28anonymous\20namespace\29::MeshOp::fixedFunctionFlags\28\29\20const +1711:\28anonymous\20namespace\29::DrawAtlasOpImpl::fixedFunctionFlags\28\29\20const +1712:WebPDemuxGetI +1713:VP8LDoFillBitWindow +1714:VP8LClear +1715:TT_Get_MM_Var +1716:SkWStream::writeScalar\28float\29 +1717:SkUTF::UTF8ToUTF16\28unsigned\20short*\2c\20int\2c\20char\20const*\2c\20unsigned\20long\29 +1718:SkTypeface::MakeEmpty\28\29 +1719:SkTSect::BinarySearch\28SkTSect*\2c\20SkTSect*\2c\20SkIntersections*\29 +1720:SkTConic::operator\5b\5d\28int\29\20const +1721:SkTBlockList::reset\28\29 +1722:SkTBlockList::reset\28\29 +1723:SkString::insertU32\28unsigned\20long\2c\20unsigned\20int\29 +1724:SkSpecialImages::MakeDeferredFromGpu\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1725:SkShaders::MatrixRec::applyForFragmentProcessor\28SkMatrix\20const&\29\20const +1726:SkScan::FillRect\28SkRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +1727:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +1728:SkSL::optimize_comparison\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20bool\20\28*\29\28double\2c\20double\29\29 +1729:SkSL::Type::convertArraySize\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20long\20long\29\20const +1730:SkSL::String::appendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20...\29 +1731:SkSL::RP::Builder::dot_floats\28int\29 +1732:SkSL::ProgramUsage::get\28SkSL::FunctionDeclaration\20const&\29\20const +1733:SkSL::Parser::type\28SkSL::Modifiers*\29 +1734:SkSL::Parser::modifiers\28\29 +1735:SkSL::ConstructorDiagonalMatrix::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1736:SkSL::ConstructorArrayCast::~ConstructorArrayCast\28\29 +1737:SkSL::ConstantFolder::MakeConstantValueForVariable\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +1738:SkSL::Compiler::Compiler\28\29 +1739:SkSL::Analysis::IsTrivialExpression\28SkSL::Expression\20const&\29 +1740:SkRuntimeShaderBuilder::~SkRuntimeShaderBuilder\28\29 +1741:SkRuntimeShaderBuilder::makeShader\28SkMatrix\20const*\29\20const +1742:SkRuntimeShaderBuilder::SkRuntimeShaderBuilder\28sk_sp\29 +1743:SkRuntimeEffectPriv::CanDraw\28SkCapabilities\20const*\2c\20SkRuntimeEffect\20const*\29 +1744:SkRegion::setPath\28SkPath\20const&\2c\20SkRegion\20const&\29 +1745:SkRegion::operator=\28SkRegion\20const&\29 +1746:SkRegion::op\28SkRegion\20const&\2c\20SkRegion\20const&\2c\20SkRegion::Op\29 +1747:SkRegion::Iterator::next\28\29 +1748:SkRasterPipeline::compile\28\29\20const +1749:SkRasterPipeline::appendClampIfNormalized\28SkImageInfo\20const&\29 +1750:SkRRect::transform\28SkMatrix\20const&\2c\20SkRRect*\29\20const +1751:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20SkBBHFactory*\29 +1752:SkPathWriter::finishContour\28\29 +1753:SkPathStroker::cubicPerpRay\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29\20const +1754:SkPath::getSegmentMasks\28\29\20const +1755:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\29 +1756:SkPaintPriv::ComputeLuminanceColor\28SkPaint\20const&\29 +1757:SkPaint::nothingToDraw\28\29\20const +1758:SkPaint::isSrcOver\28\29\20const +1759:SkOpAngle::linesOnOriginalSide\28SkOpAngle\20const*\29 +1760:SkNotifyBitmapGenIDIsStale\28unsigned\20int\29 +1761:SkNoDrawCanvas::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +1762:SkMipmap::Build\28SkPixmap\20const&\2c\20SkDiscardableMemory*\20\28*\29\28unsigned\20long\29\2c\20bool\29 +1763:SkMeshSpecification::~SkMeshSpecification\28\29 +1764:SkMatrix::setSinCos\28float\2c\20float\2c\20float\2c\20float\29 +1765:SkMatrix::setRSXform\28SkRSXform\20const&\29 +1766:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint3\20const*\2c\20int\29\20const +1767:SkMaskFilterBase::getFlattenableType\28\29\20const +1768:SkMaskBuilder::AllocImage\28unsigned\20long\2c\20SkMaskBuilder::AllocType\29 +1769:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_2D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1770:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1771:SkJSONWriter::appendString\28char\20const*\2c\20unsigned\20long\29 +1772:SkIntersections::insertNear\28double\2c\20double\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29 +1773:SkIntersections::flip\28\29 +1774:SkImageFilters::Empty\28\29 +1775:SkImageFilter_Base::~SkImageFilter_Base\28\29 +1776:SkGlyph::drawable\28\29\20const +1777:SkFont::unicharToGlyph\28int\29\20const +1778:SkFont::setTypeface\28sk_sp\29 +1779:SkFont::setHinting\28SkFontHinting\29 +1780:SkFindQuadMaxCurvature\28SkPoint\20const*\29 +1781:SkEvalCubicAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29 +1782:SkDrawTiler::stepAndSetupTileDraw\28\29 +1783:SkDrawTiler::SkDrawTiler\28SkBitmapDevice*\2c\20SkRect\20const*\29 +1784:SkDevice::accessPixels\28SkPixmap*\29 +1785:SkDeque::SkDeque\28unsigned\20long\2c\20void*\2c\20unsigned\20long\2c\20int\29 +1786:SkDCubic::FindExtrema\28double\20const*\2c\20double*\29 +1787:SkColorFilters::Blend\28unsigned\20int\2c\20SkBlendMode\29 +1788:SkCodec::getPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const*\29 +1789:SkCanvas::topDevice\28\29\20const +1790:SkCanvas::internalRestore\28\29 +1791:SkCanvas::init\28sk_sp\29 +1792:SkCanvas::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +1793:SkBlendMode_AsCoeff\28SkBlendMode\2c\20SkBlendModeCoeff*\2c\20SkBlendModeCoeff*\29 +1794:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29 +1795:SkAutoPixmapStorage::tryAlloc\28SkImageInfo\20const&\29 +1796:SkAAClip::SkAAClip\28\29 +1797:OT::glyf_accelerator_t::glyf_accelerator_t\28hb_face_t*\29 +1798:OT::VariationStore::sanitize\28hb_sanitize_context_t*\29\20const +1799:OT::Layout::GPOS_impl::ValueFormat::sanitize_value_devices\28hb_sanitize_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\29\20const +1800:OT::Layout::GPOS_impl::ValueFormat::apply_value\28OT::hb_ot_apply_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\2c\20hb_glyph_position_t&\29\20const +1801:OT::HVARVVAR::sanitize\28hb_sanitize_context_t*\29\20const +1802:GrTriangulator::VertexList::insert\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\29 +1803:GrTriangulator::Poly::addEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Side\2c\20GrTriangulator*\29 +1804:GrTriangulator::EdgeList::remove\28GrTriangulator::Edge*\29 +1805:GrStyledShape::operator=\28GrStyledShape\20const&\29 +1806:GrSimpleMeshDrawOpHelperWithStencil::createProgramInfoWithStencil\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1807:GrResourceCache::purgeAsNeeded\28\29 +1808:GrRenderTask::addDependency\28GrDrawingManager*\2c\20GrSurfaceProxy*\2c\20skgpu::Mipmapped\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +1809:GrRenderTask::GrRenderTask\28\29 +1810:GrRenderTarget::onRelease\28\29 +1811:GrProxyProvider::findOrCreateProxyByUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxy::UseAllocator\29 +1812:GrProcessorSet::operator==\28GrProcessorSet\20const&\29\20const +1813:GrPathUtils::generateQuadraticPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +1814:GrMeshDrawOp::QuadHelper::QuadHelper\28GrMeshDrawTarget*\2c\20unsigned\20long\2c\20int\29 +1815:GrIsStrokeHairlineOrEquivalent\28GrStyle\20const&\2c\20SkMatrix\20const&\2c\20float*\29 +1816:GrImageContext::abandoned\28\29 +1817:GrGpuResource::registerWithCache\28skgpu::Budgeted\29 +1818:GrGpuBuffer::isMapped\28\29\20const +1819:GrGpu::submitToGpu\28GrSyncCpu\29 +1820:GrGpu::didWriteToSurface\28GrSurface*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const*\2c\20unsigned\20int\29\20const +1821:GrGeometryProcessor::ProgramImpl::setupUniformColor\28GrGLSLFPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20GrResourceHandle*\29 +1822:GrGLGpu::flushRenderTarget\28GrGLRenderTarget*\2c\20bool\29 +1823:GrFragmentProcessor::visitTextureEffects\28std::__2::function\20const&\29\20const +1824:GrFragmentProcessor::visitProxies\28std::__2::function\20const&\29\20const +1825:GrCpuBuffer::ref\28\29\20const +1826:GrBufferAllocPool::makeSpace\28unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\29 +1827:GrBackendTextures::GetGLTextureInfo\28GrBackendTexture\20const&\2c\20GrGLTextureInfo*\29 +1828:FilterLoop26_C +1829:FT_Vector_Transform +1830:FT_Vector_NormLen +1831:FT_Outline_Transform +1832:CFF::dict_opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +1833:AlmostBetweenUlps\28float\2c\20float\2c\20float\29 +1834:void\20std::__2::vector>::__emplace_back_slow_path\28skia::textlayout::OneLineShaper::RunBlock&\29 +1835:utext_openUChars_74 +1836:utext_char32At_74 +1837:ures_openWithType\28UResourceBundle*\2c\20char\20const*\2c\20char\20const*\2c\20UResOpenType\2c\20UErrorCode*\29 +1838:ures_getSize_74 +1839:udata_openChoice_74 +1840:ucptrie_internalSmallU8Index_74 +1841:ucptrie_get_74 +1842:ubidi_getMemory_74 +1843:ubidi_getClass_74 +1844:transform\28unsigned\20int*\2c\20unsigned\20char\20const*\29 +1845:toUpperOrTitle\28int\2c\20int\20\28*\29\28void*\2c\20signed\20char\29\2c\20void*\2c\20char16_t\20const**\2c\20int\2c\20signed\20char\29 +1846:strtod +1847:strcspn +1848:std::__2::locale::locale\28std::__2::locale\20const&\29 +1849:std::__2::locale::classic\28\29 +1850:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char*\2c\20char*\2c\20char*&\29\20const +1851:std::__2::chrono::__libcpp_steady_clock_now\28\29 +1852:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20char\20const*\29 +1853:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +1854:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1855:std::__2::__wrap_iter\20std::__2::vector>::insert\28std::__2::__wrap_iter\2c\20float\20const*\2c\20float\20const*\29 +1856:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1857:std::__2::__throw_bad_variant_access\5babi:v160004\5d\28\29 +1858:std::__2::__split_buffer>::push_front\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +1859:std::__2::__shared_count::__release_shared\5babi:v160004\5d\28\29 +1860:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20wchar_t&\29 +1861:std::__2::__num_get::__do_widen\28std::__2::ios_base&\2c\20wchar_t*\29\20const +1862:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20char&\29 +1863:std::__2::__itoa::__append1\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1864:sktext::gpu::VertexFiller::vertexStride\28SkMatrix\20const&\29\20const +1865:skif::RoundIn\28SkRect\29 +1866:skif::LayerSpace::round\28\29\20const +1867:skif::LayerSpace::inverseMapRect\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29\20const +1868:skif::FilterResult::applyTransform\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkSamplingOptions\20const&\29\20const +1869:skif::FilterResult::Builder::~Builder\28\29 +1870:skif::FilterResult::Builder::Builder\28skif::Context\20const&\29 +1871:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair&&\29 +1872:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +1873:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +1874:skia_private::TArray::resize_back\28int\29 +1875:skia_private::TArray::push_back_raw\28int\29 +1876:skia_png_sig_cmp +1877:skia_png_set_progressive_read_fn +1878:skia_png_set_longjmp_fn +1879:skia_png_set_interlace_handling +1880:skia_png_reciprocal +1881:skia_png_read_chunk_header +1882:skia_png_get_io_ptr +1883:skia_png_calloc +1884:skia::textlayout::TextLine::~TextLine\28\29 +1885:skia::textlayout::ParagraphStyle::ParagraphStyle\28skia::textlayout::ParagraphStyle\20const&\29 +1886:skia::textlayout::ParagraphCacheKey::~ParagraphCacheKey\28\29 +1887:skia::textlayout::FontCollection::findTypefaces\28std::__2::vector>\20const&\2c\20SkFontStyle\2c\20std::__2::optional\20const&\29 +1888:skia::textlayout::Cluster::trimmedWidth\28unsigned\20long\29\20const +1889:skgpu::ganesh::TextureOp::BatchSizeLimiter::createOp\28GrTextureSetEntry*\2c\20int\2c\20GrAAType\29 +1890:skgpu::ganesh::SurfaceFillContext::fillWithFP\28std::__2::unique_ptr>\29 +1891:skgpu::ganesh::SurfaceDrawContext::drawShapeUsingPathRenderer\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\2c\20bool\29 +1892:skgpu::ganesh::SurfaceDrawContext::drawRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const*\29 +1893:skgpu::ganesh::SurfaceDrawContext::drawRRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20GrStyle\20const&\29 +1894:skgpu::ganesh::SurfaceContext::transferPixels\28GrColorType\2c\20SkIRect\20const&\29 +1895:skgpu::ganesh::QuadPerEdgeAA::CalcIndexBufferOption\28GrAAType\2c\20int\29 +1896:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29::$_0::operator\28\29\28GrSurfaceProxyView\20const&\29\20const +1897:skgpu::ganesh::Device::targetProxy\28\29 +1898:skgpu::ganesh::ClipStack::getConservativeBounds\28\29\20const +1899:skgpu::TAsyncReadResult::addTransferResult\28skgpu::ganesh::SurfaceContext::PixelTransferResult\20const&\2c\20SkISize\2c\20unsigned\20long\2c\20skgpu::TClientMappedBufferManager*\29 +1900:skgpu::Plot::resetRects\28\29 +1901:skcms_TransferFunction_invert +1902:res_getTableItemByIndex_74 +1903:res_getArrayItem_74 +1904:ps_dimension_add_t1stem +1905:powf +1906:log2f +1907:log +1908:jcopy_sample_rows +1909:icu_74::initSingletons\28char\20const*\2c\20UErrorCode&\29 +1910:icu_74::\28anonymous\20namespace\29::AliasReplacer::replaceLanguage\28bool\2c\20bool\2c\20bool\2c\20icu_74::UVector&\2c\20UErrorCode&\29 +1911:icu_74::UnicodeString::append\28int\29 +1912:icu_74::UnicodeSetStringSpan::UnicodeSetStringSpan\28icu_74::UnicodeSet\20const&\2c\20icu_74::UVector\20const&\2c\20unsigned\20int\29 +1913:icu_74::UnicodeSet::spanUTF8\28char\20const*\2c\20int\2c\20USetSpanCondition\29\20const +1914:icu_74::UnicodeSet::spanBack\28char16_t\20const*\2c\20int\2c\20USetSpanCondition\29\20const +1915:icu_74::UnicodeSet::spanBackUTF8\28char\20const*\2c\20int\2c\20USetSpanCondition\29\20const +1916:icu_74::UnicodeSet::retain\28int\20const*\2c\20int\2c\20signed\20char\29 +1917:icu_74::UnicodeSet::removeAllStrings\28\29 +1918:icu_74::UnicodeSet::operator=\28icu_74::UnicodeSet\20const&\29 +1919:icu_74::UnicodeSet::complement\28\29 +1920:icu_74::UnicodeSet::_add\28icu_74::UnicodeString\20const&\29 +1921:icu_74::UVector32::setSize\28int\29 +1922:icu_74::UCharsTrieBuilder::write\28char16_t\20const*\2c\20int\29 +1923:icu_74::StringEnumeration::~StringEnumeration\28\29 +1924:icu_74::RuleCharacterIterator::getPos\28icu_74::RuleCharacterIterator::Pos&\29\20const +1925:icu_74::RuleBasedBreakIterator::BreakCache::populatePreceding\28UErrorCode&\29 +1926:icu_74::ResourceDataValue::~ResourceDataValue\28\29 +1927:icu_74::ReorderingBuffer::previousCC\28\29 +1928:icu_74::Normalizer2Impl::compose\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20signed\20char\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +1929:icu_74::Normalizer2Factory::getNFCImpl\28UErrorCode&\29 +1930:icu_74::LocaleUtility::initLocaleFromName\28icu_74::UnicodeString\20const&\2c\20icu_74::Locale&\29 +1931:icu_74::LocaleKeyFactory::~LocaleKeyFactory\28\29 +1932:icu_74::Locale::setToBogus\28\29 +1933:icu_74::LSR::indexForRegion\28char\20const*\29 +1934:icu_74::LSR::LSR\28icu_74::StringPiece\2c\20icu_74::StringPiece\2c\20icu_74::StringPiece\2c\20int\2c\20UErrorCode&\29 +1935:icu_74::BreakIterator::createInstance\28icu_74::Locale\20const&\2c\20int\2c\20UErrorCode&\29 +1936:hb_font_t::has_func\28unsigned\20int\29 +1937:hb_buffer_create_similar +1938:ft_service_list_lookup +1939:fseek +1940:fiprintf +1941:fflush +1942:expm1 +1943:emscripten::internal::MethodInvoker::invoke\28void\20\28GrDirectContext::*\20const&\29\28\29\2c\20GrDirectContext*\29 +1944:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +1945:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFont&\29\2c\20SkFont*\29 +1946:do_putc +1947:crc32_z +1948:cf2_hintmap_insertHint +1949:cf2_hintmap_build +1950:cf2_glyphpath_pushPrevElem +1951:byn$mgfn-shared$std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +1952:byn$mgfn-shared$std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +1953:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +1954:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +1955:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +1956:blit_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +1957:afm_stream_read_one +1958:af_latin_hints_link_segments +1959:af_latin_compute_stem_width +1960:af_glyph_hints_reload +1961:acosf +1962:__sin +1963:__cos +1964:\28anonymous\20namespace\29::PathSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +1965:VP8LHuffmanTablesDeallocate +1966:UDataMemory_createNewInstance_74 +1967:SkWriter32::writeSampling\28SkSamplingOptions\20const&\29 +1968:SkVertices::Builder::detach\28\29 +1969:SkUTF::NextUTF8WithReplacement\28char\20const**\2c\20char\20const*\29 +1970:SkTypeface_FreeType::~SkTypeface_FreeType\28\29 +1971:SkTypeface_FreeType::FaceRec::~FaceRec\28\29 +1972:SkTypeface::SkTypeface\28SkFontStyle\20const&\2c\20bool\29 +1973:SkTextBlobBuilder::TightRunBounds\28SkTextBlob::RunRecord\20const&\29 +1974:SkTextBlob::RunRecord::textSizePtr\28\29\20const +1975:SkTMultiMap::remove\28skgpu::ScratchKey\20const&\2c\20GrGpuResource\20const*\29 +1976:SkTMultiMap::insert\28skgpu::ScratchKey\20const&\2c\20GrGpuResource*\29 +1977:SkTDStorage::insert\28int\2c\20int\2c\20void\20const*\29 +1978:SkTDPQueue<\28anonymous\20namespace\29::RunIteratorQueue::Entry\2c\20&\28anonymous\20namespace\29::RunIteratorQueue::CompareEntry\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\2c\20\28int*\20\28*\29\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\290>::insert\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\29 +1979:SkSwizzler::Make\28SkEncodedInfo\20const&\2c\20unsigned\20int\20const*\2c\20SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20SkIRect\20const*\29 +1980:SkSurfaces::Raster\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20SkSurfaceProps\20const*\29 +1981:SkSurface_Base::~SkSurface_Base\28\29 +1982:SkSurface::recordingContext\28\29\20const +1983:SkString::resize\28unsigned\20long\29 +1984:SkStrikeSpec::SkStrikeSpec\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +1985:SkStrikeSpec::MakeMask\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +1986:SkStrikeSpec::MakeCanonicalized\28SkFont\20const&\2c\20SkPaint\20const*\29 +1987:SkStrikeCache::findOrCreateStrike\28SkStrikeSpec\20const&\29 +1988:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20SkBitmap\20const&\2c\20SkSurfaceProps\20const&\29 +1989:SkShaders::MatrixRec::apply\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +1990:SkShaders::MatrixRec::MatrixRec\28SkMatrix\20const&\29 +1991:SkShaders::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29 +1992:SkScan::FillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\29 +1993:SkScalerContext_FreeType::emboldenIfNeeded\28FT_FaceRec_*\2c\20FT_GlyphSlotRec_*\2c\20unsigned\20short\29 +1994:SkSL::Type::displayName\28\29\20const +1995:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20double\2c\20SkSL::Position\29\20const +1996:SkSL::SymbolTable::find\28std::__2::basic_string_view>\29\20const +1997:SkSL::String::Separator\28\29::Output::~Output\28\29 +1998:SkSL::RP::SlotManager::addSlotDebugInfoForGroup\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20int*\2c\20bool\29 +1999:SkSL::RP::Generator::foldComparisonOp\28SkSL::Operator\2c\20int\29 +2000:SkSL::RP::Builder::branch_if_no_lanes_active\28int\29 +2001:SkSL::PrefixExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +2002:SkSL::PipelineStage::PipelineStageCodeGenerator::typedVariable\28SkSL::Type\20const&\2c\20std::__2::basic_string_view>\29 +2003:SkSL::Parser::parseArrayDimensions\28SkSL::Position\2c\20SkSL::Type\20const**\29 +2004:SkSL::Parser::arraySize\28long\20long*\29 +2005:SkSL::Operator::operatorName\28\29\20const +2006:SkSL::ModifierFlags::paddedDescription\28\29\20const +2007:SkSL::IndexExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +2008:SkSL::ConstantFolder::GetConstantValue\28SkSL::Expression\20const&\2c\20double*\29 +2009:SkSL::ConstantFolder::GetConstantInt\28SkSL::Expression\20const&\2c\20long\20long*\29 +2010:SkSL::Compiler::convertProgram\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::ProgramSettings\20const&\29 +2011:SkResourceCache::remove\28SkResourceCache::Rec*\29 +2012:SkRegion::op\28SkRegion\20const&\2c\20SkIRect\20const&\2c\20SkRegion::Op\29 +2013:SkRegion::Iterator::Iterator\28SkRegion\20const&\29 +2014:SkRectPriv::ClosestDisjointEdge\28SkIRect\20const&\2c\20SkIRect\20const&\29 +2015:SkRecords::FillBounds::bounds\28SkRecords::DrawArc\20const&\29\20const +2016:SkReadBuffer::setMemory\28void\20const*\2c\20unsigned\20long\29 +2017:SkRasterClip::SkRasterClip\28SkIRect\20const&\29 +2018:SkRRect::writeToMemory\28void*\29\20const +2019:SkRRect::setRectXY\28SkRect\20const&\2c\20float\2c\20float\29 +2020:SkPointPriv::DistanceToLineBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPointPriv::Side*\29 +2021:SkPoint::setNormalize\28float\2c\20float\29 +2022:SkPixmapUtils::SwapWidthHeight\28SkImageInfo\20const&\29 +2023:SkPictureRecorder::finishRecordingAsPicture\28\29 +2024:SkPathPriv::ComputeFirstDirection\28SkPath\20const&\29 +2025:SkPathEffect::asADash\28SkPathEffect::DashInfo*\29\20const +2026:SkPathEdgeIter::SkPathEdgeIter\28SkPath\20const&\29 +2027:SkPath::rewind\28\29 +2028:SkPath::isLine\28SkPoint*\29\20const +2029:SkPath::incReserve\28int\2c\20int\2c\20int\29 +2030:SkPath::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2031:SkPaint::setStrokeCap\28SkPaint::Cap\29 +2032:SkPaint::refShader\28\29\20const +2033:SkOpSpan::setWindSum\28int\29 +2034:SkOpSegment::markAndChaseWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int\2c\20int\2c\20SkOpSpanBase**\29 +2035:SkOpContourBuilder::addCurve\28SkPath::Verb\2c\20SkPoint\20const*\2c\20float\29 +2036:SkOpAngle::starter\28\29 +2037:SkOpAngle::insert\28SkOpAngle*\29 +2038:SkNoDestructor::SkNoDestructor\28SkSL::String::Separator\28\29::Output&&\29 +2039:SkMatrixPriv::InverseMapRect\28SkMatrix\20const&\2c\20SkRect*\2c\20SkRect\20const&\29 +2040:SkMatrix::setSinCos\28float\2c\20float\29 +2041:SkMatrix::decomposeScale\28SkSize*\2c\20SkMatrix*\29\20const +2042:SkMaskFilter::MakeBlur\28SkBlurStyle\2c\20float\2c\20bool\29 +2043:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29 +2044:SkMD5::write\28void\20const*\2c\20unsigned\20long\29 +2045:SkLineClipper::IntersectLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\29 +2046:SkImage_GaneshBase::SkImage_GaneshBase\28sk_sp\2c\20SkImageInfo\2c\20unsigned\20int\29 +2047:SkImageGenerator::onRefEncodedData\28\29 +2048:SkImage::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\29\20const +2049:SkImage::makeRasterImage\28GrDirectContext*\2c\20SkImage::CachingHint\29\20const +2050:SkIDChangeListener::SkIDChangeListener\28\29 +2051:SkIDChangeListener::List::reset\28\29 +2052:SkGradientBaseShader::flatten\28SkWriteBuffer&\29\20const +2053:SkFontMgr::RefEmpty\28\29 +2054:SkFont::setEdging\28SkFont::Edging\29 +2055:SkEvalQuadAt\28SkPoint\20const*\2c\20float\29 +2056:SkEncodedInfo::makeImageInfo\28\29\20const +2057:SkEdgeClipper::next\28SkPoint*\29 +2058:SkDevice::scalerContextFlags\28\29\20const +2059:SkConic::evalAt\28float\2c\20SkPoint*\2c\20SkPoint*\29\20const +2060:SkColorInfo::SkColorInfo\28SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +2061:SkCodec::skipScanlines\28int\29 +2062:SkChopCubicAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +2063:SkCapabilities::RasterBackend\28\29 +2064:SkCanvas::saveLayer\28SkCanvas::SaveLayerRec\20const&\29 +2065:SkCanvas::imageInfo\28\29\20const +2066:SkCanvas::drawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +2067:SkCanvas::drawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +2068:SkCanvas::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +2069:SkBmpBaseCodec::~SkBmpBaseCodec\28\29 +2070:SkBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +2071:SkBlendMode\20SkReadBuffer::read32LE\28SkBlendMode\29 +2072:SkBitmap::operator=\28SkBitmap\20const&\29 +2073:SkBitmap::extractSubset\28SkBitmap*\2c\20SkIRect\20const&\29\20const +2074:SkBitmap::SkBitmap\28SkBitmap&&\29 +2075:SkBinaryWriteBuffer::writeByteArray\28void\20const*\2c\20unsigned\20long\29 +2076:SkBinaryWriteBuffer::SkBinaryWriteBuffer\28SkSerialProcs\20const&\29 +2077:SkBaseShadowTessellator::handleLine\28SkPoint\20const&\29 +2078:SkAAClip::setRegion\28SkRegion\20const&\29 +2079:R +2080:OT::hb_ot_apply_context_t::_set_glyph_class\28unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +2081:OT::cmap::find_subtable\28unsigned\20int\2c\20unsigned\20int\29\20const +2082:GrXPFactory::FromBlendMode\28SkBlendMode\29 +2083:GrTriangulator::setBottom\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2084:GrTriangulator::mergeCollinearEdges\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2085:GrTriangulator::Edge::disconnect\28\29 +2086:GrThreadSafeCache::find\28skgpu::UniqueKey\20const&\29 +2087:GrThreadSafeCache::add\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +2088:GrThreadSafeCache::Entry::makeEmpty\28\29 +2089:GrSurfaceProxyView::operator==\28GrSurfaceProxyView\20const&\29\20const +2090:GrSurfaceProxyView::Copy\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\29 +2091:GrSurfaceProxyPriv::doLazyInstantiation\28GrResourceProvider*\29 +2092:GrSurfaceProxy::isFunctionallyExact\28\29\20const +2093:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20sk_sp*\29 +2094:GrSimpleMeshDrawOpHelperWithStencil::fixedFunctionFlags\28\29\20const +2095:GrSimpleMeshDrawOpHelper::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20GrProcessorAnalysisColor*\29 +2096:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrProcessorSet&&\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrPipeline::InputFlags\2c\20GrUserStencilSettings\20const*\29 +2097:GrSimpleMeshDrawOpHelper::CreatePipeline\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20skgpu::Swizzle\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrProcessorSet&&\2c\20GrPipeline::InputFlags\29 +2098:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20void\20const*\2c\20skgpu::UniqueKey\20const&\29 +2099:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20skgpu::UniqueKey\20const&\2c\20void\20\28*\29\28skgpu::VertexWriter\2c\20unsigned\20long\29\29 +2100:GrResourceCache::findAndRefScratchResource\28skgpu::ScratchKey\20const&\29 +2101:GrRecordingContextPriv::makeSFC\28GrImageInfo\2c\20std::__2::basic_string_view>\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +2102:GrQuadUtils::TessellationHelper::Vertices::moveAlong\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +2103:GrQuad::asRect\28SkRect*\29\20const +2104:GrProcessorSet::GrProcessorSet\28GrProcessorSet&&\29 +2105:GrPathUtils::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +2106:GrGpu::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +2107:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +2108:GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +2109:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +2110:GrGLSLColorSpaceXformHelper::emitCode\28GrGLSLUniformHandler*\2c\20GrColorSpaceXform\20const*\2c\20unsigned\20int\29 +2111:GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +2112:GrGLRenderTarget::bindInternal\28unsigned\20int\2c\20bool\29 +2113:GrGLGpu::getErrorAndCheckForOOM\28\29 +2114:GrGLGpu::bindTexture\28int\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20GrGLTexture*\29 +2115:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkMatrix\20const&\29 +2116:GrFragmentProcessor::visitWithImpls\28std::__2::function\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\20const +2117:GrFragmentProcessor::ColorMatrix\28std::__2::unique_ptr>\2c\20float\20const*\2c\20bool\2c\20bool\2c\20bool\29 +2118:GrDrawingManager::appendTask\28sk_sp\29 +2119:GrColorInfo::GrColorInfo\28GrColorInfo\20const&\29 +2120:GrCaps::isFormatCompressed\28GrBackendFormat\20const&\29\20const +2121:GrAAConvexTessellator::lineTo\28SkPoint\20const&\2c\20GrAAConvexTessellator::CurveState\29 +2122:FT_Select_Metrics +2123:FT_Select_Charmap +2124:FT_Get_Next_Char +2125:FT_Get_Module_Interface +2126:FT_Done_Size +2127:DecodeImageStream +2128:CFF::opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +2129:CFF::Charset::get_glyph\28unsigned\20int\2c\20unsigned\20int\29\20const +2130:wuffs_gif__decoder__num_decoded_frames +2131:void\20std::__2::vector\2c\20std::__2::allocator>>::__push_back_slow_path\20const&>\28sk_sp\20const&\29 +2132:void\20std::__2::reverse\5babi:v160004\5d\28wchar_t*\2c\20wchar_t*\29 +2133:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.2 +2134:void\20merge_sort<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +2135:void\20merge_sort<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +2136:void\20icu_74::\28anonymous\20namespace\29::MixedBlocks::extend\28unsigned\20int\20const*\2c\20int\2c\20int\2c\20int\29 +2137:void\20emscripten::internal::MemberAccess::setWire\28float\20StrokeOpts::*\20const&\2c\20StrokeOpts&\2c\20float\29 +2138:validate_offsetToRestore\28SkReadBuffer*\2c\20unsigned\20long\29 +2139:utrie2_enum_74 +2140:utext_clone_74 +2141:ustr_hashUCharsN_74 +2142:ures_getValueWithFallback_74 +2143:ures_appendResPath\28UResourceBundle*\2c\20char\20const*\2c\20int\2c\20UErrorCode*\29 +2144:uprv_isInvariantUString_74 +2145:umutablecptrie_set_74 +2146:umutablecptrie_close_74 +2147:uloc_getVariant_74 +2148:uhash_setValueDeleter_74 +2149:uenum_next_74 +2150:ubidi_setPara_74 +2151:ubidi_getVisualRun_74 +2152:ubidi_getRuns_74 +2153:u_strstr_74 +2154:u_getPropertyValueEnum_74 +2155:u_getIntPropertyValue_74 +2156:tt_set_mm_blend +2157:tt_face_get_ps_name +2158:trinkle +2159:strtox.1 +2160:strtoul +2161:std::__2::unique_ptr::release\5babi:v160004\5d\28\29 +2162:std::__2::pair\2c\20void*>*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__emplace_unique_key_args\2c\20std::__2::tuple<>>\28GrTriangulator::Vertex*\20const&\2c\20std::__2::piecewise_construct_t\20const&\2c\20std::__2::tuple&&\2c\20std::__2::tuple<>&&\29 +2163:std::__2::pair::pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +2164:std::__2::moneypunct::do_decimal_point\28\29\20const +2165:std::__2::moneypunct::do_decimal_point\28\29\20const +2166:std::__2::istreambuf_iterator>::istreambuf_iterator\5babi:v160004\5d\28std::__2::basic_istream>&\29 +2167:std::__2::ios_base::good\5babi:v160004\5d\28\29\20const +2168:std::__2::default_delete\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot>::type\20std::__2::default_delete\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot>\28skia_private::THashTable\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot*\29\20const +2169:std::__2::ctype::toupper\5babi:v160004\5d\28char\29\20const +2170:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +2171:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +2172:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +2173:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +2174:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +2175:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +2176:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +2177:std::__2::basic_string\2c\20std::__2::allocator>::__get_short_size\5babi:v160004\5d\28\29\20const +2178:std::__2::basic_string\2c\20std::__2::allocator>&\20std::__2::basic_string\2c\20std::__2::allocator>::__assign_no_alias\28char\20const*\2c\20unsigned\20long\29 +2179:std::__2::basic_streambuf>::__pbump\5babi:v160004\5d\28long\29 +2180:std::__2::basic_iostream>::~basic_iostream\28\29.1 +2181:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::allocator&\2c\20wchar_t*\2c\20unsigned\20long\29 +2182:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::allocator&\2c\20char*\2c\20unsigned\20long\29 +2183:std::__2::__num_put_base::__format_int\28char*\2c\20char\20const*\2c\20bool\2c\20unsigned\20int\29 +2184:std::__2::__num_put_base::__format_float\28char*\2c\20char\20const*\2c\20unsigned\20int\29 +2185:std::__2::__itoa::__append8\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2186:sktext::gpu::VertexFiller::deviceRectAndCheckTransform\28SkMatrix\20const&\29\20const +2187:sktext::gpu::TextBlob::Key::operator==\28sktext::gpu::TextBlob::Key\20const&\29\20const +2188:sktext::gpu::GlyphVector::packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29 +2189:sktext::SkStrikePromise::strike\28\29 +2190:skif::\28anonymous\20namespace\29::downscale_step_count\28float\29 +2191:skif::FilterResult::getAnalyzedShaderView\28skif::Context\20const&\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\29\20const +2192:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20bool\2c\20SkBlender\20const*\29\20const +2193:skif::FilterResult::applyCrop\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkTileMode\29\20const +2194:skif::Context::~Context\28\29 +2195:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::resize\28int\29 +2196:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +2197:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +2198:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2199:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::resize\28int\29 +2200:skia_private::THashTable::Traits>::resize\28int\29 +2201:skia_private::TArray::move\28void*\29 +2202:skia_private::TArray::operator=\28skia_private::TArray&&\29 +2203:skia_private::TArray\2c\20true>::push_back\28SkRGBA4f<\28SkAlphaType\293>&&\29 +2204:skia_png_set_text_2 +2205:skia_png_set_palette_to_rgb +2206:skia_png_handle_IHDR +2207:skia_png_handle_IEND +2208:skia_png_destroy_write_struct +2209:skia::textlayout::operator==\28skia::textlayout::FontArguments\20const&\2c\20skia::textlayout::FontArguments\20const&\29 +2210:skia::textlayout::TextWrapper::TextStretch::extend\28skia::textlayout::Cluster*\29 +2211:skia::textlayout::FontCollection::getFontManagerOrder\28\29\20const +2212:skia::textlayout::FontArguments::FontArguments\28skia::textlayout::FontArguments\20const&\29 +2213:skia::textlayout::Decorations::calculateGaps\28skia::textlayout::TextLine::ClipContext\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\29 +2214:skia::textlayout::Block&\20skia_private::TArray::emplace_back\28unsigned\20long&&\2c\20unsigned\20long&&\2c\20skia::textlayout::TextStyle\20const&\29 +2215:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::fixedFunctionFlags\28\29\20const +2216:skgpu::ganesh::SurfaceFillContext::fillRectWithFP\28SkIRect\20const&\2c\20SkMatrix\20const&\2c\20std::__2::unique_ptr>\29 +2217:skgpu::ganesh::SurfaceFillContext::SurfaceFillContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +2218:skgpu::ganesh::SurfaceDrawContext::drawShape\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\29 +2219:skgpu::ganesh::SurfaceDrawContext::drawPaint\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\29 +2220:skgpu::ganesh::SurfaceDrawContext::MakeWithFallback\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +2221:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29 +2222:skgpu::ganesh::SurfaceContext::PixelTransferResult::operator=\28skgpu::ganesh::SurfaceContext::PixelTransferResult&&\29 +2223:skgpu::ganesh::SmallPathAtlasMgr::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +2224:skgpu::ganesh::OpsTask::~OpsTask\28\29 +2225:skgpu::ganesh::OpsTask::setColorLoadOp\28GrLoadOp\2c\20std::__2::array\29 +2226:skgpu::ganesh::OpsTask::deleteOps\28\29 +2227:skgpu::ganesh::FillRectOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +2228:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29::$_0::operator\28\29\28int\29\20const +2229:skgpu::ganesh::ClipStack::~ClipStack\28\29 +2230:skgpu::TClientMappedBufferManager::~TClientMappedBufferManager\28\29 +2231:skgpu::Swizzle::apply\28SkRasterPipeline*\29\20const +2232:skgpu::Plot::addSubImage\28int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +2233:skgpu::GetLCDBlendFormula\28SkBlendMode\29 +2234:skcms_TransferFunction_isHLGish +2235:skcms_Matrix3x3_concat +2236:sk_srgb_linear_singleton\28\29 +2237:shr +2238:shl +2239:setRegionCheck\28SkRegion*\2c\20SkRegion\20const&\29 +2240:res_findResource_74 +2241:read_header\28SkStream*\2c\20SkPngChunkReader*\2c\20SkCodec**\2c\20png_struct_def**\2c\20png_info_def**\29 +2242:ps_dimension_set_mask_bits +2243:operator==\28SkPath\20const&\2c\20SkPath\20const&\29 +2244:mbrtowc +2245:jround_up +2246:jpeg_make_d_derived_tbl +2247:init\28\29 +2248:ilogbf +2249:icu_74::locale_set_default_internal\28char\20const*\2c\20UErrorCode&\29 +2250:icu_74::compute\28int\2c\20icu_74::ReadArray2D\20const&\2c\20icu_74::ReadArray2D\20const&\2c\20icu_74::ReadArray1D\20const&\2c\20icu_74::ReadArray1D\20const&\2c\20icu_74::Array1D&\2c\20icu_74::Array1D&\2c\20icu_74::Array1D&\29 +2251:icu_74::UnicodeString::getChar32Start\28int\29\20const +2252:icu_74::UnicodeString::fromUTF8\28icu_74::StringPiece\29 +2253:icu_74::UnicodeString::extract\28int\2c\20int\2c\20char*\2c\20int\2c\20icu_74::UnicodeString::EInvariant\29\20const +2254:icu_74::UnicodeString::doReplace\28int\2c\20int\2c\20icu_74::UnicodeString\20const&\2c\20int\2c\20int\29 +2255:icu_74::UnicodeString::copyFrom\28icu_74::UnicodeString\20const&\2c\20signed\20char\29 +2256:icu_74::UnicodeSet::setToBogus\28\29 +2257:icu_74::UnicodeSet::freeze\28\29 +2258:icu_74::UnicodeSet::copyFrom\28icu_74::UnicodeSet\20const&\2c\20signed\20char\29 +2259:icu_74::UnicodeSet::add\28int\20const*\2c\20int\2c\20signed\20char\29 +2260:icu_74::UnicodeSet::_toPattern\28icu_74::UnicodeString&\2c\20signed\20char\29\20const +2261:icu_74::UnicodeSet::UnicodeSet\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +2262:icu_74::UVector::removeElementAt\28int\29 +2263:icu_74::UDataPathIterator::next\28UErrorCode*\29 +2264:icu_74::StringTrieBuilder::writeNode\28int\2c\20int\2c\20int\29 +2265:icu_74::StringEnumeration::StringEnumeration\28\29 +2266:icu_74::SimpleFilteredSentenceBreakIterator::breakExceptionAt\28int\29 +2267:icu_74::RuleBasedBreakIterator::DictionaryCache::reset\28\29 +2268:icu_74::RuleBasedBreakIterator::BreakCache::reset\28int\2c\20int\29 +2269:icu_74::RuleBasedBreakIterator::BreakCache::populateNear\28int\2c\20UErrorCode&\29 +2270:icu_74::RuleBasedBreakIterator::BreakCache::populateFollowing\28\29 +2271:icu_74::ResourceDataValue::getBinary\28int&\2c\20UErrorCode&\29\20const +2272:icu_74::ResourceDataValue::getArray\28UErrorCode&\29\20const +2273:icu_74::ResourceArray::getValue\28int\2c\20icu_74::ResourceValue&\29\20const +2274:icu_74::ReorderingBuffer::init\28int\2c\20UErrorCode&\29 +2275:icu_74::Normalizer2Impl::makeFCD\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer*\2c\20UErrorCode&\29\20const +2276:icu_74::Normalizer2Impl::hasCompBoundaryBefore\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\29\20const +2277:icu_74::Normalizer2Impl::decomposeShort\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20icu_74::Normalizer2Impl::StopAt\2c\20signed\20char\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +2278:icu_74::Normalizer2Impl::addPropertyStarts\28USetAdder\20const*\2c\20UErrorCode&\29\20const +2279:icu_74::ICU_Utility::skipWhitespace\28icu_74::UnicodeString\20const&\2c\20int&\2c\20signed\20char\29 +2280:icu_74::CheckedArrayByteSink::CheckedArrayByteSink\28char*\2c\20int\29 +2281:hb_ucd_get_unicode_funcs +2282:hb_syllabic_insert_dotted_circles\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +2283:hb_shape_full +2284:hb_serialize_context_t::~hb_serialize_context_t\28\29 +2285:hb_serialize_context_t::resolve_links\28\29 +2286:hb_serialize_context_t::reset\28\29 +2287:hb_lazy_loader_t\2c\20hb_face_t\2c\2016u\2c\20OT::cff1_accelerator_t>::get\28\29\20const +2288:hb_lazy_loader_t\2c\20hb_face_t\2c\2034u\2c\20hb_blob_t>::get\28\29\20const +2289:hb_language_from_string +2290:hb_font_t::mults_changed\28\29 +2291:hb_font_destroy +2292:hb_buffer_t::next_glyph\28\29 +2293:get_sof +2294:ftell +2295:ft_var_readpackedpoints +2296:ft_mem_strdup +2297:float\20emscripten::internal::MemberAccess::getWire\28float\20StrokeOpts::*\20const&\2c\20StrokeOpts\20const&\29 +2298:fill_window +2299:exp +2300:encodeImage\28GrDirectContext*\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int\29 +2301:emscripten::val\20MakeTypedArray\28int\2c\20float\20const*\29 +2302:emscripten::internal::MethodInvoker::invoke\28float\20\28SkContourMeasure::*\20const&\29\28\29\20const\2c\20SkContourMeasure\20const*\29 +2303:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20unsigned\20long\29 +2304:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath\20const&\2c\20SkPath\20const&\29\2c\20SkPath*\2c\20SkPath*\29 +2305:dquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2306:do_clip_op\28SkReadBuffer*\2c\20SkCanvas*\2c\20SkRegion::Op\2c\20SkClipOp*\29 +2307:do_anti_hairline\28int\2c\20int\2c\20int\2c\20int\2c\20SkIRect\20const*\2c\20SkBlitter*\29 +2308:doWriteReverse\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +2309:doWriteForward\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +2310:dline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2311:dispose_chunk +2312:direct_blur_y\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2313:decltype\28fp\28\28SkRecords::NoOp\29\28\29\29\29\20SkRecord::Record::visit\28SkRecords::Draw&\29\20const +2314:dcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2315:dconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2316:crop_rect_edge\28SkRect\20const&\2c\20int\2c\20int\2c\20int\2c\20int\2c\20float*\2c\20float*\2c\20float*\2c\20float*\2c\20float*\29 +2317:createPath\28char\20const*\2c\20int\2c\20char\20const*\2c\20int\2c\20char\20const*\2c\20icu_74::CharString&\2c\20UErrorCode*\29 +2318:char*\20std::__2::__rewrap_iter\5babi:v160004\5d>\28char*\2c\20char*\29 +2319:cff_slot_load +2320:cff_parse_real +2321:cff_index_get_sid_string +2322:cff_index_access_element +2323:cf2_doStems +2324:cf2_doFlex +2325:byn$mgfn-shared$tt_cmap8_get_info +2326:byn$mgfn-shared$tt_cmap0_get_info +2327:byn$mgfn-shared$skia_png_set_strip_16 +2328:byn$mgfn-shared$isBidiControl\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +2329:byn$mgfn-shared$SkSL::Tracer::line\28int\29 +2330:byn$mgfn-shared$AlmostBequalUlps\28float\2c\20float\29 +2331:buffer_verify_error\28hb_buffer_t*\2c\20hb_font_t*\2c\20char\20const*\2c\20...\29 +2332:blur_y_rect\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2333:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29::$_0::operator\28\29\28unsigned\20char*\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\29\20const +2334:af_sort_and_quantize_widths +2335:af_glyph_hints_align_weak_points +2336:af_glyph_hints_align_strong_points +2337:af_face_globals_new +2338:af_cjk_compute_stem_width +2339:add_huff_table +2340:addPoint\28UBiDi*\2c\20int\2c\20int\29 +2341:_addExtensionToList\28ExtensionListEntry**\2c\20ExtensionListEntry*\2c\20signed\20char\29 +2342:__uselocale +2343:__math_xflow +2344:__cxxabiv1::__base_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +2345:\28anonymous\20namespace\29::make_vertices_spec\28bool\2c\20bool\29 +2346:\28anonymous\20namespace\29::gather_lines_and_quads\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\29::$_1::operator\28\29\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20bool\29\20const +2347:\28anonymous\20namespace\29::draw_stencil_rect\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrHardClip\20const&\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +2348:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2349:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2350:\28anonymous\20namespace\29::CacheImpl::removeInternal\28\28anonymous\20namespace\29::CacheImpl::Value*\29 +2351:WebPRescalerExport +2352:WebPInitAlphaProcessing +2353:WebPFreeDecBuffer +2354:WebPDemuxDelete +2355:VP8SetError +2356:VP8LInverseTransform +2357:VP8LDelete +2358:VP8LColorCacheClear +2359:UDataMemory_init_74 +2360:TT_Load_Context +2361:StringBuffer\20apply_format_string<1024>\28char\20const*\2c\20void*\2c\20char\20\28&\29\20\5b1024\5d\2c\20SkString*\29 +2362:SkYUVAPixmaps::operator=\28SkYUVAPixmaps\20const&\29 +2363:SkYUVAPixmapInfo::SupportedDataTypes::enableDataType\28SkYUVAPixmapInfo::DataType\2c\20int\29 +2364:SkWriter32::writeMatrix\28SkMatrix\20const&\29 +2365:SkWriter32::snapshotAsData\28\29\20const +2366:SkVertices::uniqueID\28\29\20const +2367:SkVertices::approximateSize\28\29\20const +2368:SkUnicode::convertUtf8ToUtf16\28char\20const*\2c\20int\29 +2369:SkUTF::UTF16ToUTF8\28char*\2c\20int\2c\20unsigned\20short\20const*\2c\20unsigned\20long\29 +2370:SkTypefaceCache::NewTypefaceID\28\29 +2371:SkTextBlobRunIterator::next\28\29 +2372:SkTextBlobRunIterator::SkTextBlobRunIterator\28SkTextBlob\20const*\29 +2373:SkTextBlobBuilder::SkTextBlobBuilder\28\29 +2374:SkTextBlobBuilder::ConservativeRunBounds\28SkTextBlob::RunRecord\20const&\29 +2375:SkTSpan::closestBoundedT\28SkDPoint\20const&\29\20const +2376:SkTSect::updateBounded\28SkTSpan*\2c\20SkTSpan*\2c\20SkTSpan*\29 +2377:SkTSect::trim\28SkTSpan*\2c\20SkTSect*\29 +2378:SkTDStorage::erase\28int\2c\20int\29 +2379:SkTDPQueue::percolateUpIfNecessary\28int\29 +2380:SkSurfaceProps::SkSurfaceProps\28unsigned\20int\2c\20SkPixelGeometry\2c\20float\2c\20float\29 +2381:SkStrokerPriv::JoinFactory\28SkPaint::Join\29 +2382:SkStrokeRec::setStrokeStyle\28float\2c\20bool\29 +2383:SkStrokeRec::setFillStyle\28\29 +2384:SkStrokeRec::applyToPath\28SkPath*\2c\20SkPath\20const&\29\20const +2385:SkString::set\28char\20const*\29 +2386:SkStrikeSpec::findOrCreateStrike\28\29\20const +2387:SkStrikeSpec::MakeWithNoDevice\28SkFont\20const&\2c\20SkPaint\20const*\29 +2388:SkStrike::unlock\28\29 +2389:SkStrike::lock\28\29 +2390:SkSharedMutex::SkSharedMutex\28\29 +2391:SkShadowTessellator::MakeSpot\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkPoint3\20const&\2c\20float\2c\20bool\2c\20bool\29 +2392:SkShaders::Empty\28\29 +2393:SkShaders::Color\28unsigned\20int\29 +2394:SkShaderBase::appendRootStages\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +2395:SkScalerContext::~SkScalerContext\28\29.1 +2396:SkSL::write_stringstream\28SkSL::StringStream\20const&\2c\20SkSL::OutputStream&\29 +2397:SkSL::evaluate_3_way_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +2398:SkSL::VarDeclaration::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\2c\20std::__2::unique_ptr>\29 +2399:SkSL::Type::priority\28\29\20const +2400:SkSL::Type::checkIfUsableInArray\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +2401:SkSL::SymbolTable::takeOwnershipOfString\28std::__2::basic_string\2c\20std::__2::allocator>\29 +2402:SkSL::SymbolTable::isBuiltinType\28std::__2::basic_string_view>\29\20const +2403:SkSL::RP::SlotManager::mapVariableToSlots\28SkSL::Variable\20const&\2c\20SkSL::RP::SlotRange\29 +2404:SkSL::RP::Program::appendStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkSL::RP::Callbacks*\2c\20SkSpan\29\20const +2405:SkSL::RP::Generator::pushVectorizedExpression\28SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +2406:SkSL::RP::Builder::ternary_op\28SkSL::RP::BuilderOp\2c\20int\29 +2407:SkSL::RP::Builder::simplifyPopSlotsUnmasked\28SkSL::RP::SlotRange*\29 +2408:SkSL::RP::Builder::pop_slots_unmasked\28SkSL::RP::SlotRange\29 +2409:SkSL::RP::Builder::exchange_src\28\29 +2410:SkSL::ProgramUsage::remove\28SkSL::ProgramElement\20const&\29 +2411:SkSL::ProgramUsage::isDead\28SkSL::Variable\20const&\29\20const +2412:SkSL::Pool::~Pool\28\29 +2413:SkSL::PipelineStage::PipelineStageCodeGenerator::typeName\28SkSL::Type\20const&\29 +2414:SkSL::LiteralType::priority\28\29\20const +2415:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sub\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +2416:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_dot\28std::__2::array\20const&\29 +2417:SkSL::GLSLCodeGenerator::writeAnyConstructor\28SkSL::AnyConstructor\20const&\2c\20SkSL::OperatorPrecedence\29 +2418:SkSL::ExpressionArray::clone\28\29\20const +2419:SkSL::Compiler::errorText\28bool\29 +2420:SkSL::Block::Make\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2421:SkSL::Block::MakeBlock\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2422:SkSL::Analysis::DetectVarDeclarationWithoutScope\28SkSL::Statement\20const&\2c\20SkSL::ErrorReporter*\29 +2423:SkRuntimeEffectPriv::TransformUniforms\28SkSpan\2c\20sk_sp\2c\20SkColorSpace\20const*\29 +2424:SkRuntimeEffect::getRPProgram\28SkSL::DebugTracePriv*\29\20const +2425:SkRegion::getBoundaryPath\28SkPath*\29\20const +2426:SkRegion::Spanerator::next\28int*\2c\20int*\29 +2427:SkRegion::SkRegion\28SkRegion\20const&\29 +2428:SkReduceOrder::Quad\28SkPoint\20const*\2c\20SkPoint*\29 +2429:SkReadBuffer::skipByteArray\28unsigned\20long*\29 +2430:SkReadBuffer::readSampling\28\29 +2431:SkReadBuffer::readRRect\28SkRRect*\29 +2432:SkReadBuffer::checkInt\28int\2c\20int\29 +2433:SkRasterPipeline::appendMatrix\28SkArenaAlloc*\2c\20SkMatrix\20const&\29 +2434:SkQuads::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +2435:SkQuadraticEdge::updateQuadratic\28\29 +2436:SkPngCodec::~SkPngCodec\28\29.1 +2437:SkPngCodec::processData\28\29 +2438:SkPixmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +2439:SkPictureRecord::~SkPictureRecord\28\29 +2440:SkPicture::~SkPicture\28\29.1 +2441:SkPathStroker::quadStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2442:SkPathStroker::preJoinTo\28SkPoint\20const&\2c\20SkPoint*\2c\20SkPoint*\2c\20bool\29 +2443:SkPathStroker::intersectRay\28SkQuadConstruct*\2c\20SkPathStroker::IntersectRayType\29\20const +2444:SkPathStroker::cubicStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2445:SkPathStroker::conicStroke\28SkConic\20const&\2c\20SkQuadConstruct*\29 +2446:SkPathMeasure::isClosed\28\29 +2447:SkPathEffectBase::getFlattenableType\28\29\20const +2448:SkPathBuilder::moveTo\28SkPoint\29 +2449:SkPathBuilder::incReserve\28int\2c\20int\29 +2450:SkPathBuilder::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2451:SkPath::isLastContourClosed\28\29\20const +2452:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2453:SkPaintToGrPaintReplaceShader\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::unique_ptr>\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +2454:SkPaint::setStrokeMiter\28float\29 +2455:SkPaint::setStrokeJoin\28SkPaint::Join\29 +2456:SkOpSpanBase::mergeMatches\28SkOpSpanBase*\29 +2457:SkOpSpanBase::addOpp\28SkOpSpanBase*\29 +2458:SkOpSegment::subDivide\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkDCurve*\29\20const +2459:SkOpSegment::release\28SkOpSpan\20const*\29 +2460:SkOpSegment::operand\28\29\20const +2461:SkOpSegment::moveNearby\28\29 +2462:SkOpSegment::markDone\28SkOpSpan*\29 +2463:SkOpSegment::markAndChaseDone\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpSpanBase**\29 +2464:SkOpSegment::isClose\28double\2c\20SkOpSegment\20const*\29\20const +2465:SkOpSegment::init\28SkPoint*\2c\20float\2c\20SkOpContour*\2c\20SkPath::Verb\29 +2466:SkOpSegment::addT\28double\2c\20SkPoint\20const&\29 +2467:SkOpCoincidence::fixUp\28SkOpPtT*\2c\20SkOpPtT\20const*\29 +2468:SkOpCoincidence::add\28SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\29 +2469:SkOpCoincidence::addMissing\28bool*\29 +2470:SkOpCoincidence::addIfMissing\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20double\2c\20double\2c\20SkOpSegment*\2c\20SkOpSegment*\2c\20bool*\29 +2471:SkOpCoincidence::addExpanded\28\29 +2472:SkOpAngle::set\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +2473:SkOpAngle::lineOnOneSide\28SkDPoint\20const&\2c\20SkDVector\20const&\2c\20SkOpAngle\20const*\2c\20bool\29\20const +2474:SkNoPixelsDevice::ClipState::op\28SkClipOp\2c\20SkM44\20const&\2c\20SkRect\20const&\2c\20bool\2c\20bool\29 +2475:SkMatrix\20skif::Mapping::map\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +2476:SkMatrixPriv::DifferentialAreaScale\28SkMatrix\20const&\2c\20SkPoint\20const&\29 +2477:SkMatrix::writeToMemory\28void*\29\20const +2478:SkMatrix::preservesRightAngles\28float\29\20const +2479:SkM44::normalizePerspective\28\29 +2480:SkLatticeIter::~SkLatticeIter\28\29 +2481:SkLatticeIter::next\28SkIRect*\2c\20SkRect*\2c\20bool*\2c\20unsigned\20int*\29 +2482:SkImages::RasterFromBitmap\28SkBitmap\20const&\29 +2483:SkImage_Lazy::Validator::Validator\28sk_sp\2c\20SkColorType\20const*\2c\20sk_sp\29 +2484:SkImageShader::MakeSubset\28sk_sp\2c\20SkRect\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +2485:SkImageFilters::Image\28sk_sp\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\29 +2486:SkImageFilters::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +2487:SkImage::readPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +2488:SkHalfToFloat\28unsigned\20short\29 +2489:SkGradientShader::MakeSweep\28float\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2490:SkGradientShader::MakeRadial\28SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2491:SkGradientBaseShader::commonAsAGradient\28SkShaderBase::GradientInfo*\29\20const +2492:SkGradientBaseShader::ValidGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\29 +2493:SkGradientBaseShader::SkGradientBaseShader\28SkGradientBaseShader::Descriptor\20const&\2c\20SkMatrix\20const&\29 +2494:SkGradientBaseShader::MakeDegenerateGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20float\20const*\2c\20int\2c\20sk_sp\2c\20SkTileMode\29 +2495:SkGradientBaseShader::Descriptor::~Descriptor\28\29 +2496:SkGradientBaseShader::Descriptor::Descriptor\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\29 +2497:SkGlyph::setPath\28SkArenaAlloc*\2c\20SkPath\20const*\2c\20bool\29 +2498:SkFontMgr::matchFamilyStyleCharacter\28char\20const*\2c\20SkFontStyle\20const&\2c\20char\20const**\2c\20int\2c\20int\29\20const +2499:SkFont::setSize\28float\29 +2500:SkEvalQuadAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +2501:SkEncodedInfo::~SkEncodedInfo\28\29 +2502:SkEmptyFontMgr::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +2503:SkDrawableList::~SkDrawableList\28\29 +2504:SkDrawable::draw\28SkCanvas*\2c\20SkMatrix\20const*\29 +2505:SkData::PrivateNewWithCopy\28void\20const*\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +2506:SkDashPathEffect::Make\28float\20const*\2c\20int\2c\20float\29 +2507:SkDQuad::monotonicInX\28\29\20const +2508:SkDCubic::dxdyAtT\28double\29\20const +2509:SkDCubic::RootsValidT\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +2510:SkCubicEdge::updateCubic\28\29 +2511:SkConicalGradient::~SkConicalGradient\28\29 +2512:SkColorSpace::serialize\28\29\20const +2513:SkColorSpace::MakeSRGBLinear\28\29 +2514:SkColorFilterPriv::MakeGaussian\28\29 +2515:SkColorConverter::SkColorConverter\28unsigned\20int\20const*\2c\20int\29 +2516:SkCodec::startScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const*\29 +2517:SkCodec::handleFrameIndex\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20std::__2::function\29 +2518:SkCodec::getScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +2519:SkChopQuadAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +2520:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\20const*\2c\20int\29 +2521:SkChopCubicAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +2522:SkCharToGlyphCache::SkCharToGlyphCache\28\29 +2523:SkCanvas::getTotalMatrix\28\29\20const +2524:SkCanvas::getLocalToDevice\28\29\20const +2525:SkCanvas::getLocalClipBounds\28\29\20const +2526:SkCanvas::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +2527:SkCanvas::drawAtlas\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +2528:SkCanvas::concat\28SkM44\20const&\29 +2529:SkCanvas::SkCanvas\28SkBitmap\20const&\29 +2530:SkCanvas::ImageSetEntry::ImageSetEntry\28SkCanvas::ImageSetEntry\20const&\29 +2531:SkBmpCodec::ReadHeader\28SkStream*\2c\20bool\2c\20std::__2::unique_ptr>*\29 +2532:SkBlurMaskFilterImpl::computeXformedSigma\28SkMatrix\20const&\29\20const +2533:SkBlitter::blitRectRegion\28SkIRect\20const&\2c\20SkRegion\20const&\29 +2534:SkBlendMode_ShouldPreScaleCoverage\28SkBlendMode\2c\20bool\29 +2535:SkBlendMode_AppendStages\28SkBlendMode\2c\20SkRasterPipeline*\29 +2536:SkBitmap::tryAllocPixels\28SkBitmap::Allocator*\29 +2537:SkBitmap::readPixels\28SkPixmap\20const&\2c\20int\2c\20int\29\20const +2538:SkBitmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +2539:SkBitmap::installPixels\28SkPixmap\20const&\29 +2540:SkBitmap::allocPixels\28SkImageInfo\20const&\29 +2541:SkBaseShadowTessellator::handleQuad\28SkPoint\20const*\29 +2542:SkAutoDescriptor::~SkAutoDescriptor\28\29 +2543:SkAnimatedImage::getFrameCount\28\29\20const +2544:SkAAClip::~SkAAClip\28\29 +2545:SkAAClip::setPath\28SkPath\20const&\2c\20SkIRect\20const&\2c\20bool\29 +2546:SkAAClip::op\28SkAAClip\20const&\2c\20SkClipOp\29 +2547:OT::hb_ot_layout_lookup_accelerator_t*\20OT::hb_ot_layout_lookup_accelerator_t::create\28OT::Layout::GSUB_impl::SubstLookup\20const&\29 +2548:OT::hb_ot_apply_context_t::replace_glyph\28unsigned\20int\29 +2549:OT::apply_lookup\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20OT::LookupRecord\20const*\2c\20unsigned\20int\29 +2550:OT::Layout::GPOS_impl::ValueFormat::get_device\28OT::IntType\20const*\2c\20bool*\2c\20void\20const*\2c\20hb_sanitize_context_t&\29 +2551:OT::Layout::GPOS_impl::AnchorFormat3::get_anchor\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20float*\2c\20float*\29\20const +2552:OT::Layout::GPOS_impl::AnchorFormat2::get_anchor\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20float*\2c\20float*\29\20const +2553:OT::ClassDef::get_class\28unsigned\20int\29\20const +2554:JpegDecoderMgr::~JpegDecoderMgr\28\29 +2555:GrTriangulator::simplify\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +2556:GrTriangulator::setTop\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2557:GrTriangulator::mergeCoincidentVertices\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29\20const +2558:GrTriangulator::Vertex*\20SkArenaAlloc::make\28SkPoint&\2c\20int&&\29 +2559:GrThreadSafeCache::remove\28skgpu::UniqueKey\20const&\29 +2560:GrThreadSafeCache::internalFind\28skgpu::UniqueKey\20const&\29 +2561:GrThreadSafeCache::internalAdd\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +2562:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29 +2563:GrTexture::markMipmapsClean\28\29 +2564:GrTessellationShader::MakePipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedClip&&\2c\20GrProcessorSet&&\29 +2565:GrSurfaceProxyView::concatSwizzle\28skgpu::Swizzle\29 +2566:GrSurfaceProxy::LazyCallbackResult::LazyCallbackResult\28sk_sp\29 +2567:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20GrSurfaceProxy::RectsMustMatch\2c\20sk_sp*\29 +2568:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20GrStyle\20const&\2c\20GrStyledShape::DoSimplify\29 +2569:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +2570:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrPipeline\20const*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrUserStencilSettings\20const*\29 +2571:GrShape::simplifyLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\29 +2572:GrShape::reset\28\29 +2573:GrShape::conservativeContains\28SkPoint\20const&\29\20const +2574:GrSWMaskHelper::init\28SkIRect\20const&\29 +2575:GrResourceProvider::createNonAAQuadIndexBuffer\28\29 +2576:GrResourceProvider::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\2c\20GrResourceProvider::ZeroInit\29 +2577:GrResourceCache::refAndMakeResourceMRU\28GrGpuResource*\29 +2578:GrResourceCache::findAndRefUniqueResource\28skgpu::UniqueKey\20const&\29 +2579:GrRenderTask::addTarget\28GrDrawingManager*\2c\20sk_sp\29 +2580:GrRenderTarget::~GrRenderTarget\28\29.1 +2581:GrRecordingContextPriv::createDevice\28skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\2c\20skgpu::ganesh::Device::InitContents\29 +2582:GrQuadUtils::WillUseHairline\28GrQuad\20const&\2c\20GrAAType\2c\20GrQuadAAFlags\29 +2583:GrQuadUtils::CropToRect\28SkRect\20const&\2c\20GrAA\2c\20DrawQuad*\2c\20bool\29 +2584:GrProxyProvider::processInvalidUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\29 +2585:GrPorterDuffXPFactory::Get\28SkBlendMode\29 +2586:GrPixmap::operator=\28GrPixmap&&\29 +2587:GrPathUtils::scaleToleranceToSrc\28float\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +2588:GrPathUtils::quadraticPointCount\28SkPoint\20const*\2c\20float\29 +2589:GrPathUtils::cubicPointCount\28SkPoint\20const*\2c\20float\29 +2590:GrPaint::setPorterDuffXPFactory\28SkBlendMode\29 +2591:GrPaint::GrPaint\28GrPaint\20const&\29 +2592:GrOpsRenderPass::draw\28int\2c\20int\29 +2593:GrOpsRenderPass::drawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +2594:GrMeshDrawOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +2595:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29 +2596:GrGradientShader::MakeGradientFP\28SkGradientBaseShader\20const&\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\2c\20std::__2::unique_ptr>\2c\20SkMatrix\20const*\29 +2597:GrGpuResource::getContext\28\29 +2598:GrGpu::writePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +2599:GrGLTexture::onSetLabel\28\29 +2600:GrGLTexture::onRelease\28\29 +2601:GrGLTexture::onAbandon\28\29 +2602:GrGLTexture::backendFormat\28\29\20const +2603:GrGLSLUniformHandler::addInputSampler\28skgpu::Swizzle\20const&\2c\20char\20const*\29 +2604:GrGLSLShaderBuilder::appendFunctionDecl\28SkSLType\2c\20char\20const*\2c\20SkSpan\29 +2605:GrGLSLProgramBuilder::fragmentProcessorHasCoordsParam\28GrFragmentProcessor\20const*\29\20const +2606:GrGLRenderTarget::onRelease\28\29 +2607:GrGLRenderTarget::onAbandon\28\29 +2608:GrGLGpu::resolveRenderFBOs\28GrGLRenderTarget*\2c\20SkIRect\20const&\2c\20GrGLRenderTarget::ResolveDirection\2c\20bool\29 +2609:GrGLGpu::flushBlendAndColorWrite\28skgpu::BlendInfo\20const&\2c\20skgpu::Swizzle\20const&\29 +2610:GrGLGetVersionFromString\28char\20const*\29 +2611:GrGLCheckLinkStatus\28GrGLGpu\20const*\2c\20unsigned\20int\2c\20bool\2c\20skgpu::ShaderErrorHandler*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const**\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +2612:GrGLCaps::maxRenderTargetSampleCount\28GrGLFormat\29\20const +2613:GrFragmentProcessors::Make\28SkBlenderBase\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20GrFPArgs\20const&\29 +2614:GrFragmentProcessor::isEqual\28GrFragmentProcessor\20const&\29\20const +2615:GrFragmentProcessor::asTextureEffect\28\29\20const +2616:GrFragmentProcessor::Rect\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRect\29 +2617:GrFragmentProcessor::ModulateRGBA\28std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +2618:GrDrawingManager::~GrDrawingManager\28\29 +2619:GrDrawingManager::removeRenderTasks\28\29 +2620:GrDrawingManager::getPathRenderer\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\2c\20bool\2c\20skgpu::ganesh::PathRendererChain::DrawType\2c\20skgpu::ganesh::PathRenderer::StencilSupport*\29 +2621:GrDrawOpAtlas::compact\28skgpu::AtlasToken\29 +2622:GrContext_Base::~GrContext_Base\28\29 +2623:GrContext_Base::defaultBackendFormat\28SkColorType\2c\20skgpu::Renderable\29\20const +2624:GrColorSpaceXform::XformKey\28GrColorSpaceXform\20const*\29 +2625:GrColorSpaceXform::Make\28SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +2626:GrColorSpaceXform::Make\28GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +2627:GrColorInfo::operator=\28GrColorInfo\20const&\29 +2628:GrCaps::supportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +2629:GrCaps::getFallbackColorTypeAndFormat\28GrColorType\2c\20int\29\20const +2630:GrCaps::areColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +2631:GrBufferAllocPool::~GrBufferAllocPool\28\29 +2632:GrBlurUtils::DrawShapeWithMaskFilter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\29 +2633:GrBaseContextPriv::getShaderErrorHandler\28\29\20const +2634:GrBackendTexture::GrBackendTexture\28GrBackendTexture\20const&\29 +2635:GrBackendRenderTarget::getBackendFormat\28\29\20const +2636:GrBackendFormat::operator==\28GrBackendFormat\20const&\29\20const +2637:GrAAConvexTessellator::createOuterRing\28GrAAConvexTessellator::Ring\20const&\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring*\29 +2638:GrAAConvexTessellator::createInsetRings\28GrAAConvexTessellator::Ring&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring**\29 +2639:FindSortableTop\28SkOpContourHead*\29 +2640:FT_Set_Charmap +2641:FT_Outline_Decompose +2642:FT_Open_Face +2643:FT_New_Size +2644:FT_Load_Sfnt_Table +2645:FT_GlyphLoader_Add +2646:FT_Get_Color_Glyph_Paint +2647:FT_Get_Color_Glyph_Layer +2648:FT_Get_Advance +2649:FT_Done_Library +2650:FT_CMap_New +2651:End +2652:DecodeImageData\28sk_sp\29 +2653:Current_Ratio +2654:Cr_z__tr_stored_block +2655:ClipParams_unpackRegionOp\28SkReadBuffer*\2c\20unsigned\20int\29 +2656:CircleOp::Circle&\20skia_private::TArray::emplace_back\28CircleOp::Circle&&\29 +2657:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +2658:AlmostEqualUlps_Pin\28float\2c\20float\29 +2659:wuffs_lzw__decoder__workbuf_len +2660:wuffs_gif__decoder__decode_image_config +2661:wuffs_gif__decoder__decode_frame_config +2662:winding_mono_quad\28SkPoint\20const*\2c\20float\2c\20float\2c\20int*\29 +2663:winding_mono_conic\28SkConic\20const&\2c\20float\2c\20float\2c\20int*\29 +2664:wcrtomb +2665:wchar_t\20const*\20std::__2::find\5babi:v160004\5d\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const&\29 +2666:void\20std::__2::__introsort\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2667:void\20std::__2::__introsort\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\2c\20std::__2::iterator_traits<\28anonymous\20namespace\29::Entry*>::difference_type\29 +2668:void\20std::__2::__introsort\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\2c\20std::__2::iterator_traits::difference_type\29 +2669:void\20std::__2::__introsort\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2670:void\20std::__2::__inplace_merge\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +2671:void\20sort_r_simple\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\2c\20void*\29\2c\20void*\29 +2672:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.3 +2673:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29 +2674:void\20SkTIntroSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29>\28int\2c\20double*\2c\20int\2c\20void\20SkTQSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29\20const&\29 +2675:void\20SkTIntroSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29>\28int\2c\20SkEdge*\2c\20int\2c\20void\20SkTQSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29\20const&\29 +2676:vfprintf +2677:valid_args\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20unsigned\20long*\29 +2678:utf8_back1SafeBody_74 +2679:ustrcase_internalToUpper_74 +2680:uscript_getShortName_74 +2681:uscript_getScript_74 +2682:uprv_strnicmp_74 +2683:uprv_strdup_74 +2684:uprv_sortArray_74 +2685:uprv_min_74 +2686:uprv_mapFile_74 +2687:uprv_compareASCIIPropertyNames_74 +2688:update_offset_to_base\28char\20const*\2c\20long\29 +2689:update_box +2690:unsigned\20long\20const&\20std::__2::min\5babi:v160004\5d\28unsigned\20long\20const&\2c\20unsigned\20long\20const&\29 +2691:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2692:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +2693:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2694:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2695:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2696:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +2697:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2698:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2699:umutablecptrie_get_74 +2700:ultag_isUnicodeLocaleAttributes_74 +2701:ultag_isPrivateuseValueSubtags_74 +2702:ulocimp_getKeywords_74 +2703:ulocimp_canonicalize_74 +2704:uloc_openKeywords_74 +2705:uhash_remove_74 +2706:uhash_hashChars_74 +2707:uhash_getiAndFound_74 +2708:uhash_compareChars_74 +2709:udata_getHashTable\28UErrorCode&\29 +2710:ucstrTextAccess\28UText*\2c\20long\20long\2c\20signed\20char\29 +2711:u_strToUTF8_74 +2712:u_strToUTF8WithSub_74 +2713:u_strCompare_74 +2714:u_memmove_74 +2715:u_getUnicodeProperties_74 +2716:u_getDataDirectory_74 +2717:u_charMirror_74 +2718:tt_size_reset +2719:tt_sbit_decoder_load_metrics +2720:tt_face_get_location +2721:tt_face_find_bdf_prop +2722:tolower +2723:toTextStyle\28SimpleTextStyle\20const&\29 +2724:t1_cmap_unicode_done +2725:subdivide_cubic_to\28SkPath*\2c\20SkPoint\20const*\2c\20int\29 +2726:subdivide\28SkConic\20const&\2c\20SkPoint*\2c\20int\29 +2727:subQuickSort\28char*\2c\20int\2c\20int\2c\20int\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\2c\20void\20const*\29\2c\20void\20const*\2c\20void*\2c\20void*\29 +2728:strtox +2729:strtoull_l +2730:strcat +2731:std::logic_error::~logic_error\28\29.1 +2732:std::__2::vector>::__append\28unsigned\20long\29 +2733:std::__2::vector>::push_back\5babi:v160004\5d\28float&&\29 +2734:std::__2::vector>::__append\28unsigned\20long\29 +2735:std::__2::vector<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20std::__2::allocator<\28anonymous\20namespace\29::CacheImpl::Value*>>::__throw_length_error\5babi:v160004\5d\28\29\20const +2736:std::__2::vector>::reserve\28unsigned\20long\29 +2737:std::__2::vector\2c\20std::__2::allocator>>::push_back\5babi:v160004\5d\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +2738:std::__2::unique_ptr<\28anonymous\20namespace\29::SoftwarePathData\2c\20std::__2::default_delete<\28anonymous\20namespace\29::SoftwarePathData>>::reset\5babi:v160004\5d\28\28anonymous\20namespace\29::SoftwarePathData*\29 +2739:std::__2::time_put>>::~time_put\28\29.1 +2740:std::__2::pair\2c\20std::__2::allocator>>>::~pair\28\29 +2741:std::__2::pair\20std::__2::__copy_trivial::operator\28\29\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +2742:std::__2::locale::operator=\28std::__2::locale\20const&\29 +2743:std::__2::locale::locale\28\29 +2744:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\29 +2745:std::__2::ios_base::~ios_base\28\29 +2746:std::__2::ios_base::init\28void*\29 +2747:std::__2::ios_base::clear\28unsigned\20int\29 +2748:std::__2::fpos<__mbstate_t>::fpos\5babi:v160004\5d\28long\20long\29 +2749:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28SkAnimatedImage::Frame&\2c\20SkAnimatedImage::Frame&\29 +2750:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28SkSL::ProgramUsage*\29\20const +2751:std::__2::decay>::__call\28std::declval\20const&>\28\29\29\29>::type\20std::__2::__to_address\5babi:v160004\5d\2c\20void>\28std::__2::__wrap_iter\20const&\29 +2752:std::__2::chrono::duration>::duration\5babi:v160004\5d\28long\20long\20const&\2c\20std::__2::enable_if::value\20&&\20\28std::__2::integral_constant::value\20||\20!treat_as_floating_point::value\29\2c\20void>::type*\29 +2753:std::__2::char_traits::move\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +2754:std::__2::char_traits::assign\28char*\2c\20unsigned\20long\2c\20char\29 +2755:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.2 +2756:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29 +2757:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +2758:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28wchar_t\29 +2759:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +2760:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::allocator\20const&\29 +2761:std::__2::basic_string\2c\20std::__2::allocator>::__make_iterator\5babi:v160004\5d\28char*\29 +2762:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +2763:std::__2::basic_streambuf>::setp\5babi:v160004\5d\28char*\2c\20char*\29 +2764:std::__2::basic_streambuf>::basic_streambuf\28\29 +2765:std::__2::basic_ostream>::~basic_ostream\28\29.1 +2766:std::__2::basic_istream>::~basic_istream\28\29.1 +2767:std::__2::basic_istream>::sentry::sentry\28std::__2::basic_istream>&\2c\20bool\29 +2768:std::__2::basic_iostream>::~basic_iostream\28\29.2 +2769:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +2770:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +2771:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +2772:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +2773:std::__2::__throw_system_error\28int\2c\20char\20const*\29 +2774:std::__2::__throw_out_of_range\5babi:v160004\5d\28char\20const*\29 +2775:std::__2::__throw_length_error\5babi:v160004\5d\28char\20const*\29 +2776:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +2777:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20wchar_t*\2c\20wchar_t&\2c\20wchar_t&\29 +2778:std::__2::__num_get::__stage2_float_loop\28wchar_t\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20wchar_t*\29 +2779:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20char*\2c\20char&\2c\20char&\29 +2780:std::__2::__num_get::__stage2_float_loop\28char\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20char*\29 +2781:std::__2::__libcpp_wcrtomb_l\5babi:v160004\5d\28char*\2c\20wchar_t\2c\20__mbstate_t*\2c\20__locale_struct*\29 +2782:std::__2::__less::operator\28\29\5babi:v160004\5d\28unsigned\20int\20const&\2c\20unsigned\20long\20const&\29\20const +2783:std::__2::__itoa::__base_10_u32\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2784:std::__2::__itoa::__append6\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2785:std::__2::__itoa::__append4\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2786:std::__2::__call_once\28unsigned\20long\20volatile&\2c\20void*\2c\20void\20\28*\29\28void*\29\29 +2787:sktext::gpu::VertexFiller::flatten\28SkWriteBuffer&\29\20const +2788:sktext::gpu::VertexFiller::Make\28skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20SkRect\2c\20SkSpan\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::FillerType\29 +2789:sktext::gpu::SubRunContainer::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20SkRefCnt\20const*\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +2790:sktext::gpu::SubRunAllocator::SubRunAllocator\28int\29 +2791:sktext::gpu::GlyphVector::flatten\28SkWriteBuffer&\29\20const +2792:sktext::gpu::GlyphVector::Make\28sktext::SkStrikePromise&&\2c\20SkSpan\2c\20sktext::gpu::SubRunAllocator*\29 +2793:sktext::SkStrikePromise::flatten\28SkWriteBuffer&\29\20const +2794:sktext::GlyphRunBuilder::makeGlyphRunList\28sktext::GlyphRun\20const&\2c\20SkPaint\20const&\2c\20SkPoint\29 +2795:sktext::GlyphRun::GlyphRun\28SkFont\20const&\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\29 +2796:skpaint_to_grpaint_impl\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::optional>>\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +2797:skip_literal_string +2798:skif::\28anonymous\20namespace\29::are_axes_nearly_integer_aligned\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29 +2799:skif::LayerSpace::relevantSubset\28skif::LayerSpace\2c\20SkTileMode\29\20const +2800:skif::FilterResult::applyColorFilter\28skif::Context\20const&\2c\20sk_sp\29\20const +2801:skif::FilterResult::Builder::outputBounds\28std::__2::optional>\29\20const +2802:skif::FilterResult::Builder::drawShader\28sk_sp\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +2803:skif::FilterResult::Builder::createInputShaders\28skif::LayerSpace\20const&\2c\20bool\29 +2804:skia_private::THashTable\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair>::resize\28int\29 +2805:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::removeSlot\28int\29 +2806:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2807:skia_private::THashTable::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2808:skia_private::THashTable::Pair\2c\20SkSL::IRNode\20const*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2809:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +2810:skia_private::THashTable::Traits>::resize\28int\29 +2811:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::find\28GrProgramDesc\20const&\29\20const +2812:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrThreadSafeCache::Entry*&&\29 +2813:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +2814:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +2815:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrTextureProxy*&&\29 +2816:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +2817:skia_private::THashTable::Traits>::uncheckedSet\28FT_Opaque_Paint_&&\29 +2818:skia_private::THashTable::Traits>::resize\28int\29 +2819:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::~THashMap\28\29 +2820:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::find\28std::__2::basic_string_view>\20const&\29\20const +2821:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::THashMap\28std::initializer_list>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>\29 +2822:skia_private::THashMap>\2c\20SkGoodHash>::set\28SkSL::Variable\20const*\2c\20std::__2::unique_ptr>\29 +2823:skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::set\28SkIcuBreakIteratorCache::Request\2c\20sk_sp\29 +2824:skia_private::TArray::resize_back\28int\29 +2825:skia_private::TArray::operator=\28skia_private::TArray&&\29 +2826:skia_private::TArray::push_back\28SkRasterPipeline_MemoryCtxInfo&&\29 +2827:skia_private::TArray::push_back_raw\28int\29 +2828:skia_private::TArray::resize_back\28int\29 +2829:skia_png_write_chunk +2830:skia_png_set_sBIT +2831:skia_png_set_read_fn +2832:skia_png_set_packing +2833:skia_png_set_bKGD +2834:skia_png_save_uint_32 +2835:skia_png_reciprocal2 +2836:skia_png_realloc_array +2837:skia_png_read_start_row +2838:skia_png_read_IDAT_data +2839:skia_png_handle_zTXt +2840:skia_png_handle_tRNS +2841:skia_png_handle_tIME +2842:skia_png_handle_tEXt +2843:skia_png_handle_sRGB +2844:skia_png_handle_sPLT +2845:skia_png_handle_sCAL +2846:skia_png_handle_sBIT +2847:skia_png_handle_pHYs +2848:skia_png_handle_pCAL +2849:skia_png_handle_oFFs +2850:skia_png_handle_iTXt +2851:skia_png_handle_iCCP +2852:skia_png_handle_hIST +2853:skia_png_handle_gAMA +2854:skia_png_handle_cHRM +2855:skia_png_handle_bKGD +2856:skia_png_handle_as_unknown +2857:skia_png_handle_PLTE +2858:skia_png_do_strip_channel +2859:skia_png_destroy_read_struct +2860:skia_png_destroy_info_struct +2861:skia_png_compress_IDAT +2862:skia_png_combine_row +2863:skia_png_colorspace_set_sRGB +2864:skia_png_check_fp_string +2865:skia_png_check_fp_number +2866:skia::textlayout::TypefaceFontStyleSet::createTypeface\28int\29 +2867:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::$_0::operator\28\29\28sk_sp\2c\20sk_sp\29\20const +2868:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const +2869:skia::textlayout::TextLine::getGlyphPositionAtCoordinate\28float\29 +2870:skia::textlayout::Run::isResolved\28\29\20const +2871:skia::textlayout::Run::copyTo\28SkTextBlobBuilder&\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +2872:skia::textlayout::ParagraphImpl::buildClusterTable\28\29 +2873:skia::textlayout::OneLineShaper::~OneLineShaper\28\29 +2874:skia::textlayout::FontCollection::setDefaultFontManager\28sk_sp\29 +2875:skia::textlayout::FontCollection::FontCollection\28\29 +2876:skia::textlayout::Cluster::isSoftBreak\28\29\20const +2877:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::flush\28GrMeshDrawTarget*\2c\20skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::FlushInfo*\29\20const +2878:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::~Impl\28\29 +2879:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::programInfo\28\29 +2880:skgpu::ganesh::SurfaceFillContext::discard\28\29 +2881:skgpu::ganesh::SurfaceDrawContext::internalStencilClear\28SkIRect\20const*\2c\20bool\29 +2882:skgpu::ganesh::SurfaceDrawContext::drawPath\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrStyle\20const&\29 +2883:skgpu::ganesh::SurfaceDrawContext::attemptQuadOptimization\28GrClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20DrawQuad*\2c\20GrPaint*\29 +2884:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +2885:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29::$_0::operator\28\29\28GrSurfaceProxyView\2c\20SkIRect\29\20const +2886:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +2887:skgpu::ganesh::QuadPerEdgeAA::MinColorType\28SkRGBA4f<\28SkAlphaType\292>\29 +2888:skgpu::ganesh::PathRendererChain::PathRendererChain\28GrRecordingContext*\2c\20skgpu::ganesh::PathRendererChain::Options\20const&\29 +2889:skgpu::ganesh::PathRenderer::getStencilSupport\28GrStyledShape\20const&\29\20const +2890:skgpu::ganesh::PathCurveTessellator::draw\28GrOpFlushState*\29\20const +2891:skgpu::ganesh::OpsTask::recordOp\28std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const*\2c\20GrCaps\20const&\29 +2892:skgpu::ganesh::FilterAndMipmapHaveNoEffect\28GrQuad\20const&\2c\20GrQuad\20const&\29 +2893:skgpu::ganesh::FillRectOp::MakeNonAARect\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +2894:skgpu::ganesh::FillRRectOp::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +2895:skgpu::ganesh::Device::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +2896:skgpu::ganesh::Device::drawImageQuadDirect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +2897:skgpu::ganesh::Device::Make\28std::__2::unique_ptr>\2c\20SkAlphaType\2c\20skgpu::ganesh::Device::InitContents\29 +2898:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::setup_dashed_rect\28SkRect\20const&\2c\20skgpu::VertexWriter&\2c\20SkMatrix\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashCap\29 +2899:skgpu::ganesh::ClipStack::SaveRecord::invalidateMasks\28GrProxyProvider*\2c\20SkTBlockList*\29 +2900:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::SaveRecord\20const&\29\20const +2901:skgpu::ganesh::AtlasTextOp::operator\20new\28unsigned\20long\29 +2902:skgpu::ganesh::AtlasTextOp::Geometry::Make\28sktext::gpu::AtlasSubRun\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\2c\20sk_sp&&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkArenaAlloc*\29 +2903:skgpu::ganesh::AtlasRenderTask::addAtlasDrawOp\28std::__2::unique_ptr>\2c\20GrCaps\20const&\29 +2904:skcms_Transform::$_2::operator\28\29\28skcms_Curve\20const*\2c\20int\29\20const +2905:skcms_TransferFunction_isPQish +2906:skcms_MaxRoundtripError +2907:sk_sp::~sk_sp\28\29 +2908:sk_free_releaseproc\28void\20const*\2c\20void*\29 +2909:siprintf +2910:sift +2911:shallowTextClone\28UText*\2c\20UText\20const*\2c\20UErrorCode*\29 +2912:rotate\28SkDCubic\20const&\2c\20int\2c\20int\2c\20SkDCubic&\29 +2913:res_getResource_74 +2914:read_metadata\28std::__2::vector>\20const&\2c\20unsigned\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +2915:read_header\28SkStream*\2c\20SkISize*\29 +2916:quad_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2917:qsort +2918:psh_globals_set_scale +2919:ps_parser_skip_PS_token +2920:ps_builder_done +2921:png_text_compress +2922:png_inflate_read +2923:png_inflate_claim +2924:png_image_size +2925:png_colorspace_endpoints_match +2926:png_build_16bit_table +2927:normalize +2928:next_marker +2929:morphpoints\28SkPoint*\2c\20SkPoint\20const*\2c\20int\2c\20SkPathMeasure&\2c\20float\29 +2930:make_unpremul_effect\28std::__2::unique_ptr>\29 +2931:long\20std::__2::__libcpp_atomic_refcount_decrement\5babi:v160004\5d\28long&\29 +2932:long\20const&\20std::__2::min\5babi:v160004\5d\28long\20const&\2c\20long\20const&\29 +2933:log1p +2934:locale_getKeywordsStart_74 +2935:load_truetype_glyph +2936:loadParentsExceptRoot\28UResourceDataEntry*&\2c\20char*\2c\20int\2c\20signed\20char\2c\20char*\2c\20UErrorCode*\29 +2937:line_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2938:lang_find_or_insert\28char\20const*\29 +2939:jpeg_calc_output_dimensions +2940:inner_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +2941:inflate_table +2942:increment_simple_rowgroup_ctr +2943:icu_74::spanOneUTF8\28icu_74::UnicodeSet\20const&\2c\20unsigned\20char\20const*\2c\20int\29 +2944:icu_74::enumGroupNames\28icu_74::UCharNames*\2c\20unsigned\20short\20const*\2c\20int\2c\20int\2c\20signed\20char\20\28*\29\28void*\2c\20int\2c\20UCharNameChoice\2c\20char\20const*\2c\20int\29\2c\20void*\2c\20UCharNameChoice\29 +2945:icu_74::\28anonymous\20namespace\29::appendResult\28char16_t*\2c\20int\2c\20int\2c\20int\2c\20char16_t\20const*\2c\20int\2c\20unsigned\20int\2c\20icu_74::Edits*\29 +2946:icu_74::\28anonymous\20namespace\29::AliasReplacer::replace\28icu_74::Locale\20const&\2c\20icu_74::CharString&\2c\20UErrorCode&\29::$_0::__invoke\28UElement\2c\20UElement\29 +2947:icu_74::XLikelySubtagsData::readStrings\28icu_74::ResourceTable\20const&\2c\20char\20const*\2c\20icu_74::ResourceValue&\2c\20icu_74::LocalMemory&\2c\20int&\2c\20UErrorCode&\29 +2948:icu_74::UniqueCharStrings::addByValue\28icu_74::UnicodeString\2c\20UErrorCode&\29 +2949:icu_74::UnicodeString::getTerminatedBuffer\28\29 +2950:icu_74::UnicodeString::doCompare\28int\2c\20int\2c\20char16_t\20const*\2c\20int\2c\20int\29\20const +2951:icu_74::UnicodeString::UnicodeString\28char16_t\20const*\2c\20int\29 +2952:icu_74::UnicodeSet::retainAll\28icu_74::UnicodeSet\20const&\29 +2953:icu_74::UnicodeSet::remove\28int\2c\20int\29 +2954:icu_74::UnicodeSet::exclusiveOr\28int\20const*\2c\20int\2c\20signed\20char\29 +2955:icu_74::UnicodeSet::ensureBufferCapacity\28int\29 +2956:icu_74::UnicodeSet::applyIntPropertyValue\28UProperty\2c\20int\2c\20UErrorCode&\29 +2957:icu_74::UnicodeSet::applyFilter\28signed\20char\20\28*\29\28int\2c\20void*\29\2c\20void*\2c\20icu_74::UnicodeSet\20const*\2c\20UErrorCode&\29 +2958:icu_74::UnicodeSet::UnicodeSet\28icu_74::UnicodeSet\20const&\29 +2959:icu_74::UVector::sort\28int\20\28*\29\28UElement\2c\20UElement\29\2c\20UErrorCode&\29 +2960:icu_74::UVector::removeElement\28void*\29 +2961:icu_74::UVector::insertElementAt\28void*\2c\20int\2c\20UErrorCode&\29 +2962:icu_74::UStack::UStack\28void\20\28*\29\28void*\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20UErrorCode&\29 +2963:icu_74::UCharsTrieBuilder::add\28icu_74::UnicodeString\20const&\2c\20int\2c\20UErrorCode&\29 +2964:icu_74::StringTrieBuilder::~StringTrieBuilder\28\29 +2965:icu_74::StringPiece::compare\28icu_74::StringPiece\29 +2966:icu_74::SimpleFilteredSentenceBreakIterator::internalNext\28int\29 +2967:icu_74::RuleCharacterIterator::atEnd\28\29\20const +2968:icu_74::ResourceDataValue::getTable\28UErrorCode&\29\20const +2969:icu_74::ResourceDataValue::getString\28int&\2c\20UErrorCode&\29\20const +2970:icu_74::ReorderingBuffer::append\28char16_t\20const*\2c\20int\2c\20signed\20char\2c\20unsigned\20char\2c\20unsigned\20char\2c\20UErrorCode&\29 +2971:icu_74::PatternProps::isWhiteSpace\28int\29 +2972:icu_74::Normalizer2Impl::~Normalizer2Impl\28\29 +2973:icu_74::Normalizer2Impl::decompose\28int\2c\20unsigned\20short\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +2974:icu_74::Normalizer2Impl::decompose\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer*\2c\20UErrorCode&\29\20const +2975:icu_74::Normalizer2Impl::decomposeShort\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20signed\20char\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +2976:icu_74::Norm2AllModes::~Norm2AllModes\28\29 +2977:icu_74::Norm2AllModes::createInstance\28icu_74::Normalizer2Impl*\2c\20UErrorCode&\29 +2978:icu_74::LocaleUtility::initNameFromLocale\28icu_74::Locale\20const&\2c\20icu_74::UnicodeString&\29 +2979:icu_74::LocaleBuilder::~LocaleBuilder\28\29 +2980:icu_74::Locale::getKeywordValue\28icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20UErrorCode&\29\20const +2981:icu_74::Locale::getDefault\28\29 +2982:icu_74::LoadedNormalizer2Impl::load\28char\20const*\2c\20char\20const*\2c\20UErrorCode&\29 +2983:icu_74::ICUServiceKey::~ICUServiceKey\28\29 +2984:icu_74::ICUResourceBundleFactory::~ICUResourceBundleFactory\28\29 +2985:icu_74::ICULocaleService::~ICULocaleService\28\29 +2986:icu_74::EmojiProps::getSingleton\28UErrorCode&\29 +2987:icu_74::Edits::reset\28\29 +2988:icu_74::DictionaryBreakEngine::~DictionaryBreakEngine\28\29 +2989:icu_74::ByteSinkUtil::appendChange\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20char16_t\20const*\2c\20int\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29 +2990:icu_74::BreakIterator::makeInstance\28icu_74::Locale\20const&\2c\20int\2c\20UErrorCode&\29 +2991:hb_tag_from_string +2992:hb_shape_plan_destroy +2993:hb_script_get_horizontal_direction +2994:hb_paint_extents_context_t::push_clip\28hb_extents_t\29 +2995:hb_ot_color_palette_get_colors +2996:hb_lazy_loader_t\2c\20hb_face_t\2c\2012u\2c\20OT::vmtx_accelerator_t>::get\28\29\20const +2997:hb_lazy_loader_t\2c\20hb_face_t\2c\2023u\2c\20hb_blob_t>::get\28\29\20const +2998:hb_lazy_loader_t\2c\20hb_face_t\2c\201u\2c\20hb_blob_t>::get\28\29\20const +2999:hb_lazy_loader_t\2c\20hb_face_t\2c\2018u\2c\20hb_blob_t>::get\28\29\20const +3000:hb_hashmap_t::alloc\28unsigned\20int\29 +3001:hb_font_funcs_destroy +3002:hb_face_get_upem +3003:hb_face_destroy +3004:hb_draw_cubic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +3005:hb_buffer_set_segment_properties +3006:hb_blob_create +3007:gray_render_line +3008:get_vendor\28char\20const*\29 +3009:get_renderer\28char\20const*\2c\20GrGLExtensions\20const&\29 +3010:get_layer_mapping_and_bounds\28SkSpan>\2c\20SkMatrix\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\2c\20float\29 +3011:get_joining_type\28unsigned\20int\2c\20hb_unicode_general_category_t\29 +3012:getDefaultScript\28icu_74::CharString\20const&\2c\20icu_74::CharString\20const&\29 +3013:generate_distance_field_from_image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\29 +3014:ft_var_readpackeddeltas +3015:ft_var_get_item_delta +3016:ft_var_done_item_variation_store +3017:ft_glyphslot_done +3018:ft_glyphslot_alloc_bitmap +3019:freelocale +3020:free_pool +3021:fquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3022:fp_barrierf +3023:fline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3024:fixN0c\28BracketData*\2c\20int\2c\20int\2c\20unsigned\20char\29 +3025:findFirstExisting\28char\20const*\2c\20char*\2c\20char\20const*\2c\20UResOpenType\2c\20signed\20char*\2c\20signed\20char*\2c\20signed\20char*\2c\20UErrorCode*\29 +3026:fcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3027:fconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3028:fclose +3029:expm1f +3030:exp2 +3031:emscripten::internal::MethodInvoker::invoke\28void\20\28SkFont::*\20const&\29\28float\29\2c\20SkFont*\2c\20float\29 +3032:emscripten::internal::MethodInvoker\20\28SkAnimatedImage::*\29\28\29\2c\20sk_sp\2c\20SkAnimatedImage*>::invoke\28sk_sp\20\28SkAnimatedImage::*\20const&\29\28\29\2c\20SkAnimatedImage*\29 +3033:emscripten::internal::Invoker>\2c\20SimpleParagraphStyle\2c\20sk_sp>::invoke\28std::__2::unique_ptr>\20\28*\29\28SimpleParagraphStyle\2c\20sk_sp\29\2c\20SimpleParagraphStyle*\2c\20sk_sp*\29 +3034:emscripten::internal::FunctionInvoker::invoke\28int\20\28**\29\28SkCanvas&\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29\2c\20SkCanvas*\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29 +3035:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFontMgr&\2c\20int\29\2c\20SkFontMgr*\2c\20int\29 +3036:do_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +3037:doLoadFromIndividualFiles\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20signed\20char\20\28*\29\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29\2c\20void*\2c\20UErrorCode*\2c\20UErrorCode*\29 +3038:doLoadFromCommonData\28signed\20char\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20signed\20char\20\28*\29\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29\2c\20void*\2c\20UErrorCode*\2c\20UErrorCode*\29 +3039:decompose\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\2c\20unsigned\20int\29 +3040:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0>\28skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3041:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool&\2c\20GrPipeline*&\2c\20GrUserStencilSettings\20const*&&\2c\20\28anonymous\20namespace\29::DrawAtlasPathShader*&\2c\20GrPrimitiveType&&\2c\20GrXferBarrierFlags&\2c\20GrLoadOp&\29::'lambda'\28void*\29>\28GrProgramInfo&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3042:cubic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3043:conic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3044:char\20const*\20std::__2::find\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char\20const&\29 +3045:char\20const*\20std::__2::__rewrap_range\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +3046:cff_index_get_pointers +3047:cff2_path_param_t::move_to\28CFF::point_t\20const&\29 +3048:cff1_path_param_t::move_to\28CFF::point_t\20const&\29 +3049:cf2_glyphpath_computeOffset +3050:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3051:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3052:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3053:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3054:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3055:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3056:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3057:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3058:byn$mgfn-shared$void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +3059:byn$mgfn-shared$ultag_isExtensionSubtags_74 +3060:byn$mgfn-shared$std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +3061:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +3062:byn$mgfn-shared$skia_private::TArray::operator=\28skia_private::TArray&&\29 +3063:byn$mgfn-shared$skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +3064:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +3065:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +3066:byn$mgfn-shared$icu_74::LaoBreakEngine::~LaoBreakEngine\28\29.1 +3067:byn$mgfn-shared$icu_74::LaoBreakEngine::~LaoBreakEngine\28\29 +3068:byn$mgfn-shared$getInPC\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +3069:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +3070:byn$mgfn-shared$SkRuntimeEffect::MakeForColorFilter\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +3071:byn$mgfn-shared$SkImageInfo::MakeN32Premul\28int\2c\20int\29 +3072:byn$mgfn-shared$SkBlockMemoryStream::~SkBlockMemoryStream\28\29.1 +3073:byn$mgfn-shared$SkBlockMemoryStream::~SkBlockMemoryStream\28\29 +3074:byn$mgfn-shared$SkBinaryWriteBuffer::writeScalarArray\28float\20const*\2c\20unsigned\20int\29 +3075:byn$mgfn-shared$Round_To_Grid +3076:byn$mgfn-shared$LineConicIntersections::addLineNearEndPoints\28\29 +3077:byn$mgfn-shared$GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +3078:byn$mgfn-shared$GrGLProgramDataManager::setMatrix2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +3079:byn$mgfn-shared$GrGLProgramDataManager::setMatrix2f\28GrResourceHandle\2c\20float\20const*\29\20const +3080:byn$mgfn-shared$DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +3081:build_tree +3082:bracketAddOpening\28BracketData*\2c\20char16_t\2c\20int\29 +3083:bool\20OT::glyf_impl::Glyph::get_points\28hb_font_t*\2c\20OT::glyf_accelerator_t\20const&\2c\20contour_point_vector_t&\2c\20contour_point_vector_t*\2c\20head_maxp_info_t*\2c\20unsigned\20int*\2c\20bool\2c\20bool\2c\20bool\2c\20hb_array_t\2c\20hb_map_t*\2c\20unsigned\20int\2c\20unsigned\20int*\29\20const +3084:bool\20OT::glyf_accelerator_t::get_points\28hb_font_t*\2c\20unsigned\20int\2c\20OT::glyf_accelerator_t::points_aggregator_t\29\20const +3085:bool\20OT::GSUBGPOSVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +3086:bool\20OT::GSUBGPOSVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +3087:blit_aaa_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +3088:auto\20std::__2::__unwrap_range\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +3089:atan +3090:alloc_large +3091:af_glyph_hints_done +3092:add_quad\28SkPoint\20const*\2c\20skia_private::TArray*\29 +3093:acos +3094:aaa_fill_path\28SkPath\20const&\2c\20SkIRect\20const&\2c\20AdditiveBlitter*\2c\20int\2c\20int\2c\20bool\2c\20bool\2c\20bool\29 +3095:_get_path\28OT::cff1::accelerator_t\20const*\2c\20hb_font_t*\2c\20unsigned\20int\2c\20hb_draw_session_t&\2c\20bool\2c\20CFF::point_t*\29 +3096:_get_bounds\28OT::cff1::accelerator_t\20const*\2c\20unsigned\20int\2c\20bounds_t&\2c\20bool\29 +3097:_getVariant\28char\20const*\2c\20char\2c\20icu_74::ByteSink&\2c\20signed\20char\29 +3098:_enumPropertyStartsRange\28void\20const*\2c\20int\2c\20int\2c\20unsigned\20int\29 +3099:_embind_register_bindings +3100:_canonicalize\28char\20const*\2c\20icu_74::ByteSink&\2c\20unsigned\20int\2c\20UErrorCode*\29 +3101:__trunctfdf2 +3102:__towrite +3103:__toread +3104:__subtf3 +3105:__strchrnul +3106:__rem_pio2f +3107:__rem_pio2 +3108:__math_uflowf +3109:__math_oflowf +3110:__fwritex +3111:__dynamic_cast +3112:__cxxabiv1::__class_type_info::process_static_type_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\29\20const +3113:__cxxabiv1::__class_type_info::process_static_type_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\29\20const +3114:__cxxabiv1::__class_type_info::process_found_base_class\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +3115:__cxxabiv1::__base_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +3116:\28anonymous\20namespace\29::ulayout_ensureData\28UErrorCode&\29 +3117:\28anonymous\20namespace\29::shape_contains_rect\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkMatrix\20const&\2c\20bool\29 +3118:\28anonymous\20namespace\29::getRange\28void\20const*\2c\20int\2c\20unsigned\20int\20\28*\29\28void\20const*\2c\20unsigned\20int\29\2c\20void\20const*\2c\20unsigned\20int*\29 +3119:\28anonymous\20namespace\29::generateFacePathCOLRv1\28FT_FaceRec_*\2c\20unsigned\20short\2c\20SkPath*\29 +3120:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads_with_constraint\28SkPoint\20const*\2c\20float\2c\20SkPathFirstDirection\2c\20skia_private::TArray*\2c\20int\29 +3121:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\2c\20int\2c\20bool\2c\20bool\29 +3122:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const +3123:\28anonymous\20namespace\29::bloat_quad\28SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkMatrix\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +3124:\28anonymous\20namespace\29::SkEmptyTypeface::onMakeClone\28SkFontArguments\20const&\29\20const +3125:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29.1 +3126:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29 +3127:\28anonymous\20namespace\29::SkBlurImageFilter::mapSigma\28skif::Mapping\20const&\2c\20bool\29\20const +3128:\28anonymous\20namespace\29::DrawAtlasOpImpl::visitProxies\28std::__2::function\20const&\29\20const +3129:\28anonymous\20namespace\29::DrawAtlasOpImpl::programInfo\28\29 +3130:\28anonymous\20namespace\29::DrawAtlasOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +3131:\28anonymous\20namespace\29::DirectMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +3132:\28anonymous\20namespace\29::DirectMaskSubRun::glyphs\28\29\20const +3133:WebPRescaleNeededLines +3134:WebPInitDecBufferInternal +3135:WebPInitCustomIo +3136:WebPGetFeaturesInternal +3137:WebPDemuxGetFrame +3138:VP8LInitBitReader +3139:VP8LColorIndexInverseTransformAlpha +3140:VP8InitIoInternal +3141:VP8InitBitReader +3142:UDatamemory_assign_74 +3143:T_CString_toUpperCase_74 +3144:TT_Vary_Apply_Glyph_Deltas +3145:TT_Set_Var_Design +3146:SkWuffsCodec::decodeFrame\28\29 +3147:SkVertices::MakeCopy\28SkVertices::VertexMode\2c\20int\2c\20SkPoint\20const*\2c\20SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20short\20const*\29 +3148:SkVertices::Builder::texCoords\28\29 +3149:SkVertices::Builder::positions\28\29 +3150:SkVertices::Builder::init\28SkVertices::Desc\20const&\29 +3151:SkVertices::Builder::colors\28\29 +3152:SkVertices::Builder::Builder\28SkVertices::VertexMode\2c\20int\2c\20int\2c\20unsigned\20int\29 +3153:SkUnicodes::ICU::Make\28\29 +3154:SkUnicode_icu::extractPositions\28char\20const*\2c\20int\2c\20SkUnicode::BreakType\2c\20char\20const*\2c\20std::__2::function\20const&\29 +3155:SkTypeface_FreeType::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +3156:SkTypeface::getTableSize\28unsigned\20int\29\20const +3157:SkTiff::ImageFileDirectory::getEntryTag\28unsigned\20short\29\20const +3158:SkTiff::ImageFileDirectory::MakeFromOffset\28sk_sp\2c\20bool\2c\20unsigned\20int\2c\20bool\29 +3159:SkTextBlobRunIterator::positioning\28\29\20const +3160:SkTSpan::splitAt\28SkTSpan*\2c\20double\2c\20SkArenaAlloc*\29 +3161:SkTSect::computePerpendiculars\28SkTSect*\2c\20SkTSpan*\2c\20SkTSpan*\29 +3162:SkTDStorage::insert\28int\29 +3163:SkTDStorage::calculateSizeOrDie\28int\29::$_0::operator\28\29\28\29\20const +3164:SkTDPQueue::percolateDownIfNecessary\28int\29 +3165:SkTConic::hullIntersects\28SkDConic\20const&\2c\20bool*\29\20const +3166:SkSurface_Base::SkSurface_Base\28int\2c\20int\2c\20SkSurfaceProps\20const*\29 +3167:SkStrokerPriv::CapFactory\28SkPaint::Cap\29 +3168:SkStrokeRec::getInflationRadius\28\29\20const +3169:SkString::equals\28char\20const*\29\20const +3170:SkStrikeSpec::MakeTransformMask\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +3171:SkStrikeSpec::MakePath\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\29 +3172:SkStrike::glyph\28SkGlyphDigest\29 +3173:SkShapers::HB::ShapeDontWrapOrReorder\28sk_sp\2c\20sk_sp\29 +3174:SkShaper::TrivialRunIterator::endOfCurrentRun\28\29\20const +3175:SkShaper::TrivialRunIterator::atEnd\28\29\20const +3176:SkShaper::MakeFontMgrRunIterator\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20sk_sp\29 +3177:SkShadowTessellator::MakeAmbient\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20bool\29 +3178:SkScan::FillTriangle\28SkPoint\20const*\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3179:SkScan::FillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3180:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3181:SkScan::AntiHairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3182:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\2c\20bool\29 +3183:SkScalerContextRec::CachedMaskGamma\28unsigned\20char\2c\20unsigned\20char\29 +3184:SkScalerContextFTUtils::drawSVGGlyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +3185:SkScalarInterpFunc\28float\2c\20float\20const*\2c\20float\20const*\2c\20int\29 +3186:SkSLTypeString\28SkSLType\29 +3187:SkSL::simplify_negation\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\29 +3188:SkSL::simplify_matrix_multiplication\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +3189:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +3190:SkSL::build_argument_type_list\28SkSpan>\20const>\29 +3191:SkSL::\28anonymous\20namespace\29::SwitchCaseContainsExit::visitStatement\28SkSL::Statement\20const&\29 +3192:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::returnsInputAlpha\28SkSL::Expression\20const&\29 +3193:SkSL::\28anonymous\20namespace\29::ConstantExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +3194:SkSL::Variable::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\29 +3195:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29\20const +3196:SkSL::Type::MakeSamplerType\28char\20const*\2c\20SkSL::Type\20const&\29 +3197:SkSL::SymbolTable::moveSymbolTo\28SkSL::SymbolTable*\2c\20SkSL::Symbol*\2c\20SkSL::Context\20const&\29 +3198:SkSL::SymbolTable::isType\28std::__2::basic_string_view>\29\20const +3199:SkSL::Symbol::instantiate\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +3200:SkSL::StructType::slotCount\28\29\20const +3201:SkSL::SampleUsage::merge\28SkSL::SampleUsage\20const&\29 +3202:SkSL::ReturnStatement::~ReturnStatement\28\29.1 +3203:SkSL::ReturnStatement::~ReturnStatement\28\29 +3204:SkSL::RP::UnownedLValueSlice::~UnownedLValueSlice\28\29 +3205:SkSL::RP::Generator::pushTernaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +3206:SkSL::RP::Generator::pushStructuredComparison\28SkSL::RP::LValue*\2c\20SkSL::Operator\2c\20SkSL::RP::LValue*\2c\20SkSL::Type\20const&\29 +3207:SkSL::RP::Generator::pushMatrixMultiply\28SkSL::RP::LValue*\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +3208:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29 +3209:SkSL::RP::Builder::push_uniform\28SkSL::RP::SlotRange\29 +3210:SkSL::RP::Builder::merge_condition_mask\28\29 +3211:SkSL::RP::Builder::jump\28int\29 +3212:SkSL::RP::Builder::branch_if_no_active_lanes_on_stack_top_equal\28int\2c\20int\29 +3213:SkSL::ProgramUsage::add\28SkSL::ProgramElement\20const&\29 +3214:SkSL::Pool::detachFromThread\28\29 +3215:SkSL::PipelineStage::ConvertProgram\28SkSL::Program\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20SkSL::PipelineStage::Callbacks*\29 +3216:SkSL::Parser::unaryExpression\28\29 +3217:SkSL::Parser::swizzle\28SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::basic_string_view>\2c\20SkSL::Position\29 +3218:SkSL::Parser::block\28bool\2c\20std::__2::unique_ptr>*\29 +3219:SkSL::Operator::getBinaryPrecedence\28\29\20const +3220:SkSL::ModuleLoader::loadGPUModule\28SkSL::Compiler*\29 +3221:SkSL::ModifierFlags::checkPermittedFlags\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\29\20const +3222:SkSL::MethodReference::~MethodReference\28\29.1 +3223:SkSL::MethodReference::~MethodReference\28\29 +3224:SkSL::Mangler::uniqueName\28std::__2::basic_string_view>\2c\20SkSL::SymbolTable*\29 +3225:SkSL::LiteralType::slotType\28unsigned\20long\29\20const +3226:SkSL::Layout::operator==\28SkSL::Layout\20const&\29\20const +3227:SkSL::Layout::checkPermittedLayout\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkEnumBitMask\29\20const +3228:SkSL::Inliner::analyze\28std::__2::vector>\2c\20std::__2::allocator>>>\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::ProgramUsage*\29 +3229:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29 +3230:SkSL::GLSLCodeGenerator::writeLiteral\28SkSL::Literal\20const&\29 +3231:SkSL::GLSLCodeGenerator::writeFunctionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +3232:SkSL::ForStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3233:SkSL::FieldAccess::description\28SkSL::OperatorPrecedence\29\20const +3234:SkSL::Expression::isIncomplete\28SkSL::Context\20const&\29\20const +3235:SkSL::Expression::compareConstant\28SkSL::Expression\20const&\29\20const +3236:SkSL::DebugTracePriv::~DebugTracePriv\28\29 +3237:SkSL::Context::Context\28SkSL::BuiltinTypes\20const&\2c\20SkSL::ErrorReporter&\29 +3238:SkSL::ConstructorArrayCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +3239:SkSL::ConstructorArray::~ConstructorArray\28\29 +3240:SkSL::ConstructorArray::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +3241:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +3242:SkSL::Analysis::CallsColorTransformIntrinsics\28SkSL::Program\20const&\29 +3243:SkSL::AliasType::bitWidth\28\29\20const +3244:SkRuntimeEffectPriv::VarAsUniform\28SkSL::Variable\20const&\2c\20SkSL::Context\20const&\2c\20unsigned\20long*\29 +3245:SkRuntimeEffectPriv::UniformsAsSpan\28SkSpan\2c\20sk_sp\2c\20bool\2c\20SkColorSpace\20const*\2c\20SkArenaAlloc*\29 +3246:SkRuntimeEffect::source\28\29\20const +3247:SkRuntimeEffect::makeShader\28sk_sp\2c\20SkSpan\2c\20SkMatrix\20const*\29\20const +3248:SkRuntimeEffect::MakeForBlender\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +3249:SkResourceCache::checkMessages\28\29 +3250:SkResourceCache::NewCachedData\28unsigned\20long\29 +3251:SkRegion::translate\28int\2c\20int\2c\20SkRegion*\29\20const +3252:SkReduceOrder::Cubic\28SkPoint\20const*\2c\20SkPoint*\29 +3253:SkRectPriv::QuadContainsRectMask\28SkM44\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20float\29 +3254:SkRecords::PreCachedPath::PreCachedPath\28SkPath\20const&\29 +3255:SkRecords::FillBounds::pushSaveBlock\28SkPaint\20const*\29 +3256:SkRecordDraw\28SkRecord\20const&\2c\20SkCanvas*\2c\20SkPicture\20const*\20const*\2c\20SkDrawable*\20const*\2c\20int\2c\20SkBBoxHierarchy\20const*\2c\20SkPicture::AbortCallback*\29 +3257:SkReadBuffer::readPoint\28SkPoint*\29 +3258:SkReadBuffer::readPath\28SkPath*\29 +3259:SkReadBuffer::readByteArrayAsData\28\29 +3260:SkReadBuffer::readArray\28void*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3261:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29 +3262:SkRasterPipelineBlitter::blitRectWithTrace\28int\2c\20int\2c\20int\2c\20int\2c\20bool\29 +3263:SkRasterPipelineBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +3264:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29 +3265:SkRasterPipeline::appendLoad\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +3266:SkRasterClip::op\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkClipOp\2c\20bool\29 +3267:SkRRectPriv::ConservativeIntersect\28SkRRect\20const&\2c\20SkRRect\20const&\29 +3268:SkRRect::scaleRadii\28\29 +3269:SkRRect::AreRectAndRadiiValid\28SkRect\20const&\2c\20SkPoint\20const*\29 +3270:SkRBuffer::skip\28unsigned\20long\29 +3271:SkPngCodec::IsPng\28void\20const*\2c\20unsigned\20long\29 +3272:SkPixmap::setColorSpace\28sk_sp\29 +3273:SkPixelRef::~SkPixelRef\28\29 +3274:SkPixelRef::notifyPixelsChanged\28\29 +3275:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20sk_sp\29 +3276:SkPictureRecord::addPathToHeap\28SkPath\20const&\29 +3277:SkPictureData::getPath\28SkReadBuffer*\29\20const +3278:SkPicture::serialize\28SkWStream*\2c\20SkSerialProcs\20const*\2c\20SkRefCntSet*\2c\20bool\29\20const +3279:SkPathWriter::update\28SkOpPtT\20const*\29 +3280:SkPathStroker::strokeCloseEnough\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20SkQuadConstruct*\29\20const +3281:SkPathStroker::finishContour\28bool\2c\20bool\29 +3282:SkPathRef::reset\28\29 +3283:SkPathRef::isRRect\28SkRRect*\2c\20bool*\2c\20unsigned\20int*\29\20const +3284:SkPathRef::addGenIDChangeListener\28sk_sp\29 +3285:SkPathPriv::IsRectContour\28SkPath\20const&\2c\20bool\2c\20int*\2c\20SkPoint\20const**\2c\20bool*\2c\20SkPathDirection*\2c\20SkRect*\29 +3286:SkPathEffectBase::onAsPoints\28SkPathEffectBase::PointData*\2c\20SkPath\20const&\2c\20SkStrokeRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\29\20const +3287:SkPathEffect::filterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\29\20const +3288:SkPathBuilder::quadTo\28SkPoint\2c\20SkPoint\29 +3289:SkPathBuilder::cubicTo\28SkPoint\2c\20SkPoint\2c\20SkPoint\29 +3290:SkPath::writeToMemory\28void*\29\20const +3291:SkPath::reversePathTo\28SkPath\20const&\29 +3292:SkPath::rQuadTo\28float\2c\20float\2c\20float\2c\20float\29 +3293:SkPath::contains\28float\2c\20float\29\20const +3294:SkPath::arcTo\28float\2c\20float\2c\20float\2c\20SkPath::ArcSize\2c\20SkPathDirection\2c\20float\2c\20float\29 +3295:SkPath::approximateBytesUsed\28\29\20const +3296:SkPath::addCircle\28float\2c\20float\2c\20float\2c\20SkPathDirection\29 +3297:SkPath::Rect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +3298:SkParse::FindScalar\28char\20const*\2c\20float*\29 +3299:SkPairPathEffect::flatten\28SkWriteBuffer&\29\20const +3300:SkPaintToGrPaintWithBlend\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +3301:SkPaint::refImageFilter\28\29\20const +3302:SkPaint::refBlender\28\29\20const +3303:SkPaint::getBlendMode_or\28SkBlendMode\29\20const +3304:SkPackARGB_as_RGBA\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3305:SkPackARGB_as_BGRA\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3306:SkOpSpan::setOppSum\28int\29 +3307:SkOpSegment::markAndChaseWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int\2c\20SkOpSpanBase**\29 +3308:SkOpSegment::markAllDone\28\29 +3309:SkOpSegment::activeWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +3310:SkOpPtT::contains\28SkOpSegment\20const*\29\20const +3311:SkOpEdgeBuilder::closeContour\28SkPoint\20const&\2c\20SkPoint\20const&\29 +3312:SkOpCoincidence::releaseDeleted\28\29 +3313:SkOpCoincidence::markCollapsed\28SkOpPtT*\29 +3314:SkOpCoincidence::findOverlaps\28SkOpCoincidence*\29\20const +3315:SkOpCoincidence::expand\28\29 +3316:SkOpCoincidence::apply\28\29 +3317:SkOpAngle::orderable\28SkOpAngle*\29 +3318:SkOpAngle::computeSector\28\29 +3319:SkNullBlitter::~SkNullBlitter\28\29 +3320:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\2c\20sk_sp\29 +3321:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\29 +3322:SkNoDestructor>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>>::SkNoDestructor\28skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>&&\29 +3323:SkMessageBus::BufferFinishedMessage\2c\20GrDirectContext::DirectContextID\2c\20false>::Get\28\29 +3324:SkMemoryStream::SkMemoryStream\28void\20const*\2c\20unsigned\20long\2c\20bool\29 +3325:SkMemoryStream::SkMemoryStream\28sk_sp\29 +3326:SkMatrix::setRotate\28float\29 +3327:SkMatrix::setPolyToPoly\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20int\29 +3328:SkMatrix::postSkew\28float\2c\20float\29 +3329:SkMatrix::invert\28SkMatrix*\29\20const +3330:SkMatrix::getMinScale\28\29\20const +3331:SkMatrix::getMinMaxScales\28float*\29\20const +3332:SkMaskBuilder::PrepareDestination\28int\2c\20int\2c\20SkMask\20const&\29 +3333:SkMakeBitmapShaderForPaint\28SkPaint\20const&\2c\20SkBitmap\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20SkCopyPixelsMode\29 +3334:SkLineClipper::ClipLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\2c\20bool\29 +3335:SkJpegCodec::ReadHeader\28SkStream*\2c\20SkCodec**\2c\20JpegDecoderMgr**\2c\20std::__2::unique_ptr>\29 +3336:SkJSONWriter::separator\28bool\29 +3337:SkIntersections::intersectRay\28SkDQuad\20const&\2c\20SkDLine\20const&\29 +3338:SkIntersections::intersectRay\28SkDLine\20const&\2c\20SkDLine\20const&\29 +3339:SkIntersections::intersectRay\28SkDCubic\20const&\2c\20SkDLine\20const&\29 +3340:SkIntersections::intersectRay\28SkDConic\20const&\2c\20SkDLine\20const&\29 +3341:SkIntersections::cleanUpParallelLines\28bool\29 +3342:SkImage_Raster::onPeekBitmap\28\29\20const +3343:SkImage_Raster::SkImage_Raster\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20int\29 +3344:SkImage_Ganesh::~SkImage_Ganesh\28\29 +3345:SkImageShader::Make\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +3346:SkImageInfo::Make\28SkISize\2c\20SkColorType\2c\20SkAlphaType\29 +3347:SkImageInfo::MakeN32Premul\28SkISize\29 +3348:SkImageGenerator::getPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\29 +3349:SkImageGenerator::SkImageGenerator\28SkImageInfo\20const&\2c\20unsigned\20int\29 +3350:SkImageFilters::MatrixTransform\28SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20sk_sp\29 +3351:SkImageFilters::Blur\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +3352:SkImageFilter_Base::getInputBounds\28skif::Mapping\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\29\20const +3353:SkImageFilter_Base::filterImage\28skif::Context\20const&\29\20const +3354:SkImageFilter_Base::affectsTransparentBlack\28\29\20const +3355:SkImage::width\28\29\20const +3356:SkImage::readPixels\28GrDirectContext*\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +3357:SkImage::hasMipmaps\28\29\20const +3358:SkIcuBreakIteratorCache::makeBreakIterator\28SkUnicode::BreakType\2c\20char\20const*\29 +3359:SkIDChangeListener::List::add\28sk_sp\29 +3360:SkGradientShader::MakeTwoPointConical\28SkPoint\20const&\2c\20float\2c\20SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +3361:SkGradientShader::MakeLinear\28SkPoint\20const*\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +3362:SkGradientBaseShader::AppendInterpolatedToDstStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20bool\2c\20SkGradientShader::Interpolation\20const&\2c\20SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +3363:SkGlyph::setPath\28SkArenaAlloc*\2c\20SkScalerContext*\29 +3364:SkGlyph::mask\28\29\20const +3365:SkFontScanner_FreeType::GetAxes\28FT_FaceRec_*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29 +3366:SkFontPriv::ApproximateTransformedTextSize\28SkFont\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\20const&\29 +3367:SkFontMgr::matchFamily\28char\20const*\29\20const +3368:SkFindCubicMaxCurvature\28SkPoint\20const*\2c\20float*\29 +3369:SkExif::parse_ifd\28SkExif::Metadata&\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20bool\2c\20bool\29 +3370:SkEncodedInfo::ICCProfile::Make\28sk_sp\29 +3371:SkEmptyFontMgr::onMatchFamilyStyleCharacter\28char\20const*\2c\20SkFontStyle\20const&\2c\20char\20const**\2c\20int\2c\20int\29\20const +3372:SkEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkIRect\20const*\2c\20int\29 +3373:SkDynamicMemoryWStream::padToAlign4\28\29 +3374:SkDrawable::SkDrawable\28\29 +3375:SkDrawBase::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29\20const +3376:SkDrawBase::drawDevicePoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\2c\20SkDevice*\29\20const +3377:SkDraw::drawBitmap\28SkBitmap\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29\20const +3378:SkDevice::simplifyGlyphRunRSXFormAndRedraw\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +3379:SkDevice::setDeviceCoordinateSystem\28SkM44\20const&\2c\20SkM44\20const&\2c\20SkM44\20const&\2c\20int\2c\20int\29 +3380:SkDevice::SkDevice\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +3381:SkDataTable::at\28int\2c\20unsigned\20long*\29\20const +3382:SkData::MakeZeroInitialized\28unsigned\20long\29 +3383:SkData::MakeFromStream\28SkStream*\2c\20unsigned\20long\29 +3384:SkDQuad::dxdyAtT\28double\29\20const +3385:SkDQuad::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +3386:SkDQuad::FindExtrema\28double\20const*\2c\20double*\29 +3387:SkDCubic::subDivide\28double\2c\20double\29\20const +3388:SkDCubic::searchRoots\28double*\2c\20int\2c\20double\2c\20SkDCubic::SearchAxis\2c\20double*\29\20const +3389:SkDCubic::Coefficients\28double\20const*\2c\20double*\2c\20double*\2c\20double*\2c\20double*\29 +3390:SkDConic::dxdyAtT\28double\29\20const +3391:SkDConic::FindExtrema\28double\20const*\2c\20float\2c\20double*\29 +3392:SkCopyStreamToData\28SkStream*\29 +3393:SkContourMeasure_segTo\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20float\2c\20SkPath*\29 +3394:SkContourMeasureIter::next\28\29 +3395:SkContourMeasureIter::Impl::compute_quad_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3396:SkContourMeasureIter::Impl::compute_cubic_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3397:SkContourMeasureIter::Impl::compute_conic_segs\28SkConic\20const&\2c\20float\2c\20int\2c\20SkPoint\20const&\2c\20int\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20int\29 +3398:SkContourMeasure::getPosTan\28float\2c\20SkPoint*\2c\20SkPoint*\29\20const +3399:SkConic::evalAt\28float\29\20const +3400:SkConic::TransformW\28SkPoint\20const*\2c\20float\2c\20SkMatrix\20const&\29 +3401:SkColorToPMColor4f\28unsigned\20int\2c\20GrColorInfo\20const&\29 +3402:SkColorSpace::transferFn\28skcms_TransferFunction*\29\20const +3403:SkColorSpace::toXYZD50\28skcms_Matrix3x3*\29\20const +3404:SkColorPalette::SkColorPalette\28unsigned\20int\20const*\2c\20int\29 +3405:SkColorFilters::Blend\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\2c\20SkBlendMode\29 +3406:SkColor4fPrepForDst\28SkRGBA4f<\28SkAlphaType\293>\2c\20GrColorInfo\20const&\29 +3407:SkCodec::startIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const*\29 +3408:SkChopMonoCubicAtY\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +3409:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\2c\20float\29 +3410:SkCanvas::setMatrix\28SkM44\20const&\29 +3411:SkCanvas::scale\28float\2c\20float\29 +3412:SkCanvas::private_draw_shadow_rec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +3413:SkCanvas::peekPixels\28SkPixmap*\29 +3414:SkCanvas::onResetClip\28\29 +3415:SkCanvas::onClipShader\28sk_sp\2c\20SkClipOp\29 +3416:SkCanvas::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +3417:SkCanvas::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3418:SkCanvas::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3419:SkCanvas::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3420:SkCanvas::internal_private_resetClip\28\29 +3421:SkCanvas::internalSaveLayer\28SkCanvas::SaveLayerRec\20const&\2c\20SkCanvas::SaveLayerStrategy\2c\20bool\29 +3422:SkCanvas::internalDrawDeviceWithFilter\28SkDevice*\2c\20SkDevice*\2c\20SkSpan>\2c\20SkPaint\20const&\2c\20SkCanvas::DeviceCompatibleWithFilter\2c\20SkColorInfo\20const&\2c\20float\2c\20bool\29 +3423:SkCanvas::experimental_DrawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +3424:SkCanvas::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +3425:SkCanvas::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +3426:SkCanvas::drawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +3427:SkCanvas::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +3428:SkCanvas::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +3429:SkCanvas::drawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +3430:SkCanvas::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +3431:SkCanvas::attemptBlurredRRectDraw\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20SkEnumBitMask\29 +3432:SkCanvas::SkCanvas\28SkIRect\20const&\29 +3433:SkCachedData::~SkCachedData\28\29 +3434:SkCTMShader::~SkCTMShader\28\29.1 +3435:SkBmpRLECodec::setPixel\28void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20char\29 +3436:SkBmpCodec::prepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +3437:SkBlitterClipper::apply\28SkBlitter*\2c\20SkRegion\20const*\2c\20SkIRect\20const*\29 +3438:SkBlitter::blitRegion\28SkRegion\20const&\29 +3439:SkBitmapDevice::BDDraw::~BDDraw\28\29 +3440:SkBitmapCacheDesc::Make\28SkImage\20const*\29 +3441:SkBitmap::writePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +3442:SkBitmap::setPixels\28void*\29 +3443:SkBitmap::pixelRefOrigin\28\29\20const +3444:SkBitmap::notifyPixelsChanged\28\29\20const +3445:SkBitmap::isImmutable\28\29\20const +3446:SkBitmap::allocPixels\28\29 +3447:SkBinaryWriteBuffer::writeScalarArray\28float\20const*\2c\20unsigned\20int\29 +3448:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29.1 +3449:SkBaseShadowTessellator::handleCubic\28SkMatrix\20const&\2c\20SkPoint*\29 +3450:SkBaseShadowTessellator::handleConic\28SkMatrix\20const&\2c\20SkPoint*\2c\20float\29 +3451:SkAutoPathBoundsUpdate::SkAutoPathBoundsUpdate\28SkPath*\2c\20SkRect\20const&\29 +3452:SkAutoDescriptor::SkAutoDescriptor\28SkAutoDescriptor&&\29 +3453:SkArenaAllocWithReset::SkArenaAllocWithReset\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3454:SkAnimatedImage::decodeNextFrame\28\29 +3455:SkAnimatedImage::Frame::copyTo\28SkAnimatedImage::Frame*\29\20const +3456:SkAnalyticQuadraticEdge::updateQuadratic\28\29 +3457:SkAnalyticCubicEdge::updateCubic\28bool\29 +3458:SkAlphaRuns::reset\28int\29 +3459:SkAAClip::setRect\28SkIRect\20const&\29 +3460:Simplify\28SkPath\20const&\2c\20SkPath*\29 +3461:ReconstructRow +3462:R.1 +3463:OpAsWinding::nextEdge\28Contour&\2c\20OpAsWinding::Edge\29 +3464:OT::sbix::sanitize\28hb_sanitize_context_t*\29\20const +3465:OT::post::accelerator_t::cmp_gids\28void\20const*\2c\20void\20const*\2c\20void*\29 +3466:OT::gvar::sanitize_shallow\28hb_sanitize_context_t*\29\20const +3467:OT::fvar::sanitize\28hb_sanitize_context_t*\29\20const +3468:OT::cmap::sanitize\28hb_sanitize_context_t*\29\20const +3469:OT::cmap::accelerator_t::accelerator_t\28hb_face_t*\29 +3470:OT::cff2::accelerator_templ_t>::~accelerator_templ_t\28\29 +3471:OT::avar::sanitize\28hb_sanitize_context_t*\29\20const +3472:OT::VarRegionList::evaluate\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20float*\29\20const +3473:OT::Rule::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +3474:OT::OpenTypeFontFile::sanitize\28hb_sanitize_context_t*\29\20const +3475:OT::MVAR::sanitize\28hb_sanitize_context_t*\29\20const +3476:OT::Layout::GSUB_impl::SubstLookup::serialize_ligature\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20hb_sorted_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\29 +3477:OT::Layout::GPOS_impl::MarkArray::apply\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20OT::Layout::GPOS_impl::AnchorMatrix\20const&\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +3478:OT::GDEFVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +3479:OT::Device::get_y_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +3480:OT::Device::get_x_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +3481:OT::ClipList::get_extents\28unsigned\20int\2c\20hb_glyph_extents_t*\2c\20OT::VarStoreInstancer\20const&\29\20const +3482:OT::ChainRule::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +3483:OT::CPAL::sanitize\28hb_sanitize_context_t*\29\20const +3484:OT::COLR::sanitize\28hb_sanitize_context_t*\29\20const +3485:OT::COLR::paint_glyph\28hb_font_t*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29\20const +3486:MakeRasterCopyPriv\28SkPixmap\20const&\2c\20unsigned\20int\29 +3487:LineQuadraticIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineQuadraticIntersections::PinTPoint\29 +3488:LineQuadraticIntersections::checkCoincident\28\29 +3489:LineQuadraticIntersections::addLineNearEndPoints\28\29 +3490:LineCubicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineCubicIntersections::PinTPoint\29 +3491:LineCubicIntersections::checkCoincident\28\29 +3492:LineCubicIntersections::addLineNearEndPoints\28\29 +3493:LineConicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineConicIntersections::PinTPoint\29 +3494:LineConicIntersections::checkCoincident\28\29 +3495:LineConicIntersections::addLineNearEndPoints\28\29 +3496:GrXferProcessor::GrXferProcessor\28GrProcessor::ClassID\29 +3497:GrVertexChunkBuilder::~GrVertexChunkBuilder\28\29 +3498:GrTriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +3499:GrTriangulator::splitEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +3500:GrTriangulator::pathToPolys\28float\2c\20SkRect\20const&\2c\20bool*\29 +3501:GrTriangulator::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20GrTriangulator::VertexList*\2c\20int\29\20const +3502:GrTriangulator::emitTriangle\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20int\2c\20skgpu::VertexWriter\29\20const +3503:GrTriangulator::checkForIntersection\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +3504:GrTriangulator::applyFillType\28int\29\20const +3505:GrTriangulator::EdgeList::insert\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\29 +3506:GrTriangulator::Edge::insertBelow\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +3507:GrTriangulator::Edge::insertAbove\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +3508:GrToGLStencilFunc\28GrStencilTest\29 +3509:GrThreadSafeCache::dropAllRefs\28\29 +3510:GrTextureRenderTargetProxy::callbackDesc\28\29\20const +3511:GrTexture::GrTexture\28GrGpu*\2c\20SkISize\20const&\2c\20skgpu::Protected\2c\20GrTextureType\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +3512:GrTexture::ComputeScratchKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20skgpu::ScratchKey*\29 +3513:GrSurfaceProxyView::asTextureProxyRef\28\29\20const +3514:GrSurfaceProxy::GrSurfaceProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +3515:GrSurfaceProxy::GrSurfaceProxy\28sk_sp\2c\20SkBackingFit\2c\20GrSurfaceProxy::UseAllocator\29 +3516:GrSurface::setRelease\28sk_sp\29 +3517:GrStyledShape::styledBounds\28\29\20const +3518:GrStyledShape::asLine\28SkPoint*\2c\20bool*\29\20const +3519:GrStyledShape::addGenIDChangeListener\28sk_sp\29\20const +3520:GrSimpleMeshDrawOpHelper::fixedFunctionFlags\28\29\20const +3521:GrShape::setRect\28SkRect\20const&\29 +3522:GrShape::setRRect\28SkRRect\20const&\29 +3523:GrShape::segmentMask\28\29\20const +3524:GrResourceProvider::assignUniqueKeyToResource\28skgpu::UniqueKey\20const&\2c\20GrGpuResource*\29 +3525:GrResourceCache::releaseAll\28\29 +3526:GrResourceCache::getNextTimestamp\28\29 +3527:GrRenderTask::addDependency\28GrRenderTask*\29 +3528:GrRenderTargetProxy::canUseStencil\28GrCaps\20const&\29\20const +3529:GrRecordingContextPriv::addOnFlushCallbackObject\28GrOnFlushCallbackObject*\29 +3530:GrRecordingContext::~GrRecordingContext\28\29 +3531:GrRecordingContext::abandonContext\28\29 +3532:GrQuadUtils::TessellationHelper::Vertices::moveTo\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20int>\20const&\29 +3533:GrQuadUtils::TessellationHelper::EdgeEquations::reset\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\29 +3534:GrQuadUtils::ResolveAAType\28GrAAType\2c\20GrQuadAAFlags\2c\20GrQuad\20const&\2c\20GrAAType*\2c\20GrQuadAAFlags*\29 +3535:GrQuadBuffer<\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA>::append\28GrQuad\20const&\2c\20\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA&&\2c\20GrQuad\20const*\29 +3536:GrPixmap::GrPixmap\28GrImageInfo\2c\20void*\2c\20unsigned\20long\29 +3537:GrPipeline::GrPipeline\28GrPipeline::InitArgs\20const&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29 +3538:GrPersistentCacheUtils::UnpackCachedShaders\28SkReadBuffer*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20int\2c\20GrPersistentCacheUtils::ShaderMetadata*\29 +3539:GrPathUtils::convertCubicToQuads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\29 +3540:GrPathTessellationShader::Make\28GrShaderCaps\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::tess::PatchAttribs\29 +3541:GrOp::chainConcat\28std::__2::unique_ptr>\29 +3542:GrOp::GenOpClassID\28\29 +3543:GrMeshDrawOp::PatternHelper::PatternHelper\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +3544:GrMemoryPool::Make\28unsigned\20long\2c\20unsigned\20long\29 +3545:GrMakeKeyFromImageID\28skgpu::UniqueKey*\2c\20unsigned\20int\2c\20SkIRect\20const&\29 +3546:GrImageInfo::GrImageInfo\28GrColorInfo\20const&\2c\20SkISize\20const&\29 +3547:GrGpuResource::removeScratchKey\28\29 +3548:GrGpuResource::registerWithCacheWrapped\28GrWrapCacheable\29 +3549:GrGpuResource::dumpMemoryStatisticsPriv\28SkTraceMemoryDump*\2c\20SkString\20const&\2c\20char\20const*\2c\20unsigned\20long\29\20const +3550:GrGpuBuffer::onGpuMemorySize\28\29\20const +3551:GrGpu::resolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +3552:GrGpu::executeFlushInfo\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +3553:GrGeometryProcessor::TextureSampler::TextureSampler\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +3554:GrGeometryProcessor::ProgramImpl::ComputeMatrixKeys\28GrShaderCaps\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\29 +3555:GrGLUniformHandler::getUniformVariable\28GrResourceHandle\29\20const +3556:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +3557:GrGLSemaphore::GrGLSemaphore\28GrGLGpu*\2c\20bool\29 +3558:GrGLSLVaryingHandler::~GrGLSLVaryingHandler\28\29 +3559:GrGLSLShaderBuilder::emitFunction\28SkSLType\2c\20char\20const*\2c\20SkSpan\2c\20char\20const*\29 +3560:GrGLSLProgramDataManager::setSkMatrix\28GrResourceHandle\2c\20SkMatrix\20const&\29\20const +3561:GrGLSLProgramBuilder::writeFPFunction\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +3562:GrGLSLProgramBuilder::invokeFP\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +3563:GrGLSLProgramBuilder::addRTFlipUniform\28char\20const*\29 +3564:GrGLSLFragmentShaderBuilder::dstColor\28\29 +3565:GrGLSLBlend::BlendKey\28SkBlendMode\29 +3566:GrGLProgramBuilder::~GrGLProgramBuilder\28\29 +3567:GrGLProgramBuilder::computeCountsAndStrides\28unsigned\20int\2c\20GrGeometryProcessor\20const&\2c\20bool\29 +3568:GrGLGpu::flushScissor\28GrScissorState\20const&\2c\20int\2c\20GrSurfaceOrigin\29 +3569:GrGLGpu::flushClearColor\28std::__2::array\29 +3570:GrGLGpu::deleteFence\28__GLsync*\29 +3571:GrGLGpu::createTexture\28SkISize\2c\20GrGLFormat\2c\20unsigned\20int\2c\20skgpu::Renderable\2c\20GrGLTextureParameters::SamplerOverriddenState*\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +3572:GrGLGpu::copySurfaceAsDraw\28GrSurface*\2c\20bool\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +3573:GrGLGpu::SamplerObjectCache::~SamplerObjectCache\28\29 +3574:GrGLGpu::HWVertexArrayState::bindInternalVertexArray\28GrGLGpu*\2c\20GrBuffer\20const*\29 +3575:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +3576:GrGLFinishCallbacks::callAll\28bool\29 +3577:GrGLBuffer::Make\28GrGLGpu*\2c\20unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +3578:GrGLAttribArrayState::enableVertexArrays\28GrGLGpu\20const*\2c\20int\2c\20GrPrimitiveRestart\29 +3579:GrFragmentProcessors::make_effect_fp\28sk_sp\2c\20char\20const*\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkSpan\2c\20GrFPArgs\20const&\29 +3580:GrFragmentProcessors::MakeChildFP\28SkRuntimeEffect::ChildPtr\20const&\2c\20GrFPArgs\20const&\29 +3581:GrFragmentProcessors::IsSupported\28SkMaskFilter\20const*\29 +3582:GrFragmentProcessor::makeProgramImpl\28\29\20const +3583:GrFragmentProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +3584:GrFragmentProcessor::MulInputByChildAlpha\28std::__2::unique_ptr>\29 +3585:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +3586:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29 +3587:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3588:GrDynamicAtlas::makeNode\28GrDynamicAtlas::Node*\2c\20int\2c\20int\2c\20int\2c\20int\29 +3589:GrDrawingManager::setLastRenderTask\28GrSurfaceProxy\20const*\2c\20GrRenderTask*\29 +3590:GrDrawingManager::flushSurfaces\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +3591:GrDrawOpAtlas::updatePlot\28GrDeferredUploadTarget*\2c\20skgpu::AtlasLocator*\2c\20skgpu::Plot*\29 +3592:GrDirectContext::resetContext\28unsigned\20int\29 +3593:GrDirectContext::getResourceCacheLimit\28\29\20const +3594:GrDefaultGeoProcFactory::MakeForDeviceSpace\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +3595:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20sk_sp\29 +3596:GrColorSpaceXform::apply\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +3597:GrColorSpaceXform::Equals\28GrColorSpaceXform\20const*\2c\20GrColorSpaceXform\20const*\29 +3598:GrBufferAllocPool::unmap\28\29 +3599:GrBlurUtils::can_filter_mask\28SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect*\29 +3600:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29 +3601:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +3602:GrBackendTextures::MakeGL\28int\2c\20int\2c\20skgpu::Mipmapped\2c\20GrGLTextureInfo\20const&\2c\20sk_sp\2c\20std::__2::basic_string_view>\29 +3603:GrBackendFormatStencilBits\28GrBackendFormat\20const&\29 +3604:GrBackendFormat::asMockCompressionType\28\29\20const +3605:GrAATriangulator::~GrAATriangulator\28\29 +3606:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrAATriangulator::EventList*\29\20const +3607:GrAAConvexTessellator::fanRing\28GrAAConvexTessellator::Ring\20const&\29 +3608:GrAAConvexTessellator::computePtAlongBisector\28int\2c\20SkPoint\20const&\2c\20int\2c\20float\2c\20SkPoint*\29\20const +3609:FT_Stream_ReadAt +3610:FT_Stream_OpenMemory +3611:FT_Set_Char_Size +3612:FT_Request_Metrics +3613:FT_Hypot +3614:FT_Get_Var_Design_Coordinates +3615:FT_Get_Paint +3616:FT_Get_MM_Var +3617:DecodeImageData +3618:Cr_z_inflate_table +3619:Cr_z_inflateReset +3620:Cr_z_deflateEnd +3621:Cr_z_copy_with_crc +3622:Compute_Point_Displacement +3623:AAT::trak::sanitize\28hb_sanitize_context_t*\29\20const +3624:AAT::ltag::sanitize\28hb_sanitize_context_t*\29\20const +3625:AAT::feat::sanitize\28hb_sanitize_context_t*\29\20const +3626:AAT::StateTable::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +3627:AAT::Lookup>\2c\20OT::IntType\2c\20false>>::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +3628:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3629:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3630:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3631:zeroinfnan +3632:xyz_almost_equal\28skcms_Matrix3x3\20const&\2c\20skcms_Matrix3x3\20const&\29 +3633:wuffs_lzw__decoder__transform_io +3634:wuffs_gif__decoder__set_quirk_enabled +3635:wuffs_gif__decoder__restart_frame +3636:wuffs_gif__decoder__num_animation_loops +3637:wuffs_gif__decoder__frame_dirty_rect +3638:wuffs_gif__decoder__decode_up_to_id_part1 +3639:wuffs_gif__decoder__decode_frame +3640:write_vertex_position\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrShaderVar\20const&\2c\20SkMatrix\20const&\2c\20char\20const*\2c\20GrShaderVar*\2c\20GrResourceHandle*\29 +3641:write_passthrough_vertex_position\28GrGLSLVertexBuilder*\2c\20GrShaderVar\20const&\2c\20GrShaderVar*\29 +3642:wctomb +3643:wchar_t*\20std::__2::copy\5babi:v160004\5d\2c\20wchar_t*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20wchar_t*\29 +3644:walk_simple_edges\28SkEdge*\2c\20SkBlitter*\2c\20int\2c\20int\29 +3645:vsscanf +3646:void\20std::__2::vector>::__emplace_back_slow_path&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&>\28SkFont\20const&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\29 +3647:void\20std::__2::vector>::assign\28skia::textlayout::FontFeature*\2c\20skia::textlayout::FontFeature*\29 +3648:void\20std::__2::vector\2c\20std::__2::allocator>>::__emplace_back_slow_path>\28sk_sp&&\29 +3649:void\20std::__2::vector>::assign\28SkString*\2c\20SkString*\29 +3650:void\20std::__2::vector>::__emplace_back_slow_path\28char\20const*&\29 +3651:void\20std::__2::vector>::__push_back_slow_path\28SkSL::FunctionDebugInfo&&\29 +3652:void\20std::__2::vector>::__push_back_slow_path\28SkMeshSpecification::Varying&&\29 +3653:void\20std::__2::vector>::__push_back_slow_path\28SkMeshSpecification::Attribute&&\29 +3654:void\20std::__2::vector>::assign\28SkFontArguments::VariationPosition::Coordinate*\2c\20SkFontArguments::VariationPosition::Coordinate*\29 +3655:void\20std::__2::vector>::__emplace_back_slow_path\28SkRect&\2c\20int&\2c\20int&\29 +3656:void\20std::__2::allocator_traits>::construct\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\29 +3657:void\20std::__2::__tree_balance_after_insert\5babi:v160004\5d*>\28std::__2::__tree_node_base*\2c\20std::__2::__tree_node_base*\29 +3658:void\20std::__2::__stable_sort_move\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\29 +3659:void\20std::__2::__sift_up\5babi:v160004\5d*>>\28std::__2::__wrap_iter*>\2c\20std::__2::__wrap_iter*>\2c\20GrGeometryProcessor::ProgramImpl::emitTransformCode\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\29::$_0&\2c\20std::__2::iterator_traits*>>::difference_type\29 +3660:void\20std::__2::__optional_storage_base::__assign_from\5babi:v160004\5d\20const&>\28std::__2::__optional_copy_assign_base\20const&\29 +3661:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20char*&\2c\20char*&\29 +3662:void\20sorted_merge<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +3663:void\20sorted_merge<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +3664:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.1 +3665:void\20skgpu::ganesh::SurfaceFillContext::clear<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\20const&\29 +3666:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +3667:void\20emscripten::internal::MemberAccess>::setWire\28sk_sp\20SkRuntimeEffect::TracedShader::*\20const&\2c\20SkRuntimeEffect::TracedShader&\2c\20sk_sp*\29 +3668:void\20emscripten::internal::MemberAccess::setWire\28SimpleFontStyle\20SimpleStrutStyle::*\20const&\2c\20SimpleStrutStyle&\2c\20SimpleFontStyle*\29 +3669:void\20\28anonymous\20namespace\29::copyFT2LCD16\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\29 +3670:void\20SkTIntroSort\28int\2c\20int*\2c\20int\2c\20DistanceLessThan\20const&\29 +3671:void\20SkTIntroSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29>\28int\2c\20float*\2c\20int\2c\20void\20SkTQSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29\20const&\29 +3672:void\20SkTIntroSort\28int\2c\20SkString*\2c\20int\2c\20bool\20\20const\28&\29\28SkString\20const&\2c\20SkString\20const&\29\29 +3673:void\20SkTIntroSort\28int\2c\20SkOpRayHit**\2c\20int\2c\20bool\20\20const\28&\29\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29\29 +3674:void\20SkTIntroSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29>\28int\2c\20SkOpContour*\2c\20int\2c\20void\20SkTQSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29\20const&\29 +3675:void\20SkTIntroSort>\2c\20SkCodec::Result*\29::Entry\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::EntryLessThan>\28int\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::Entry*\2c\20int\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::EntryLessThan\20const&\29 +3676:void\20SkTIntroSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29>\28int\2c\20SkClosestRecord\20const*\2c\20int\2c\20void\20SkTQSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29\20const&\29 +3677:void\20SkTIntroSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29>\28int\2c\20SkAnalyticEdge*\2c\20int\2c\20void\20SkTQSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29\20const&\29 +3678:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\20const\28&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +3679:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\28*\20const&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +3680:void\20SkTIntroSort\28int\2c\20Edge*\2c\20int\2c\20EdgeLT\20const&\29 +3681:void\20GrGeometryProcessor::ProgramImpl::collectTransforms\28GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGLSLUniformHandler*\2c\20GrShaderType\2c\20GrShaderVar\20const&\2c\20GrShaderVar\20const&\2c\20GrPipeline\20const&\29::$_0::operator\28\29<$_0>\28$_0&\2c\20GrFragmentProcessor\20const&\2c\20bool\2c\20GrFragmentProcessor\20const*\2c\20int\2c\20GrGeometryProcessor::ProgramImpl::BaseCoord\29 +3682:void\20AAT::StateTableDriver::drive::driver_context_t>\28AAT::LigatureSubtable::driver_context_t*\2c\20AAT::hb_aat_apply_context_t*\29::'lambda0'\28\29::operator\28\29\28\29\20const +3683:virtual\20thunk\20to\20GrGLTexture::onSetLabel\28\29 +3684:virtual\20thunk\20to\20GrGLTexture::backendFormat\28\29\20const +3685:vfiprintf +3686:validate_texel_levels\28SkISize\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20GrCaps\20const*\29 +3687:utf8TextClose\28UText*\29 +3688:utf8TextAccess\28UText*\2c\20long\20long\2c\20signed\20char\29 +3689:utext_openConstUnicodeString_74 +3690:utext_moveIndex32_74 +3691:utext_getPreviousNativeIndex_74 +3692:utext_extract_74 +3693:ures_resetIterator_74 +3694:ures_initStackObject_74 +3695:ures_getInt_74 +3696:ures_getIntVector_74 +3697:ures_copyResb_74 +3698:uprv_stricmp_74 +3699:uprv_getMaxValues_74 +3700:uprv_compareInvAscii_74 +3701:upropsvec_addPropertyStarts_74 +3702:uprops_getSource_74 +3703:uprops_addPropertyStarts_74 +3704:unsigned\20short\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3705:unsigned\20long\20long\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3706:unsigned\20int\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3707:unsigned\20int\20const*\20std::__2::lower_bound\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20unsigned\20long\20const&\29 +3708:unorm_getFCD16_74 +3709:ultag_isUnicodeLocaleKey_74 +3710:ultag_isScriptSubtag_74 +3711:ultag_isLanguageSubtag_74 +3712:ultag_isExtensionSubtags_74 +3713:ultag_getTKeyStart_74 +3714:ulocimp_toBcpType_74 +3715:uloc_toUnicodeLocaleType_74 +3716:uloc_toUnicodeLocaleKey_74 +3717:uloc_setKeywordValue_74 +3718:uloc_getTableStringWithFallback_74 +3719:uloc_getScript_74 +3720:uloc_getName_74 +3721:uloc_getLanguage_74 +3722:uloc_getDisplayName_74 +3723:uloc_getCountry_74 +3724:uloc_canonicalize_74 +3725:uenum_unext_74 +3726:udata_open_74 +3727:udata_checkCommonData_74 +3728:ucptrie_internalU8PrevIndex_74 +3729:uchar_addPropertyStarts_74 +3730:ucase_toFullUpper_74 +3731:ucase_toFullLower_74 +3732:ucase_toFullFolding_74 +3733:ucase_getTypeOrIgnorable_74 +3734:ucase_addPropertyStarts_74 +3735:ubidi_getPairedBracketType_74 +3736:ubidi_close_74 +3737:u_unescapeAt_74 +3738:u_strFindFirst_74 +3739:u_memrchr_74 +3740:u_memcmp_74 +3741:u_hasBinaryProperty_74 +3742:u_getPropertyEnum_74 +3743:tt_size_run_prep +3744:tt_size_done_bytecode +3745:tt_sbit_decoder_load_image +3746:tt_face_vary_cvt +3747:tt_face_palette_set +3748:tt_face_load_cvt +3749:tt_face_get_metrics +3750:tt_done_blend +3751:tt_delta_interpolate +3752:tt_cmap4_set_range +3753:tt_cmap4_next +3754:tt_cmap4_char_map_linear +3755:tt_cmap4_char_map_binary +3756:tt_cmap14_get_def_chars +3757:tt_cmap13_next +3758:tt_cmap12_next +3759:tt_cmap12_init +3760:tt_cmap12_char_map_binary +3761:tt_apply_mvar +3762:toParagraphStyle\28SimpleParagraphStyle\20const&\29 +3763:tanhf +3764:t1_lookup_glyph_by_stdcharcode_ps +3765:t1_builder_close_contour +3766:t1_builder_check_points +3767:strtoull +3768:strtoll_l +3769:strtol +3770:strspn +3771:store_int +3772:std::logic_error::~logic_error\28\29 +3773:std::logic_error::logic_error\28char\20const*\29 +3774:std::exception::exception\5babi:v160004\5d\28\29 +3775:std::__2::vector>::max_size\28\29\20const +3776:std::__2::vector>::__construct_at_end\28unsigned\20long\29 +3777:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +3778:std::__2::vector>::__base_destruct_at_end\5babi:v160004\5d\28std::__2::locale::facet**\29 +3779:std::__2::vector>::__annotate_shrink\5babi:v160004\5d\28unsigned\20long\29\20const +3780:std::__2::vector>::__annotate_new\5babi:v160004\5d\28unsigned\20long\29\20const +3781:std::__2::vector>::__annotate_delete\5babi:v160004\5d\28\29\20const +3782:std::__2::vector>::insert\28std::__2::__wrap_iter\2c\20float&&\29 +3783:std::__2::vector>::__append\28unsigned\20long\29 +3784:std::__2::unique_ptr::operator=\5babi:v160004\5d\28std::__2::unique_ptr&&\29 +3785:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3786:std::__2::unique_ptr>\20SkSL::coalesce_vector\28std::__2::array\20const&\2c\20double\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\2c\20double\20\28*\29\28double\29\29 +3787:std::__2::unique_ptr>::operator=\5babi:v160004\5d\28std::nullptr_t\29 +3788:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda0'\28\29::operator\28\29\28\29\20const +3789:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda'\28\29::operator\28\29\28\29\20const +3790:std::__2::to_string\28unsigned\20long\29 +3791:std::__2::to_chars_result\20std::__2::__to_chars_itoa\5babi:v160004\5d\28char*\2c\20char*\2c\20unsigned\20int\2c\20std::__2::integral_constant\29 +3792:std::__2::time_put>>::~time_put\28\29 +3793:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3794:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3795:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3796:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3797:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3798:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3799:std::__2::reverse_iterator::operator++\5babi:v160004\5d\28\29 +3800:std::__2::reverse_iterator::operator*\5babi:v160004\5d\28\29\20const +3801:std::__2::priority_queue>\2c\20GrAATriangulator::EventComparator>::push\28GrAATriangulator::Event*\20const&\29 +3802:std::__2::pair\2c\20void*>*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__emplace_unique_key_args\2c\20std::__2::tuple<>>\28GrFragmentProcessor\20const*\20const&\2c\20std::__2::piecewise_construct_t\20const&\2c\20std::__2::tuple&&\2c\20std::__2::tuple<>&&\29 +3803:std::__2::pair*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__emplace_unique_key_args\28int\20const&\2c\20int\20const&\29 +3804:std::__2::pair\2c\20std::__2::allocator>>>::pair\28std::__2::pair\2c\20std::__2::allocator>>>&&\29 +3805:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28wchar_t\29 +3806:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28char\29 +3807:std::__2::optional&\20std::__2::optional::operator=\5babi:v160004\5d\28SkPath\20const&\29 +3808:std::__2::numpunct::~numpunct\28\29 +3809:std::__2::numpunct::~numpunct\28\29 +3810:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +3811:std::__2::num_get>>\20const&\20std::__2::use_facet\5babi:v160004\5d>>>\28std::__2::locale\20const&\29 +3812:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +3813:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3814:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3815:std::__2::moneypunct::do_negative_sign\28\29\20const +3816:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3817:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3818:std::__2::moneypunct::do_negative_sign\28\29\20const +3819:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20wchar_t*&\2c\20wchar_t*\29 +3820:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20char*&\2c\20char*\29 +3821:std::__2::locale::__imp::~__imp\28\29 +3822:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20std::__2::random_access_iterator_tag\29 +3823:std::__2::iterator_traits\2c\20std::__2::allocator>\20const*>::difference_type\20std::__2::distance\5babi:v160004\5d\2c\20std::__2::allocator>\20const*>\28std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +3824:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28char*\2c\20char*\29 +3825:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::random_access_iterator_tag\29 +3826:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +3827:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +3828:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +3829:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +3830:std::__2::ios_base::width\5babi:v160004\5d\28long\29 +3831:std::__2::ios_base::imbue\28std::__2::locale\20const&\29 +3832:std::__2::ios_base::__call_callbacks\28std::__2::ios_base::event\29 +3833:std::__2::hash::operator\28\29\28skia::textlayout::FontArguments\20const&\29\20const +3834:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28char&\2c\20char&\29 +3835:std::__2::enable_if<__is_cpp17_random_access_iterator::value\2c\20char*>::type\20std::__2::copy_n\5babi:v160004\5d\28char\20const*\2c\20unsigned\20long\2c\20char*\29 +3836:std::__2::enable_if<__is_cpp17_forward_iterator::value\2c\20void>::type\20std::__2::basic_string\2c\20std::__2::allocator>::__init\28wchar_t\20const*\2c\20wchar_t\20const*\29 +3837:std::__2::enable_if<__is_cpp17_forward_iterator::value\2c\20void>::type\20std::__2::basic_string\2c\20std::__2::allocator>::__init\28char*\2c\20char*\29 +3838:std::__2::deque>::__add_back_capacity\28\29 +3839:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28sktext::gpu::TextBlobRedrawCoordinator*\29\20const +3840:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28sktext::GlyphRunBuilder*\29\20const +3841:std::__2::ctype::~ctype\28\29 +3842:std::__2::codecvt::~codecvt\28\29 +3843:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3844:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char32_t\20const*\2c\20char32_t\20const*\2c\20char32_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3845:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +3846:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char32_t*\2c\20char32_t*\2c\20char32_t*&\29\20const +3847:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char16_t\20const*\2c\20char16_t\20const*\2c\20char16_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3848:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +3849:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char16_t*\2c\20char16_t*\2c\20char16_t*&\29\20const +3850:std::__2::char_traits::not_eof\28int\29 +3851:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28\29\20const +3852:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29 +3853:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20wchar_t\20const*\29 +3854:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +3855:std::__2::basic_string\2c\20std::__2::allocator>::resize\28unsigned\20long\2c\20char\29 +3856:std::__2::basic_string\2c\20std::__2::allocator>::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +3857:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20char\29 +3858:std::__2::basic_string\2c\20std::__2::allocator>::basic_string>\2c\20void>\28std::__2::basic_string_view>\20const&\29 +3859:std::__2::basic_string\2c\20std::__2::allocator>::__throw_out_of_range\5babi:v160004\5d\28\29\20const +3860:std::__2::basic_string\2c\20std::__2::allocator>::__null_terminate_at\5babi:v160004\5d\28char*\2c\20unsigned\20long\29 +3861:std::__2::basic_string\2c\20std::__2::allocator>&\20std::__2::basic_string\2c\20std::__2::allocator>::__assign_no_alias\28char\20const*\2c\20unsigned\20long\29 +3862:std::__2::basic_string\2c\20std::__2::allocator>&\20skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::emplace_back\28char\20const*&&\29 +3863:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +3864:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +3865:std::__2::basic_streambuf>::sputc\5babi:v160004\5d\28char\29 +3866:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +3867:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +3868:std::__2::basic_ostream>::~basic_ostream\28\29.2 +3869:std::__2::basic_ostream>::sentry::~sentry\28\29 +3870:std::__2::basic_ostream>::sentry::sentry\28std::__2::basic_ostream>&\29 +3871:std::__2::basic_ostream>::operator<<\28float\29 +3872:std::__2::basic_ostream>::flush\28\29 +3873:std::__2::basic_istream>::~basic_istream\28\29.2 +3874:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\2c\20unsigned\20long\29 +3875:std::__2::allocator::deallocate\5babi:v160004\5d\28wchar_t*\2c\20unsigned\20long\29 +3876:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3877:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3878:std::__2::__wrap_iter\20std::__2::vector>::insert\2c\200>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +3879:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +3880:std::__2::__time_put::__time_put\5babi:v160004\5d\28\29 +3881:std::__2::__time_put::__do_put\28char*\2c\20char*&\2c\20tm\20const*\2c\20char\2c\20char\29\20const +3882:std::__2::__split_buffer>::push_back\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +3883:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +3884:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +3885:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +3886:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +3887:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +3888:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20wchar_t&\2c\20wchar_t&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +3889:std::__2::__money_put::__format\28wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20unsigned\20int\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +3890:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20char&\2c\20char&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +3891:std::__2::__money_put::__format\28char*\2c\20char*&\2c\20char*&\2c\20unsigned\20int\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +3892:std::__2::__libcpp_sscanf_l\28char\20const*\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +3893:std::__2::__libcpp_mbrtowc_l\5babi:v160004\5d\28wchar_t*\2c\20char\20const*\2c\20unsigned\20long\2c\20__mbstate_t*\2c\20__locale_struct*\29 +3894:std::__2::__libcpp_mb_cur_max_l\5babi:v160004\5d\28__locale_struct*\29 +3895:std::__2::__libcpp_deallocate\5babi:v160004\5d\28void*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3896:std::__2::__libcpp_allocate\5babi:v160004\5d\28unsigned\20long\2c\20unsigned\20long\29 +3897:std::__2::__is_overaligned_for_new\5babi:v160004\5d\28unsigned\20long\29 +3898:std::__2::__function::__value_func::swap\5babi:v160004\5d\28std::__2::__function::__value_func&\29 +3899:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +3900:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +3901:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +3902:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::destroy\28\29 +3903:std::__2::__constexpr_wcslen\5babi:v160004\5d\28wchar_t\20const*\29 +3904:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::__sso_allocator&\2c\20unsigned\20long\29 +3905:start_input_pass +3906:sktext::gpu::can_use_direct\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +3907:sktext::gpu::build_distance_adjust_table\28float\29 +3908:sktext::gpu::VertexFiller::opMaskType\28\29\20const +3909:sktext::gpu::VertexFiller::isLCD\28\29\20const +3910:sktext::gpu::VertexFiller::fillVertexData\28int\2c\20int\2c\20SkSpan\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkIRect\2c\20void*\29\20const +3911:sktext::gpu::TextBlobRedrawCoordinator::internalRemove\28sktext::gpu::TextBlob*\29 +3912:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_2::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +3913:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_0::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +3914:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29 +3915:sktext::gpu::SubRunContainer::EstimateAllocSize\28sktext::GlyphRunList\20const&\29 +3916:sktext::gpu::SubRunAllocator::SubRunAllocator\28char*\2c\20int\2c\20int\29 +3917:sktext::gpu::StrikeCache::~StrikeCache\28\29 +3918:sktext::gpu::SlugImpl::Make\28SkMatrix\20const&\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\29 +3919:sktext::gpu::BagOfBytes::BagOfBytes\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29::$_1::operator\28\29\28\29\20const +3920:sktext::glyphrun_source_bounds\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkZip\2c\20SkSpan\29 +3921:sktext::SkStrikePromise::resetStrike\28\29 +3922:sktext::GlyphRunList::makeBlob\28\29\20const +3923:sktext::GlyphRunBuilder::blobToGlyphRunList\28SkTextBlob\20const&\2c\20SkPoint\29 +3924:skstd::to_string\28float\29 +3925:skpathutils::FillPathWithPaint\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkPath*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29 +3926:skjpeg_err_exit\28jpeg_common_struct*\29 +3927:skip_string +3928:skip_procedure +3929:skif::\28anonymous\20namespace\29::decompose_transform\28SkMatrix\20const&\2c\20SkPoint\2c\20SkMatrix*\2c\20SkMatrix*\29 +3930:skif::Mapping::adjustLayerSpace\28SkMatrix\20const&\29 +3931:skif::FilterResult::imageAndOffset\28skif::Context\20const&\29\20const +3932:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20SkBlender\20const*\29\20const +3933:skif::FilterResult::drawAnalyzedImage\28skif::Context\20const&\2c\20SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\2c\20SkBlender\20const*\29\20const +3934:skif::FilterResult::MakeFromImage\28skif::Context\20const&\2c\20sk_sp\2c\20SkRect\2c\20skif::ParameterSpace\2c\20SkSamplingOptions\20const&\29 +3935:skif::FilterResult::FilterResult\28sk_sp\2c\20skif::LayerSpace\20const&\29 +3936:skif::FilterResult::FilterResult\28\29 +3937:skif::Context::withNewSource\28skif::FilterResult\20const&\29\20const +3938:skia_private::THashTable::Traits>::set\28unsigned\20long\20long\29 +3939:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3940:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +3941:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::removeIfExists\28unsigned\20int\20const&\29 +3942:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair&&\29 +3943:skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair&&\29 +3944:skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair&&\29 +3945:skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3946:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\29 +3947:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::find\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +3948:skia_private::THashTable::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3949:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\29 +3950:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::resize\28int\29 +3951:skia_private::THashTable\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair&&\29 +3952:skia_private::THashTable\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair&&\2c\20unsigned\20int\29 +3953:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28skgpu::ganesh::SmallPathShapeData*&&\29 +3954:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +3955:skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::uncheckedSet\28sk_sp&&\29 +3956:skia_private::THashTable\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::resize\28int\29 +3957:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::uncheckedSet\28\28anonymous\20namespace\29::CacheImpl::Value*&&\29 +3958:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::resize\28int\29 +3959:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +3960:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +3961:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +3962:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +3963:skia_private::THashTable::uncheckedSet\28SkResourceCache::Rec*&&\29 +3964:skia_private::THashTable::resize\28int\29 +3965:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::set\28SkLRUCache::Entry*\29 +3966:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::resize\28int\29 +3967:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::removeIfExists\28unsigned\20int\20const&\29 +3968:skia_private::THashTable>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::resize\28int\29 +3969:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::uncheckedSet\28SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*&&\29 +3970:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::resize\28int\29 +3971:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrGpuResource*&&\29 +3972:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +3973:skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::set\28unsigned\20int\2c\20sk_sp\20\28*\29\28SkReadBuffer&\29\29 +3974:skia_private::THashMap::set\28int\2c\20int\29 +3975:skia_private::THashMap>\2c\20SkGoodHash>::remove\28SkImageFilter\20const*\20const&\29 +3976:skia_private::TArray::push_back_raw\28int\29 +3977:skia_private::TArray::resize_back\28int\29 +3978:skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::checkRealloc\28int\2c\20double\29 +3979:skia_private::TArray::~TArray\28\29 +3980:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +3981:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3982:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +3983:skia_private::TArray::BufferFinishedMessage\2c\20false>::operator=\28skia_private::TArray::BufferFinishedMessage\2c\20false>&&\29 +3984:skia_private::TArray::BufferFinishedMessage\2c\20false>::installDataAndUpdateCapacity\28SkSpan\29 +3985:skia_private::TArray::Plane\2c\20false>::move\28void*\29 +3986:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3987:skia_private::TArray\29::ReorderedArgument\2c\20false>::push_back\28SkSL::optimize_constructor_swizzle\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ConstructorCompound\20const&\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29::ReorderedArgument&&\29 +3988:skia_private::TArray::TArray\28skia_private::TArray&&\29 +3989:skia_private::TArray::swap\28skia_private::TArray&\29 +3990:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +3991:skia_private::TArray::push_back_raw\28int\29 +3992:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +3993:skia_private::TArray::push_back_raw\28int\29 +3994:skia_private::TArray::push_back_raw\28int\29 +3995:skia_private::TArray::move_back_n\28int\2c\20GrTextureProxy**\29 +3996:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3997:skia_private::TArray::push_back_n\28int\2c\20EllipticalRRectOp::RRect\20const*\29 +3998:skia_png_zfree +3999:skia_png_write_zTXt +4000:skia_png_write_tIME +4001:skia_png_write_tEXt +4002:skia_png_write_iTXt +4003:skia_png_set_write_fn +4004:skia_png_set_strip_16 +4005:skia_png_set_read_user_transform_fn +4006:skia_png_set_read_user_chunk_fn +4007:skia_png_set_option +4008:skia_png_set_mem_fn +4009:skia_png_set_expand_gray_1_2_4_to_8 +4010:skia_png_set_error_fn +4011:skia_png_set_compression_level +4012:skia_png_set_IHDR +4013:skia_png_read_filter_row +4014:skia_png_process_IDAT_data +4015:skia_png_icc_set_sRGB +4016:skia_png_icc_check_tag_table +4017:skia_png_icc_check_header +4018:skia_png_get_uint_31 +4019:skia_png_get_sBIT +4020:skia_png_get_rowbytes +4021:skia_png_get_error_ptr +4022:skia_png_get_IHDR +4023:skia_png_do_swap +4024:skia_png_do_read_transformations +4025:skia_png_do_read_interlace +4026:skia_png_do_packswap +4027:skia_png_do_invert +4028:skia_png_do_gray_to_rgb +4029:skia_png_do_expand +4030:skia_png_do_check_palette_indexes +4031:skia_png_do_bgr +4032:skia_png_destroy_png_struct +4033:skia_png_destroy_gamma_table +4034:skia_png_create_png_struct +4035:skia_png_create_info_struct +4036:skia_png_crc_read +4037:skia_png_colorspace_sync_info +4038:skia_png_check_IHDR +4039:skia::textlayout::TypefaceFontStyleSet::matchStyle\28SkFontStyle\20const&\29 +4040:skia::textlayout::TextStyle::matchOneAttribute\28skia::textlayout::StyleType\2c\20skia::textlayout::TextStyle\20const&\29\20const +4041:skia::textlayout::TextStyle::equals\28skia::textlayout::TextStyle\20const&\29\20const +4042:skia::textlayout::TextShadow::operator!=\28skia::textlayout::TextShadow\20const&\29\20const +4043:skia::textlayout::TextLine::paint\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\29 +4044:skia::textlayout::TextLine::iterateThroughClustersInGlyphsOrder\28bool\2c\20bool\2c\20std::__2::function\20const&\29\20const::$_0::operator\28\29\28unsigned\20long\20const&\29\20const +4045:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkRect\29::operator\28\29\28SkRect\29\20const +4046:skia::textlayout::TextLine::getMetrics\28\29\20const +4047:skia::textlayout::TextLine::ensureTextBlobCachePopulated\28\29 +4048:skia::textlayout::TextLine::buildTextBlob\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +4049:skia::textlayout::TextLine::TextLine\28skia::textlayout::ParagraphImpl*\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20skia::textlayout::InternalLineMetrics\29 +4050:skia::textlayout::TextLine&\20skia_private::TArray::emplace_back&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&>\28skia::textlayout::ParagraphImpl*&&\2c\20SkPoint&\2c\20SkPoint&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&\29 +4051:skia::textlayout::Run::shift\28skia::textlayout::Cluster\20const*\2c\20float\29 +4052:skia::textlayout::Run::newRunBuffer\28\29 +4053:skia::textlayout::Run::findLimitingGlyphClusters\28skia::textlayout::SkRange\29\20const +4054:skia::textlayout::Run::addSpacesAtTheEnd\28float\2c\20skia::textlayout::Cluster*\29 +4055:skia::textlayout::ParagraphStyle::effective_align\28\29\20const +4056:skia::textlayout::ParagraphStyle::ParagraphStyle\28\29 +4057:skia::textlayout::ParagraphPainter::DecorationStyle::DecorationStyle\28unsigned\20int\2c\20float\2c\20std::__2::optional\29 +4058:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29 +4059:skia::textlayout::ParagraphImpl::text\28skia::textlayout::SkRange\29 +4060:skia::textlayout::ParagraphImpl::resolveStrut\28\29 +4061:skia::textlayout::ParagraphImpl::getGlyphInfoAtUTF16Offset\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +4062:skia::textlayout::ParagraphImpl::getGlyphClusterAt\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +4063:skia::textlayout::ParagraphImpl::findPreviousGraphemeBoundary\28unsigned\20long\29\20const +4064:skia::textlayout::ParagraphImpl::computeEmptyMetrics\28\29 +4065:skia::textlayout::ParagraphImpl::clusters\28skia::textlayout::SkRange\29 +4066:skia::textlayout::ParagraphImpl::block\28unsigned\20long\29 +4067:skia::textlayout::ParagraphCacheValue::~ParagraphCacheValue\28\29 +4068:skia::textlayout::ParagraphCacheKey::ParagraphCacheKey\28skia::textlayout::ParagraphImpl\20const*\29 +4069:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29 +4070:skia::textlayout::ParagraphBuilderImpl::make\28skia::textlayout::ParagraphStyle\20const&\2c\20sk_sp\2c\20sk_sp\29 +4071:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\2c\20bool\29 +4072:skia::textlayout::ParagraphBuilderImpl::ParagraphBuilderImpl\28skia::textlayout::ParagraphStyle\20const&\2c\20sk_sp\2c\20sk_sp\29 +4073:skia::textlayout::Paragraph::~Paragraph\28\29 +4074:skia::textlayout::OneLineShaper::clusteredText\28skia::textlayout::SkRange&\29 +4075:skia::textlayout::FontCollection::~FontCollection\28\29 +4076:skia::textlayout::FontCollection::matchTypeface\28SkString\20const&\2c\20SkFontStyle\29 +4077:skia::textlayout::FontCollection::defaultFallback\28int\2c\20SkFontStyle\2c\20SkString\20const&\29 +4078:skia::textlayout::FontCollection::FamilyKey::Hasher::operator\28\29\28skia::textlayout::FontCollection::FamilyKey\20const&\29\20const +4079:skgpu::tess::\28anonymous\20namespace\29::write_curve_index_buffer_base_index\28skgpu::VertexWriter\2c\20unsigned\20long\2c\20unsigned\20short\29 +4080:skgpu::tess::StrokeIterator::next\28\29 +4081:skgpu::tess::StrokeIterator::finishOpenContour\28\29 +4082:skgpu::tess::PreChopPathCurves\28float\2c\20SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +4083:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29 +4084:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::SmallPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20GrUserStencilSettings\20const*\29 +4085:skgpu::ganesh::\28anonymous\20namespace\29::ChopPathIfNecessary\28SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkStrokeRec\20const&\2c\20SkPath*\29 +4086:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::recordDraw\28GrMeshDrawTarget*\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20int\2c\20unsigned\20short*\29 +4087:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::AAFlatteningConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20float\2c\20SkStrokeRec::Style\2c\20SkPaint::Join\2c\20float\2c\20GrUserStencilSettings\20const*\29 +4088:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::AAConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrUserStencilSettings\20const*\29 +4089:skgpu::ganesh::TextureOp::Make\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20SkBlendMode\2c\20GrAAType\2c\20DrawQuad*\2c\20SkRect\20const*\29 +4090:skgpu::ganesh::TessellationPathRenderer::IsSupported\28GrCaps\20const&\29 +4091:skgpu::ganesh::SurfaceFillContext::fillRectToRectWithFP\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +4092:skgpu::ganesh::SurfaceFillContext::blitTexture\28GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\29 +4093:skgpu::ganesh::SurfaceFillContext::addOp\28std::__2::unique_ptr>\29 +4094:skgpu::ganesh::SurfaceFillContext::addDrawOp\28std::__2::unique_ptr>\29 +4095:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29.1 +4096:skgpu::ganesh::SurfaceDrawContext::drawVertices\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20sk_sp\2c\20GrPrimitiveType*\2c\20bool\29 +4097:skgpu::ganesh::SurfaceDrawContext::drawTexturedQuad\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkBlendMode\2c\20DrawQuad*\2c\20SkRect\20const*\29 +4098:skgpu::ganesh::SurfaceDrawContext::drawTexture\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkBlendMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +4099:skgpu::ganesh::SurfaceDrawContext::drawStrokedLine\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPoint\20const*\2c\20SkStrokeRec\20const&\29 +4100:skgpu::ganesh::SurfaceDrawContext::drawRegion\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrStyle\20const&\2c\20GrUserStencilSettings\20const*\29 +4101:skgpu::ganesh::SurfaceDrawContext::drawOval\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\29 +4102:skgpu::ganesh::SurfaceDrawContext::SurfaceDrawContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +4103:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29 +4104:skgpu::ganesh::SurfaceContext::writePixels\28GrDirectContext*\2c\20GrCPixmap\2c\20SkIPoint\29 +4105:skgpu::ganesh::SurfaceContext::copy\28sk_sp\2c\20SkIRect\2c\20SkIPoint\29 +4106:skgpu::ganesh::SurfaceContext::copyScaled\28sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20SkFilterMode\29 +4107:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +4108:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::FinishContext::~FinishContext\28\29 +4109:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +4110:skgpu::ganesh::SurfaceContext::SurfaceContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +4111:skgpu::ganesh::StrokeTessellator::draw\28GrOpFlushState*\29\20const +4112:skgpu::ganesh::StrokeTessellateOp::prePrepareTessellator\28GrTessellationShader::ProgramArgs&&\2c\20GrAppliedClip&&\29 +4113:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::NonAAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrSimpleMeshDrawOpHelper::InputFlags\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\2c\20GrAAType\29 +4114:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::AAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::RectInfo\20const&\2c\20bool\29 +4115:skgpu::ganesh::StencilMaskHelper::drawShape\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20SkRegion::Op\2c\20GrAA\29 +4116:skgpu::ganesh::SoftwarePathRenderer::DrawAroundInvPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29 +4117:skgpu::ganesh::SmallPathAtlasMgr::findOrCreate\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +4118:skgpu::ganesh::SmallPathAtlasMgr::deleteCacheEntry\28skgpu::ganesh::SmallPathShapeData*\29 +4119:skgpu::ganesh::ShadowRRectOp::Make\28GrRecordingContext*\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20float\2c\20float\29 +4120:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::RegionOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +4121:skgpu::ganesh::RasterAsView\28GrRecordingContext*\2c\20SkImage_Raster\20const*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +4122:skgpu::ganesh::QuadPerEdgeAA::Tessellator::append\28GrQuad*\2c\20GrQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\29 +4123:skgpu::ganesh::QuadPerEdgeAA::Tessellator::Tessellator\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29 +4124:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::initializeAttrs\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29 +4125:skgpu::ganesh::QuadPerEdgeAA::IssueDraw\28GrCaps\20const&\2c\20GrOpsRenderPass*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +4126:skgpu::ganesh::QuadPerEdgeAA::GetIndexBuffer\28GrMeshDrawTarget*\2c\20skgpu::ganesh::QuadPerEdgeAA::IndexBufferOption\29 +4127:skgpu::ganesh::PathTessellateOp::usesMSAA\28\29\20const +4128:skgpu::ganesh::PathTessellateOp::prepareTessellator\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +4129:skgpu::ganesh::PathTessellateOp::PathTessellateOp\28SkArenaAlloc*\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\2c\20SkRect\20const&\29 +4130:skgpu::ganesh::PathStencilCoverOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +4131:skgpu::ganesh::PathInnerTriangulateOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +4132:skgpu::ganesh::PathCurveTessellator::~PathCurveTessellator\28\29 +4133:skgpu::ganesh::PathCurveTessellator::prepareWithTriangles\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20GrTriangulator::BreadcrumbTriangleList*\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +4134:skgpu::ganesh::OpsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +4135:skgpu::ganesh::OpsTask::onExecute\28GrOpFlushState*\29 +4136:skgpu::ganesh::OpsTask::addOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +4137:skgpu::ganesh::OpsTask::addDrawOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +4138:skgpu::ganesh::OpsTask::OpsTask\28GrDrawingManager*\2c\20GrSurfaceProxyView\2c\20GrAuditTrail*\2c\20sk_sp\29 +4139:skgpu::ganesh::OpsTask::OpChain::tryConcat\28skgpu::ganesh::OpsTask::OpChain::List*\2c\20GrProcessorSet::Analysis\2c\20GrDstProxyView\20const&\2c\20GrAppliedClip\20const*\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrAuditTrail*\29 +4140:skgpu::ganesh::MakeFragmentProcessorFromView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +4141:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29 +4142:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29 +4143:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::NonAALatticeOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20std::__2::unique_ptr>\2c\20SkRect\20const&\29 +4144:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20GrAA\29 +4145:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::FillRRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29 +4146:skgpu::ganesh::DrawAtlasPathOp::prepareProgram\28GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +4147:skgpu::ganesh::Device::replaceBackingProxy\28SkSurface::ContentChangeMode\2c\20sk_sp\2c\20GrColorType\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +4148:skgpu::ganesh::Device::makeSpecial\28SkBitmap\20const&\29 +4149:skgpu::ganesh::Device::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +4150:skgpu::ganesh::Device::drawEdgeAAImage\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20SkTileMode\29 +4151:skgpu::ganesh::Device::discard\28\29 +4152:skgpu::ganesh::Device::android_utils_clipAsRgn\28SkRegion*\29\20const +4153:skgpu::ganesh::DefaultPathRenderer::internalDrawPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20bool\29 +4154:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +4155:skgpu::ganesh::CopyView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\2c\20std::__2::basic_string_view>\29 +4156:skgpu::ganesh::ClipStack::clipPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrAA\2c\20SkClipOp\29 +4157:skgpu::ganesh::ClipStack::SaveRecord::replaceWithElement\28skgpu::ganesh::ClipStack::RawElement&&\2c\20SkTBlockList*\29 +4158:skgpu::ganesh::ClipStack::SaveRecord::addElement\28skgpu::ganesh::ClipStack::RawElement&&\2c\20SkTBlockList*\29 +4159:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::Draw\20const&\29\20const +4160:skgpu::ganesh::AtlasTextOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +4161:skgpu::ganesh::AtlasTextOp::AtlasTextOp\28skgpu::ganesh::AtlasTextOp::MaskType\2c\20bool\2c\20int\2c\20SkRect\2c\20skgpu::ganesh::AtlasTextOp::Geometry*\2c\20GrColorInfo\20const&\2c\20GrPaint&&\29 +4162:skgpu::ganesh::AtlasRenderTask::stencilAtlasRect\28GrRecordingContext*\2c\20SkRect\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrUserStencilSettings\20const*\29 +4163:skgpu::ganesh::AtlasRenderTask::addPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIPoint\2c\20int\2c\20int\2c\20bool\2c\20SkIPoint16*\29 +4164:skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +4165:skgpu::ganesh::AtlasPathRenderer::addPathToAtlas\28GrRecordingContext*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRect\20const&\2c\20SkIRect*\2c\20SkIPoint16*\2c\20bool*\2c\20std::__2::function\20const&\29 +4166:skgpu::ganesh::AsFragmentProcessor\28GrRecordingContext*\2c\20SkImage\20const*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +4167:skgpu::TiledTextureUtils::OptimizeSampleArea\28SkISize\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkRect*\2c\20SkRect*\2c\20SkMatrix*\29 +4168:skgpu::TClientMappedBufferManager::process\28\29 +4169:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29 +4170:skgpu::RectanizerSkyline::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +4171:skgpu::Plot::Plot\28int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20SkColorType\2c\20unsigned\20long\29 +4172:skgpu::GetReducedBlendModeInfo\28SkBlendMode\29 +4173:skgpu::CreateIntegralTable\28int\29 +4174:skgpu::BlendFuncName\28SkBlendMode\29 +4175:skcms_private::baseline::exec_stages\28skcms_private::Op\20const*\2c\20void\20const**\2c\20char\20const*\2c\20char*\2c\20int\29 +4176:skcms_private::baseline::clut\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\29 +4177:skcms_ApproximatelyEqualProfiles +4178:sk_sp\20sk_make_sp\2c\20SkSurfaceProps\20const*&>\28SkImageInfo\20const&\2c\20sk_sp&&\2c\20SkSurfaceProps\20const*&\29 +4179:sk_sp*\20emscripten::internal::MemberAccess>::getWire\28sk_sp\20SkRuntimeEffect::TracedShader::*\20const&\2c\20SkRuntimeEffect::TracedShader\20const&\29 +4180:sk_fopen\28char\20const*\2c\20SkFILE_Flags\29 +4181:sk_fgetsize\28_IO_FILE*\29 +4182:sk_fclose\28_IO_FILE*\29 +4183:sk_error_fn\28png_struct_def*\2c\20char\20const*\29 +4184:setup_masks_arabic_plan\28arabic_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_script_t\29 +4185:set_khr_debug_label\28GrGLGpu*\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +4186:setThrew +4187:setCommonICUData\28UDataMemory*\2c\20signed\20char\2c\20UErrorCode*\29 +4188:serialize_image\28SkImage\20const*\2c\20SkSerialProcs\29 +4189:send_tree +4190:sect_with_vertical\28SkPoint\20const*\2c\20float\29 +4191:sect_with_horizontal\28SkPoint\20const*\2c\20float\29 +4192:scanexp +4193:scalbnl +4194:rewind_if_necessary\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +4195:resolveImplicitLevels\28UBiDi*\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +4196:reset_and_decode_image_config\28wuffs_gif__decoder__struct*\2c\20wuffs_base__image_config__struct*\2c\20wuffs_base__io_buffer__struct*\2c\20SkStream*\29 +4197:res_unload_74 +4198:res_countArrayItems_74 +4199:renderbuffer_storage_msaa\28GrGLGpu*\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +4200:recursive_edge_intersect\28GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20SkPoint*\2c\20double*\2c\20double*\29 +4201:reclassify_vertex\28TriangulationVertex*\2c\20SkPoint\20const*\2c\20int\2c\20ReflexHash*\2c\20SkTInternalLList*\29 +4202:quad_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4203:quad_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4204:quad_in_line\28SkPoint\20const*\29 +4205:psh_hint_table_init +4206:psh_hint_table_find_strong_points +4207:psh_hint_table_activate_mask +4208:psh_hint_align +4209:psh_glyph_interpolate_strong_points +4210:psh_glyph_interpolate_other_points +4211:psh_glyph_interpolate_normal_points +4212:psh_blues_set_zones +4213:ps_parser_load_field +4214:ps_dimension_end +4215:ps_dimension_done +4216:ps_builder_start_point +4217:printf_core +4218:premultiply_argb_as_rgba\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +4219:premultiply_argb_as_bgra\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +4220:position_cluster\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29 +4221:portable::uniform_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4222:portable::set_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4223:portable::memset64\28unsigned\20long\20long*\2c\20unsigned\20long\20long\2c\20int\29 +4224:portable::copy_from_indirect_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4225:portable::copy_2_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4226:portable::check_decal_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4227:pop_arg +4228:pntz +4229:png_inflate +4230:png_deflate_claim +4231:png_decompress_chunk +4232:png_cache_unknown_chunk +4233:operator==\28SkPaint\20const&\2c\20SkPaint\20const&\29 +4234:open_face +4235:openCommonData\28char\20const*\2c\20int\2c\20UErrorCode*\29 +4236:offsetTOCEntryCount\28UDataMemory\20const*\29 +4237:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::vertexStride\28SkMatrix\20const&\29\20const +4238:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4239:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4240:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +4241:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::glyphs\28\29\20const +4242:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +4243:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +4244:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +4245:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::size\28\29\20const +4246:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +4247:nearly_equal\28double\2c\20double\29 +4248:mbsrtowcs +4249:map_quad_general\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20SkMatrix\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +4250:make_tiled_gradient\28GrFPArgs\20const&\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20bool\2c\20bool\29 +4251:make_premul_effect\28std::__2::unique_ptr>\29 +4252:make_dual_interval_colorizer\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20float\29 +4253:make_clamped_gradient\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20bool\29 +4254:make_bmp_proxy\28GrProxyProvider*\2c\20SkBitmap\20const&\2c\20GrColorType\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +4255:longest_match +4256:long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +4257:long\20long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +4258:long\20double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +4259:load_post_names +4260:line_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4261:line_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4262:legalfunc$_embind_register_bigint +4263:jpeg_open_backing_store +4264:jpeg_destroy +4265:jpeg_alloc_huff_table +4266:jinit_upsampler +4267:isSpecialTypeCodepoints\28char\20const*\29 +4268:internal_memalign +4269:int\20icu_74::\28anonymous\20namespace\29::MixedBlocks::findBlock\28unsigned\20short\20const*\2c\20unsigned\20short\20const*\2c\20int\29\20const +4270:int\20icu_74::\28anonymous\20namespace\29::MixedBlocks::findBlock\28unsigned\20short\20const*\2c\20unsigned\20int\20const*\2c\20int\29\20const +4271:insertRootBundle\28UResourceDataEntry*&\2c\20UErrorCode*\29 +4272:initial_reordering_consonant_syllable\28hb_ot_shape_plan_t\20const*\2c\20hb_face_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +4273:init_error_limit +4274:init_block +4275:image_filter_color_type\28SkColorInfo\20const&\29 +4276:icu_74::set32x64Bits\28unsigned\20int*\2c\20int\2c\20int\29 +4277:icu_74::getExtName\28unsigned\20int\2c\20char*\2c\20unsigned\20short\29 +4278:icu_74::compareUnicodeString\28UElement\2c\20UElement\29 +4279:icu_74::cloneUnicodeString\28UElement*\2c\20UElement*\29 +4280:icu_74::\28anonymous\20namespace\29::mungeCharName\28char*\2c\20char\20const*\2c\20int\29 +4281:icu_74::\28anonymous\20namespace\29::MutableCodePointTrie::getDataBlock\28int\29 +4282:icu_74::XLikelySubtagsData::readLSREncodedStrings\28icu_74::ResourceTable\20const&\2c\20char\20const*\2c\20icu_74::ResourceValue&\2c\20icu_74::ResourceArray\20const&\2c\20icu_74::LocalMemory&\2c\20int&\2c\20UErrorCode&\29 +4283:icu_74::XLikelySubtags::~XLikelySubtags\28\29 +4284:icu_74::XLikelySubtags::initLikelySubtags\28UErrorCode&\29 +4285:icu_74::UnicodeString::setCharAt\28int\2c\20char16_t\29 +4286:icu_74::UnicodeString::indexOf\28char16_t\20const*\2c\20int\2c\20int\2c\20int\2c\20int\29\20const +4287:icu_74::UnicodeString::doReverse\28int\2c\20int\29 +4288:icu_74::UnicodeSetStringSpan::span\28char16_t\20const*\2c\20int\2c\20USetSpanCondition\29\20const +4289:icu_74::UnicodeSetStringSpan::spanUTF8\28unsigned\20char\20const*\2c\20int\2c\20USetSpanCondition\29\20const +4290:icu_74::UnicodeSetStringSpan::spanBack\28char16_t\20const*\2c\20int\2c\20USetSpanCondition\29\20const +4291:icu_74::UnicodeSetStringSpan::spanBackUTF8\28unsigned\20char\20const*\2c\20int\2c\20USetSpanCondition\29\20const +4292:icu_74::UnicodeSet::set\28int\2c\20int\29 +4293:icu_74::UnicodeSet::setPattern\28char16_t\20const*\2c\20int\29 +4294:icu_74::UnicodeSet::remove\28int\29 +4295:icu_74::UnicodeSet::removeAll\28icu_74::UnicodeSet\20const&\29 +4296:icu_74::UnicodeSet::matches\28icu_74::Replaceable\20const&\2c\20int&\2c\20int\2c\20signed\20char\29 +4297:icu_74::UnicodeSet::matchesIndexValue\28unsigned\20char\29\20const +4298:icu_74::UnicodeSet::clone\28\29\20const +4299:icu_74::UnicodeSet::cloneAsThawed\28\29\20const +4300:icu_74::UnicodeSet::applyPattern\28icu_74::RuleCharacterIterator&\2c\20icu_74::SymbolTable\20const*\2c\20icu_74::UnicodeString&\2c\20unsigned\20int\2c\20icu_74::UnicodeSet&\20\28icu_74::UnicodeSet::*\29\28int\29\2c\20int\2c\20UErrorCode&\29 +4301:icu_74::UnicodeSet::applyPatternIgnoreSpace\28icu_74::UnicodeString\20const&\2c\20icu_74::ParsePosition&\2c\20icu_74::SymbolTable\20const*\2c\20UErrorCode&\29 +4302:icu_74::UnicodeSet::add\28icu_74::UnicodeString\20const&\29 +4303:icu_74::UnicodeSet::addAll\28icu_74::UnicodeSet\20const&\29 +4304:icu_74::UnicodeSet::_generatePattern\28icu_74::UnicodeString&\2c\20signed\20char\29\20const +4305:icu_74::UnicodeSet::UnicodeSet\28int\2c\20int\29 +4306:icu_74::UVector::sortedInsert\28void*\2c\20int\20\28*\29\28UElement\2c\20UElement\29\2c\20UErrorCode&\29 +4307:icu_74::UVector::setElementAt\28void*\2c\20int\29 +4308:icu_74::UVector::assign\28icu_74::UVector\20const&\2c\20void\20\28*\29\28UElement*\2c\20UElement*\29\2c\20UErrorCode&\29 +4309:icu_74::UVector::UVector\28UErrorCode&\29 +4310:icu_74::UStringSet::~UStringSet\28\29.1 +4311:icu_74::UStringSet::~UStringSet\28\29 +4312:icu_74::UDataPathIterator::UDataPathIterator\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +4313:icu_74::UCharsTrieBuilder::build\28UStringTrieBuildOption\2c\20UErrorCode&\29 +4314:icu_74::UCharsTrieBuilder::UCharsTrieBuilder\28UErrorCode&\29 +4315:icu_74::UCharsTrie::nextForCodePoint\28int\29 +4316:icu_74::UCharsTrie::Iterator::next\28UErrorCode&\29 +4317:icu_74::UCharsTrie::Iterator::branchNext\28char16_t\20const*\2c\20int\2c\20UErrorCode&\29 +4318:icu_74::UCharCharacterIterator::setText\28icu_74::ConstChar16Ptr\2c\20int\29 +4319:icu_74::StringTrieBuilder::writeBranchSubNode\28int\2c\20int\2c\20int\2c\20int\29 +4320:icu_74::StringTrieBuilder::LinearMatchNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +4321:icu_74::StringTrieBuilder::LinearMatchNode::markRightEdgesFirst\28int\29 +4322:icu_74::RuleCharacterIterator::skipIgnored\28int\29 +4323:icu_74::RuleBasedBreakIterator::~RuleBasedBreakIterator\28\29 +4324:icu_74::RuleBasedBreakIterator::handleSafePrevious\28int\29 +4325:icu_74::RuleBasedBreakIterator::RuleBasedBreakIterator\28UErrorCode*\29 +4326:icu_74::RuleBasedBreakIterator::DictionaryCache::~DictionaryCache\28\29 +4327:icu_74::RuleBasedBreakIterator::DictionaryCache::populateDictionary\28int\2c\20int\2c\20int\2c\20int\29 +4328:icu_74::RuleBasedBreakIterator::BreakCache::seek\28int\29 +4329:icu_74::RuleBasedBreakIterator::BreakCache::current\28\29 +4330:icu_74::ResourceDataValue::getIntVector\28int&\2c\20UErrorCode&\29\20const +4331:icu_74::ReorderingBuffer::equals\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\29\20const +4332:icu_74::RBBIDataWrapper::removeReference\28\29 +4333:icu_74::PropNameData::getPropertyOrValueEnum\28int\2c\20char\20const*\29 +4334:icu_74::Normalizer2WithImpl::normalizeSecondAndAppend\28icu_74::UnicodeString&\2c\20icu_74::UnicodeString\20const&\2c\20signed\20char\2c\20UErrorCode&\29\20const +4335:icu_74::Normalizer2WithImpl::isNormalized\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +4336:icu_74::Normalizer2Impl::recompose\28icu_74::ReorderingBuffer&\2c\20int\2c\20signed\20char\29\20const +4337:icu_74::Normalizer2Impl::init\28int\20const*\2c\20UCPTrie\20const*\2c\20unsigned\20short\20const*\2c\20unsigned\20char\20const*\29 +4338:icu_74::Normalizer2Impl::findNextFCDBoundary\28char16_t\20const*\2c\20char16_t\20const*\29\20const +4339:icu_74::Normalizer2Impl::decomposeUTF8\28unsigned\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20icu_74::ByteSink*\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +4340:icu_74::Normalizer2Impl::composeUTF8\28unsigned\20int\2c\20signed\20char\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20icu_74::ByteSink*\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +4341:icu_74::Normalizer2Impl::composeQuickCheck\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20UNormalizationCheckResult*\29\20const +4342:icu_74::Normalizer2Factory::getNFKC_CFImpl\28UErrorCode&\29 +4343:icu_74::Normalizer2Factory::getInstance\28UNormalizationMode\2c\20UErrorCode&\29 +4344:icu_74::Normalizer2::getNFCInstance\28UErrorCode&\29 +4345:icu_74::NoopNormalizer2::normalizeSecondAndAppend\28icu_74::UnicodeString&\2c\20icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +4346:icu_74::NoopNormalizer2::isNormalized\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +4347:icu_74::MlBreakEngine::~MlBreakEngine\28\29 +4348:icu_74::LocaleUtility::canonicalLocaleString\28icu_74::UnicodeString\20const*\2c\20icu_74::UnicodeString&\29 +4349:icu_74::LocaleKeyFactory::LocaleKeyFactory\28int\29 +4350:icu_74::LocaleKey::LocaleKey\28icu_74::UnicodeString\20const&\2c\20icu_74::UnicodeString\20const&\2c\20icu_74::UnicodeString\20const*\2c\20int\29 +4351:icu_74::LocaleBuilder::build\28UErrorCode&\29 +4352:icu_74::LocaleBuilder::LocaleBuilder\28\29 +4353:icu_74::LocaleBased::setLocaleIDs\28char\20const*\2c\20char\20const*\29 +4354:icu_74::Locale::setKeywordValue\28char\20const*\2c\20char\20const*\2c\20UErrorCode&\29 +4355:icu_74::Locale::operator=\28icu_74::Locale&&\29 +4356:icu_74::Locale::operator==\28icu_74::Locale\20const&\29\20const +4357:icu_74::Locale::createKeywords\28UErrorCode&\29\20const +4358:icu_74::Locale::createFromName\28char\20const*\29 +4359:icu_74::LaoBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +4360:icu_74::LSR::operator=\28icu_74::LSR&&\29 +4361:icu_74::InitCanonIterData::doInit\28icu_74::Normalizer2Impl*\2c\20UErrorCode&\29 +4362:icu_74::ICU_Utility::shouldAlwaysBeEscaped\28int\29 +4363:icu_74::ICU_Utility::isUnprintable\28int\29 +4364:icu_74::ICU_Utility::escape\28icu_74::UnicodeString&\2c\20int\29 +4365:icu_74::ICUServiceKey::parseSuffix\28icu_74::UnicodeString&\29 +4366:icu_74::ICUService::~ICUService\28\29 +4367:icu_74::ICUService::getVisibleIDs\28icu_74::UVector&\2c\20UErrorCode&\29\20const +4368:icu_74::ICUService::clearServiceCache\28\29 +4369:icu_74::ICUNotifier::~ICUNotifier\28\29 +4370:icu_74::Hashtable::put\28icu_74::UnicodeString\20const&\2c\20void*\2c\20UErrorCode&\29 +4371:icu_74::DecomposeNormalizer2::hasBoundaryBefore\28int\29\20const +4372:icu_74::DecomposeNormalizer2::hasBoundaryAfter\28int\29\20const +4373:icu_74::CjkBreakEngine::~CjkBreakEngine\28\29 +4374:icu_74::CjkBreakEngine::CjkBreakEngine\28icu_74::DictionaryMatcher*\2c\20icu_74::LanguageType\2c\20UErrorCode&\29 +4375:icu_74::CharString::truncate\28int\29 +4376:icu_74::CharString::cloneData\28UErrorCode&\29\20const +4377:icu_74::CharString*\20icu_74::MemoryPool::create\28char\20const*&\2c\20UErrorCode&\29 +4378:icu_74::CharString*\20icu_74::MemoryPool::create<>\28\29 +4379:icu_74::CanonIterData::addToStartSet\28int\2c\20int\2c\20UErrorCode&\29 +4380:icu_74::BytesTrie::branchNext\28unsigned\20char\20const*\2c\20int\2c\20int\29 +4381:icu_74::ByteSinkUtil::appendCodePoint\28int\2c\20int\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\29 +4382:icu_74::BreakIterator::getLocale\28ULocDataLocaleType\2c\20UErrorCode&\29\20const +4383:icu_74::BreakIterator::getLocaleID\28ULocDataLocaleType\2c\20UErrorCode&\29\20const +4384:icu_74::BreakIterator::createCharacterInstance\28icu_74::Locale\20const&\2c\20UErrorCode&\29 +4385:hb_vector_t\2c\20false>::resize\28int\2c\20bool\2c\20bool\29 +4386:hb_vector_t\2c\20false>::resize\28int\2c\20bool\2c\20bool\29 +4387:hb_utf8_t::next\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20int*\2c\20unsigned\20int\29 +4388:hb_unicode_script +4389:hb_unicode_mirroring_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +4390:hb_unicode_funcs_t::is_default_ignorable\28unsigned\20int\29 +4391:hb_shape_plan_key_t::init\28bool\2c\20hb_face_t*\2c\20hb_segment_properties_t\20const*\2c\20hb_feature_t\20const*\2c\20unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20char\20const*\20const*\29 +4392:hb_shape_plan_create2 +4393:hb_serialize_context_t::fini\28\29 +4394:hb_sanitize_context_t::return_t\20AAT::ChainSubtable::dispatch\28hb_sanitize_context_t*\29\20const +4395:hb_sanitize_context_t::return_t\20AAT::ChainSubtable::dispatch\28hb_sanitize_context_t*\29\20const +4396:hb_paint_extents_paint_linear_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +4397:hb_paint_extents_get_funcs\28\29 +4398:hb_paint_extents_context_t::hb_paint_extents_context_t\28\29 +4399:hb_ot_map_t::fini\28\29 +4400:hb_ot_layout_table_select_script +4401:hb_ot_layout_table_get_lookup_count +4402:hb_ot_layout_table_find_feature_variations +4403:hb_ot_layout_table_find_feature\28hb_face_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +4404:hb_ot_layout_script_select_language +4405:hb_ot_layout_language_get_required_feature +4406:hb_ot_layout_language_find_feature +4407:hb_ot_layout_has_substitution +4408:hb_ot_layout_feature_with_variations_get_lookups +4409:hb_ot_layout_collect_features_map +4410:hb_ot_font_set_funcs +4411:hb_lazy_loader_t\2c\20hb_face_t\2c\2038u\2c\20OT::sbix_accelerator_t>::create\28hb_face_t*\29 +4412:hb_lazy_loader_t\2c\20hb_face_t\2c\207u\2c\20OT::post_accelerator_t>::get\28\29\20const +4413:hb_lazy_loader_t\2c\20hb_face_t\2c\2019u\2c\20hb_blob_t>::get\28\29\20const +4414:hb_lazy_loader_t\2c\20hb_face_t\2c\2035u\2c\20hb_blob_t>::get\28\29\20const +4415:hb_lazy_loader_t\2c\20hb_face_t\2c\2037u\2c\20OT::CBDT_accelerator_t>::get\28\29\20const +4416:hb_lazy_loader_t\2c\20hb_face_t\2c\2032u\2c\20hb_blob_t>::get\28\29\20const +4417:hb_lazy_loader_t\2c\20hb_face_t\2c\2028u\2c\20hb_blob_t>::get\28\29\20const +4418:hb_lazy_loader_t\2c\20hb_face_t\2c\2029u\2c\20hb_blob_t>::get\28\29\20const +4419:hb_language_matches +4420:hb_indic_get_categories\28unsigned\20int\29 +4421:hb_hashmap_t::fetch_item\28hb_serialize_context_t::object_t\20const*\20const&\2c\20unsigned\20int\29\20const +4422:hb_hashmap_t::alloc\28unsigned\20int\29 +4423:hb_font_t::get_glyph_v_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +4424:hb_font_set_variations +4425:hb_font_set_funcs +4426:hb_font_get_variation_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +4427:hb_font_get_glyph_h_advance +4428:hb_font_get_glyph_extents +4429:hb_font_get_font_h_extents_nil\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +4430:hb_font_funcs_set_variation_glyph_func +4431:hb_font_funcs_set_nominal_glyphs_func +4432:hb_font_funcs_set_nominal_glyph_func +4433:hb_font_funcs_set_glyph_h_advances_func +4434:hb_font_funcs_set_glyph_extents_func +4435:hb_font_funcs_create +4436:hb_draw_move_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +4437:hb_draw_funcs_set_quadratic_to_func +4438:hb_draw_funcs_set_move_to_func +4439:hb_draw_funcs_set_line_to_func +4440:hb_draw_funcs_set_cubic_to_func +4441:hb_draw_funcs_destroy +4442:hb_draw_funcs_create +4443:hb_draw_extents_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +4444:hb_buffer_t::sort\28unsigned\20int\2c\20unsigned\20int\2c\20int\20\28*\29\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29\29 +4445:hb_buffer_t::safe_to_insert_tatweel\28unsigned\20int\2c\20unsigned\20int\29 +4446:hb_buffer_t::output_info\28hb_glyph_info_t\20const&\29 +4447:hb_buffer_t::message_impl\28hb_font_t*\2c\20char\20const*\2c\20void*\29 +4448:hb_buffer_t::leave\28\29 +4449:hb_buffer_t::delete_glyphs_inplace\28bool\20\28*\29\28hb_glyph_info_t\20const*\29\29 +4450:hb_buffer_t::clear_positions\28\29 +4451:hb_buffer_set_length +4452:hb_buffer_get_glyph_positions +4453:hb_buffer_diff +4454:hb_buffer_create +4455:hb_buffer_clear_contents +4456:hb_buffer_add_utf8 +4457:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4458:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4459:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4460:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4461:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4462:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4463:hb_aat_layout_remove_deleted_glyphs\28hb_buffer_t*\29 +4464:hair_cubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkBlitter*\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +4465:getint +4466:get_win_string +4467:get_dst_swizzle_and_store\28GrColorType\2c\20SkRasterPipelineOp*\2c\20LumMode*\2c\20bool*\2c\20bool*\29 +4468:get_driver_and_version\28GrGLStandard\2c\20GrGLVendor\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +4469:getFallbackData\28UResourceBundle\20const*\2c\20char\20const**\2c\20unsigned\20int*\2c\20UErrorCode*\29 +4470:gen_key\28skgpu::KeyBuilder*\2c\20GrProgramInfo\20const&\2c\20GrCaps\20const&\29 +4471:gen_fp_key\28GrFragmentProcessor\20const&\2c\20GrCaps\20const&\2c\20skgpu::KeyBuilder*\29 +4472:gather_uniforms_and_check_for_main\28SkSL::Program\20const&\2c\20std::__2::vector>*\2c\20std::__2::vector>*\2c\20SkRuntimeEffect::Uniform::Flags\2c\20unsigned\20long*\29 +4473:fwrite +4474:ft_var_to_normalized +4475:ft_var_load_item_variation_store +4476:ft_var_load_hvvar +4477:ft_var_load_avar +4478:ft_var_get_value_pointer +4479:ft_var_apply_tuple +4480:ft_validator_init +4481:ft_mem_strcpyn +4482:ft_hash_num_lookup +4483:ft_glyphslot_set_bitmap +4484:ft_glyphslot_preset_bitmap +4485:ft_corner_orientation +4486:ft_corner_is_flat +4487:frexp +4488:free_entry\28UResourceDataEntry*\29 +4489:fread +4490:fp_force_eval +4491:fp_barrier.1 +4492:fopen +4493:fold_opacity_layer_color_to_paint\28SkPaint\20const*\2c\20bool\2c\20SkPaint*\29 +4494:fmodl +4495:float\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +4496:fill_shadow_rec\28SkPath\20const&\2c\20SkPoint3\20const&\2c\20SkPoint3\20const&\2c\20float\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkDrawShadowRec*\29 +4497:fill_inverse_cmap +4498:fileno +4499:examine_app0 +4500:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29\2c\20SkCanvas*\2c\20SkPath*\2c\20SkClipOp\2c\20bool\29 +4501:emscripten::internal::Invoker\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +4502:emscripten::internal::Invoker\2c\20SkBlendMode\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29\2c\20SkBlendMode\2c\20sk_sp*\2c\20sk_sp*\29 +4503:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\29 +4504:emscripten::internal::Invoker\2c\20SkBlendMode>::invoke\28sk_sp\20\28*\29\28SkBlendMode\29\2c\20SkBlendMode\29 +4505:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4506:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\29 +4507:emscripten::internal::FunctionInvoker\29\2c\20void\2c\20SkPaint&\2c\20unsigned\20long\2c\20sk_sp>::invoke\28void\20\28**\29\28SkPaint&\2c\20unsigned\20long\2c\20sk_sp\29\2c\20SkPaint*\2c\20unsigned\20long\2c\20sk_sp*\29 +4508:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29\2c\20SkCanvas*\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +4509:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +4510:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +4511:emscripten::internal::FunctionInvoker\20\28*\29\28SkCanvas&\2c\20SimpleImageInfo\29\2c\20sk_sp\2c\20SkCanvas&\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28**\29\28SkCanvas&\2c\20SimpleImageInfo\29\2c\20SkCanvas*\2c\20SimpleImageInfo*\29 +4512:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\29\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28**\29\28sk_sp\29\2c\20sk_sp*\29 +4513:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20SkPath\20const&\2c\20SkPathOp\29\2c\20SkPath*\2c\20SkPath*\2c\20SkPathOp\29 +4514:embind_init_builtin\28\29 +4515:embind_init_Skia\28\29 +4516:embind_init_Paragraph\28\29::$_0::__invoke\28SimpleParagraphStyle\2c\20sk_sp\29 +4517:embind_init_Paragraph\28\29 +4518:embind_init_ParagraphGen\28\29 +4519:edge_line_needs_recursion\28SkPoint\20const&\2c\20SkPoint\20const&\29 +4520:draw_nine\28SkMask\20const&\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\2c\20bool\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +4521:dquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4522:dquad_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4523:double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +4524:doOpenChoice\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20signed\20char\20\28*\29\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29\2c\20void*\2c\20UErrorCode*\29 +4525:dline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4526:dline_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4527:deserialize_image\28sk_sp\2c\20SkDeserialProcs\2c\20std::__2::optional\29 +4528:deflate_stored +4529:decompose_current_character\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\29 +4530:decltype\28std::__2::__unwrap_iter_impl\2c\20true>::__unwrap\28std::declval>\28\29\29\29\20std::__2::__unwrap_iter\5babi:v160004\5d\2c\20std::__2::__unwrap_iter_impl\2c\20true>\2c\200>\28std::__2::__wrap_iter\29 +4531:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::Make\28SkArenaAlloc*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4532:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&\2c\20skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathCurveTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4533:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4534:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker\2c\20int&>\28int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4535:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkShaderBase\20const&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTransformShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4536:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4537:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29>\28GrThreadSafeCache::Entry&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4538:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29::'lambda'\28void*\29>\28GrResourceAllocator::Register&&\29 +4539:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrRRectShadowGeoProc::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4540:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28GrQuadEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4541:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrPipeline::InitArgs&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29::'lambda'\28void*\29>\28GrPipeline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4542:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldA8TextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20float\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4543:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29>\28GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29&&\29 +4544:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28DefaultGeoProc::Make\28SkArenaAlloc*\2c\20unsigned\20int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29 +4545:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28CircleGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4546:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +4547:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>>::__generic_construct\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__ctor\2c\20std::__2::unique_ptr>>>&\2c\20std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&>\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&\29 +4548:dcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4549:dcubic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4550:dconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4551:dconic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4552:data_destroy_arabic\28void*\29 +4553:data_create_arabic\28hb_ot_shape_plan_t\20const*\29 +4554:cycle +4555:cubic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4556:cubic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4557:create_colorindex +4558:copysignl +4559:copy_bitmap_subset\28SkBitmap\20const&\2c\20SkIRect\20const&\29 +4560:conic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4561:conic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4562:compute_pos_tan\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +4563:compute_intersection\28OffsetSegment\20const&\2c\20OffsetSegment\20const&\2c\20SkPoint*\2c\20float*\2c\20float*\29 +4564:compress_block +4565:compose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +4566:clipHandlesSprite\28SkRasterClip\20const&\2c\20int\2c\20int\2c\20SkPixmap\20const&\29 +4567:clamp\28SkPoint\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Comparator\20const&\29 +4568:checkint +4569:check_inverse_on_empty_return\28SkRegion*\2c\20SkPath\20const&\2c\20SkRegion\20const&\29 +4570:charIterTextAccess\28UText*\2c\20long\20long\2c\20signed\20char\29 +4571:char*\20std::__2::copy\5babi:v160004\5d\2c\20char*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20char*\29 +4572:char*\20std::__2::copy\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29 +4573:cff_vstore_done +4574:cff_subfont_load +4575:cff_subfont_done +4576:cff_size_select +4577:cff_parser_run +4578:cff_make_private_dict +4579:cff_load_private_dict +4580:cff_index_get_name +4581:cff_get_kerning +4582:cff_blend_build_vector +4583:cf2_getSeacComponent +4584:cf2_computeDarkening +4585:cf2_arrstack_push +4586:cbrt +4587:byn$mgfn-shared$void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +4588:byn$mgfn-shared$void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +4589:byn$mgfn-shared$virtual\20thunk\20to\20GrRenderTarget::onRelease\28\29 +4590:byn$mgfn-shared$uloc_getName_74 +4591:byn$mgfn-shared$uhash_put_74 +4592:byn$mgfn-shared$ubidi_getClass_74 +4593:byn$mgfn-shared$t1_hints_open +4594:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +4595:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +4596:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +4597:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +4598:byn$mgfn-shared$std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +4599:byn$mgfn-shared$std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +4600:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +4601:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +4602:byn$mgfn-shared$std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +4603:byn$mgfn-shared$std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +4604:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4605:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4606:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4607:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::~Impl\28\29 +4608:byn$mgfn-shared$skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4609:byn$mgfn-shared$skgpu::ScratchKey::GenerateResourceType\28\29 +4610:byn$mgfn-shared$skcms_TransferFunction_isPQish +4611:byn$mgfn-shared$setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +4612:byn$mgfn-shared$portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4613:byn$mgfn-shared$portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4614:byn$mgfn-shared$portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4615:byn$mgfn-shared$portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4616:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4617:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4618:byn$mgfn-shared$make_unpremul_effect\28std::__2::unique_ptr>\29 +4619:byn$mgfn-shared$icu_74::isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +4620:byn$mgfn-shared$icu_74::ResourceDataValue::getIntVector\28int&\2c\20UErrorCode&\29\20const +4621:byn$mgfn-shared$hb_outline_recording_pen_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +4622:byn$mgfn-shared$hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +4623:byn$mgfn-shared$embind_init_Skia\28\29::$_75::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +4624:byn$mgfn-shared$embind_init_Skia\28\29::$_72::__invoke\28float\2c\20float\2c\20sk_sp\29 +4625:byn$mgfn-shared$embind_init_Skia\28\29::$_11::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +4626:byn$mgfn-shared$decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node\2c\20std::__2::function&\29>\2c\20skgpu::AtlasToken>\28std::__2::function&\29>&&\2c\20skgpu::AtlasToken&&\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4627:byn$mgfn-shared$decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +4628:byn$mgfn-shared$cf2_stack_pushInt +4629:byn$mgfn-shared$__cxx_global_array_dtor.1 +4630:byn$mgfn-shared$\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +4631:byn$mgfn-shared$\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4632:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4633:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4634:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +4635:byn$mgfn-shared$SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +4636:byn$mgfn-shared$SkSL::RP::UnownedLValueSlice::~UnownedLValueSlice\28\29 +4637:byn$mgfn-shared$SkSL::RP::LValue::~LValue\28\29.1 +4638:byn$mgfn-shared$SkSL::ProgramUsage::add\28SkSL::ProgramElement\20const&\29 +4639:byn$mgfn-shared$SkSL::ProgramUsage::add\28SkSL::Expression\20const*\29 +4640:byn$mgfn-shared$SkSL::FunctionReference::clone\28SkSL::Position\29\20const +4641:byn$mgfn-shared$SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +4642:byn$mgfn-shared$SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +4643:byn$mgfn-shared$SkSL::ChildCall::clone\28SkSL::Position\29\20const +4644:byn$mgfn-shared$SkRuntimeBlender::~SkRuntimeBlender\28\29.1 +4645:byn$mgfn-shared$SkRuntimeBlender::~SkRuntimeBlender\28\29 +4646:byn$mgfn-shared$SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +4647:byn$mgfn-shared$SkRecorder::onDrawPaint\28SkPaint\20const&\29 +4648:byn$mgfn-shared$SkRecorder::didScale\28float\2c\20float\29 +4649:byn$mgfn-shared$SkRecorder::didConcat44\28SkM44\20const&\29 +4650:byn$mgfn-shared$SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +4651:byn$mgfn-shared$SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +4652:byn$mgfn-shared$SkPictureRecord::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +4653:byn$mgfn-shared$SkPictureRecord::didConcat44\28SkM44\20const&\29 +4654:byn$mgfn-shared$SkPairPathEffect::~SkPairPathEffect\28\29.1 +4655:byn$mgfn-shared$SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +4656:byn$mgfn-shared$SkJSONWriter::endArray\28\29 +4657:byn$mgfn-shared$SkComposePathEffect::~SkComposePathEffect\28\29 +4658:byn$mgfn-shared$SkColorSpace::MakeSRGB\28\29 +4659:byn$mgfn-shared$SkChopMonoCubicAtY\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +4660:byn$mgfn-shared$OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +4661:byn$mgfn-shared$GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4662:byn$mgfn-shared$GrPathTessellationShader::Impl::~Impl\28\29 +4663:byn$mgfn-shared$GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29.1 +4664:byn$mgfn-shared$GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29 +4665:byn$mgfn-shared$GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::clone\28\29\20const +4666:byn$mgfn-shared$GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29.1 +4667:byn$mgfn-shared$GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +4668:byn$mgfn-shared$GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29.1 +4669:byn$mgfn-shared$GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29 +4670:byn$mgfn-shared$GrBicubicEffect::onMakeProgramImpl\28\29\20const +4671:byn$mgfn-shared$Cr_z_inflate_table +4672:byn$mgfn-shared$BlendFragmentProcessor::onMakeProgramImpl\28\29\20const +4673:byn$mgfn-shared$AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +4674:build_ycc_rgb_table +4675:bracketProcessChar\28BracketData*\2c\20int\29 +4676:bracketInit\28UBiDi*\2c\20BracketData*\29 +4677:bool\20std::__2::operator==\5babi:v160004\5d\28std::__2::unique_ptr\20const&\2c\20std::nullptr_t\29 +4678:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::variant\20const&\2c\20std::__2::variant\20const&\29 +4679:bool\20std::__2::__insertion_sort_incomplete\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +4680:bool\20std::__2::__insertion_sort_incomplete<\28anonymous\20namespace\29::EntryComparator&\2c\20\28anonymous\20namespace\29::Entry*>\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +4681:bool\20std::__2::__insertion_sort_incomplete\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +4682:bool\20std::__2::__insertion_sort_incomplete\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +4683:bool\20is_parallel\28SkDLine\20const&\2c\20SkTCurve\20const&\29 +4684:bool\20hb_hashmap_t::set_with_hash\28hb_serialize_context_t::object_t*&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool\29 +4685:bool\20apply_string\28OT::hb_ot_apply_context_t*\2c\20GSUBProxy::Lookup\20const&\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\29 +4686:bool\20OT::hb_accelerate_subtables_context_t::cache_func_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\2c\20bool\29 +4687:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4688:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4689:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4690:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4691:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4692:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4693:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4694:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4695:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4696:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4697:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4698:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4699:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4700:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4701:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4702:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4703:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4704:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4705:bool\20OT::OffsetTo\2c\20true>::serialize_serialize\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&>\28hb_serialize_context_t*\2c\20hb_map_iter_t\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&\29 +4706:bool\20GrTTopoSort_Visit\28GrRenderTask*\2c\20unsigned\20int*\29 +4707:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +4708:blend_line\28SkColorType\2c\20void*\2c\20SkColorType\2c\20void\20const*\2c\20SkAlphaType\2c\20bool\2c\20int\29 +4709:bits_to_runs\28SkBlitter*\2c\20int\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\2c\20long\2c\20unsigned\20char\29 +4710:barycentric_coords\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +4711:auto\20std::__2::__unwrap_range\5babi:v160004\5d\2c\20std::__2::__wrap_iter>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +4712:atanf +4713:apply_forward\28OT::hb_ot_apply_context_t*\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\2c\20unsigned\20int\29 +4714:apply_alpha_and_colorfilter\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20SkPaint\20const&\29 +4715:append_multitexture_lookup\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20int\2c\20GrGLSLVarying\20const&\2c\20char\20const*\2c\20char\20const*\29 +4716:append_color_output\28PorterDuffXferProcessor\20const&\2c\20GrGLSLXPFragmentBuilder*\2c\20skgpu::BlendFormula::OutputType\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +4717:af_loader_compute_darkening +4718:af_latin_metrics_scale_dim +4719:af_latin_hints_detect_features +4720:af_latin_hint_edges +4721:af_hint_normal_stem +4722:af_cjk_metrics_scale_dim +4723:af_cjk_metrics_scale +4724:af_cjk_metrics_init_widths +4725:af_cjk_metrics_check_digits +4726:af_cjk_hints_init +4727:af_cjk_hints_detect_features +4728:af_cjk_hints_compute_blue_edges +4729:af_cjk_hints_apply +4730:af_cjk_hint_edges +4731:af_cjk_get_standard_widths +4732:af_axis_hints_new_edge +4733:adler32 +4734:a_ctz_32 +4735:_uhash_remove\28UHashtable*\2c\20UElement\29 +4736:_uhash_rehash\28UHashtable*\2c\20UErrorCode*\29 +4737:_uhash_put\28UHashtable*\2c\20UElement\2c\20UElement\2c\20signed\20char\2c\20UErrorCode*\29 +4738:_uhash_create\28int\20\28*\29\28UElement\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20int\2c\20UErrorCode*\29 +4739:_iup_worker_interpolate +4740:_isUnicodeExtensionSubtag\28int&\2c\20char\20const*\2c\20int\29 +4741:_isTransformedExtensionSubtag\28int&\2c\20char\20const*\2c\20int\29 +4742:_hb_preprocess_text_vowel_constraints\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +4743:_hb_ot_shape +4744:_hb_options_init\28\29 +4745:_hb_grapheme_group_func\28hb_glyph_info_t\20const&\2c\20hb_glyph_info_t\20const&\29 +4746:_hb_font_create\28hb_face_t*\29 +4747:_hb_fallback_shape +4748:_glyf_get_advance_with_var_unscaled\28hb_font_t*\2c\20unsigned\20int\2c\20bool\29 +4749:__vfprintf_internal +4750:__trunctfsf2 +4751:__tan +4752:__rem_pio2_large +4753:__overflow +4754:__newlocale +4755:__munmap +4756:__mmap +4757:__math_xflowf +4758:__math_invalidf +4759:__loc_is_allocated +4760:__isxdigit_l +4761:__getf2 +4762:__get_locale +4763:__ftello_unlocked +4764:__fstatat +4765:__fseeko_unlocked +4766:__floatscan +4767:__expo2 +4768:__divtf3 +4769:__cxxabiv1::__base_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +4770:\28anonymous\20namespace\29::write_text_tag\28char\20const*\29 +4771:\28anonymous\20namespace\29::write_mAB_or_mBA_tag\28unsigned\20int\2c\20skcms_Curve\20const*\2c\20skcms_Curve\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20skcms_Curve\20const*\2c\20skcms_Matrix3x4\20const*\29 +4772:\28anonymous\20namespace\29::set_uv_quad\28SkPoint\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +4773:\28anonymous\20namespace\29::safe_to_ignore_subset_rect\28GrAAType\2c\20SkFilterMode\2c\20DrawQuad\20const&\2c\20SkRect\20const&\29 +4774:\28anonymous\20namespace\29::prepare_for_direct_mask_drawing\28SkStrike*\2c\20SkMatrix\20const&\2c\20SkZip\2c\20SkZip\2c\20SkZip\29 +4775:\28anonymous\20namespace\29::morphology_pass\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20\28anonymous\20namespace\29::MorphType\2c\20\28anonymous\20namespace\29::MorphDirection\2c\20int\29 +4776:\28anonymous\20namespace\29::make_non_convex_fill_op\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20skgpu::ganesh::FillPathFlags\2c\20GrAAType\2c\20SkRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\29 +4777:\28anonymous\20namespace\29::is_newer_better\28SkData*\2c\20SkData*\29 +4778:\28anonymous\20namespace\29::get_glyph_run_intercepts\28sktext::GlyphRun\20const&\2c\20SkPaint\20const&\2c\20float\20const*\2c\20float*\2c\20int*\29 +4779:\28anonymous\20namespace\29::get_cicp_trfn\28skcms_TransferFunction\20const&\29 +4780:\28anonymous\20namespace\29::get_cicp_primaries\28skcms_Matrix3x3\20const&\29 +4781:\28anonymous\20namespace\29::getStringArray\28ResourceData\20const*\2c\20icu_74::ResourceArray\20const&\2c\20icu_74::UnicodeString*\2c\20int\2c\20UErrorCode&\29 +4782:\28anonymous\20namespace\29::getInclusionsForSource\28UPropertySource\2c\20UErrorCode&\29 +4783:\28anonymous\20namespace\29::draw_to_sw_mask\28GrSWMaskHelper*\2c\20skgpu::ganesh::ClipStack::Element\20const&\2c\20bool\29 +4784:\28anonymous\20namespace\29::determine_clipped_src_rect\28SkIRect\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkISize\20const&\2c\20SkRect\20const*\29 +4785:\28anonymous\20namespace\29::create_hb_face\28SkTypeface\20const&\29::$_0::__invoke\28void*\29 +4786:\28anonymous\20namespace\29::cpu_blur\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20sk_sp\20const&\2c\20skif::LayerSpace\2c\20skif::LayerSpace\29::$_0::operator\28\29\28double\29\20const +4787:\28anonymous\20namespace\29::copyFTBitmap\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\29 +4788:\28anonymous\20namespace\29::colrv1_start_glyph\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20unsigned\20short\2c\20FT_Color_Root_Transform_\2c\20skia_private::THashSet*\29 +4789:\28anonymous\20namespace\29::colrv1_draw_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\29 +4790:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29 +4791:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29 +4792:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29 +4793:\28anonymous\20namespace\29::TriangulatingPathOp::TriangulatingPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +4794:\28anonymous\20namespace\29::TriangulatingPathOp::Triangulate\28GrEagerVertexAllocator*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool*\29 +4795:\28anonymous\20namespace\29::TriangulatingPathOp::CreateKey\28skgpu::UniqueKey*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\29 +4796:\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4797:\28anonymous\20namespace\29::TextureOpImpl::propagateCoverageAAThroughoutChain\28\29 +4798:\28anonymous\20namespace\29::TextureOpImpl::characterize\28\28anonymous\20namespace\29::TextureOpImpl::Desc*\29\20const +4799:\28anonymous\20namespace\29::TextureOpImpl::appendQuad\28DrawQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\29 +4800:\28anonymous\20namespace\29::TextureOpImpl::Make\28GrRecordingContext*\2c\20GrTextureSetEntry*\2c\20int\2c\20int\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20GrAAType\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +4801:\28anonymous\20namespace\29::TextureOpImpl::FillInVertices\28GrCaps\20const&\2c\20\28anonymous\20namespace\29::TextureOpImpl*\2c\20\28anonymous\20namespace\29::TextureOpImpl::Desc*\2c\20char*\29 +4802:\28anonymous\20namespace\29::SpotVerticesFactory::makeVertices\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint*\29\20const +4803:\28anonymous\20namespace\29::SkImageImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +4804:\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4805:\28anonymous\20namespace\29::RunIteratorQueue::advanceRuns\28\29 +4806:\28anonymous\20namespace\29::Pass::blur\28int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +4807:\28anonymous\20namespace\29::MipLevelHelper::allocAndInit\28SkArenaAlloc*\2c\20SkSamplingOptions\20const&\2c\20SkTileMode\2c\20SkTileMode\29 +4808:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29 +4809:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20sk_sp\2c\20GrPrimitiveType\20const*\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +4810:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMesh\20const&\2c\20skia_private::TArray>\2c\20true>\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +4811:\28anonymous\20namespace\29::MeshOp::Mesh::Mesh\28SkMesh\20const&\29 +4812:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29 +4813:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29 +4814:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineStruct\28char\20const*\29 +4815:\28anonymous\20namespace\29::FillRectOpImpl::tessellate\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29\20const +4816:\28anonymous\20namespace\29::FillRectOpImpl::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +4817:\28anonymous\20namespace\29::FillRectOpImpl::FillRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +4818:\28anonymous\20namespace\29::EllipticalRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRRect\20const&\29 +4819:\28anonymous\20namespace\29::DrawAtlasOpImpl::DrawAtlasOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrAAType\2c\20int\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\29 +4820:\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4821:\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4822:\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4823:\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +4824:\28anonymous\20namespace\29::DefaultPathOp::programInfo\28\29 +4825:\28anonymous\20namespace\29::DefaultPathOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +4826:\28anonymous\20namespace\29::DefaultPathOp::DefaultPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +4827:\28anonymous\20namespace\29::ClipGeometry\20\28anonymous\20namespace\29::get_clip_geometry\28skgpu::ganesh::ClipStack::SaveRecord\20const&\2c\20skgpu::ganesh::ClipStack::Draw\20const&\29 +4828:\28anonymous\20namespace\29::CircularRRectEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +4829:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29 +4830:\28anonymous\20namespace\29::CachedTessellations::CachedTessellations\28\29 +4831:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29 +4832:\28anonymous\20namespace\29::AAHairlineOp::AAHairlineOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIRect\2c\20float\2c\20GrUserStencilSettings\20const*\29 +4833:WebPResetDecParams +4834:WebPRescalerGetScaledDimensions +4835:WebPMultRows +4836:WebPMultARGBRows +4837:WebPIoInitFromOptions +4838:WebPInitUpsamplers +4839:WebPFlipBuffer +4840:WebPDemuxGetChunk +4841:WebPCopyDecBufferPixels +4842:WebPAllocateDecBuffer +4843:VP8RemapBitReader +4844:VP8LHuffmanTablesAllocate +4845:VP8LDspInit +4846:VP8LConvertFromBGRA +4847:VP8LColorCacheInit +4848:VP8LColorCacheCopy +4849:VP8LBuildHuffmanTable +4850:VP8LBitReaderSetBuffer +4851:VP8InitScanline +4852:VP8GetInfo +4853:VP8BitReaderSetBuffer +4854:Update_Max +4855:TransformOne_C +4856:TT_Set_Named_Instance +4857:TT_Hint_Glyph +4858:StoreFrame +4859:SortContourList\28SkOpContourHead**\2c\20bool\2c\20bool\29 +4860:SkYUVAPixmapInfo::isSupported\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\29\20const +4861:SkWuffsCodec::seekFrame\28int\29 +4862:SkWuffsCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +4863:SkWuffsCodec::onIncrementalDecodeTwoPass\28\29 +4864:SkWuffsCodec::decodeFrameConfig\28\29 +4865:SkWriter32::writeString\28char\20const*\2c\20unsigned\20long\29 +4866:SkWriteICCProfile\28skcms_ICCProfile\20const*\2c\20char\20const*\29 +4867:SkWebpDecoder::IsWebp\28void\20const*\2c\20unsigned\20long\29 +4868:SkWebpCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +4869:SkWbmpDecoder::IsWbmp\28void\20const*\2c\20unsigned\20long\29 +4870:SkWbmpCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +4871:SkWStream::SizeOfPackedUInt\28unsigned\20long\29 +4872:SkWBuffer::padToAlign4\28\29 +4873:SkVertices::Builder::indices\28\29 +4874:SkUnicode_icu::extractWords\28unsigned\20short*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +4875:SkUnicode::convertUtf16ToUtf8\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4876:SkUTF::NextUTF16\28unsigned\20short\20const**\2c\20unsigned\20short\20const*\29 +4877:SkTypeface_FreeType::FaceRec::Make\28SkTypeface_FreeType\20const*\29 +4878:SkTypeface_Custom::onGetFamilyName\28SkString*\29\20const +4879:SkTypeface::textToGlyphs\28void\20const*\2c\20unsigned\20long\2c\20SkTextEncoding\2c\20unsigned\20short*\2c\20int\29\20const +4880:SkTypeface::serialize\28SkWStream*\2c\20SkTypeface::SerializeBehavior\29\20const +4881:SkTypeface::openStream\28int*\29\20const +4882:SkTypeface::getFamilyName\28SkString*\29\20const +4883:SkTransformShader::update\28SkMatrix\20const&\29 +4884:SkTransformShader::SkTransformShader\28SkShaderBase\20const&\2c\20bool\29 +4885:SkTiff::ImageFileDirectory::getEntryRawData\28unsigned\20short\2c\20unsigned\20short*\2c\20unsigned\20short*\2c\20unsigned\20int*\2c\20unsigned\20char\20const**\2c\20unsigned\20long*\29\20const +4886:SkTextBlobBuilder::allocRunPos\28SkFont\20const&\2c\20int\2c\20SkRect\20const*\29 +4887:SkTextBlob::getIntercepts\28float\20const*\2c\20float*\2c\20SkPaint\20const*\29\20const +4888:SkTextBlob::RunRecord::StorageSize\28unsigned\20int\2c\20unsigned\20int\2c\20SkTextBlob::GlyphPositioning\2c\20SkSafeMath*\29 +4889:SkTextBlob::MakeFromText\28void\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20SkTextEncoding\29 +4890:SkTextBlob::MakeFromRSXform\28void\20const*\2c\20unsigned\20long\2c\20SkRSXform\20const*\2c\20SkFont\20const&\2c\20SkTextEncoding\29 +4891:SkTextBlob::Iter::experimentalNext\28SkTextBlob::Iter::ExperimentalRun*\29 +4892:SkTextBlob::Iter::Iter\28SkTextBlob\20const&\29 +4893:SkTaskGroup::wait\28\29 +4894:SkTaskGroup::add\28std::__2::function\29 +4895:SkTSpan::onlyEndPointsInCommon\28SkTSpan\20const*\2c\20bool*\2c\20bool*\2c\20bool*\29 +4896:SkTSpan::linearIntersects\28SkTCurve\20const&\29\20const +4897:SkTSect::removeAllBut\28SkTSpan\20const*\2c\20SkTSpan*\2c\20SkTSect*\29 +4898:SkTSect::intersects\28SkTSpan*\2c\20SkTSect*\2c\20SkTSpan*\2c\20int*\29 +4899:SkTSect::deleteEmptySpans\28\29 +4900:SkTSect::addSplitAt\28SkTSpan*\2c\20double\29 +4901:SkTSect::addForPerp\28SkTSpan*\2c\20double\29 +4902:SkTSect::EndsEqual\28SkTSect\20const*\2c\20SkTSect\20const*\2c\20SkIntersections*\29 +4903:SkTMultiMap::~SkTMultiMap\28\29 +4904:SkTMaskGamma<3\2c\203\2c\203>::SkTMaskGamma\28float\2c\20float\29 +4905:SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::find\28SkImageFilterCacheKey\20const&\29\20const +4906:SkTDStorage::calculateSizeOrDie\28int\29::$_1::operator\28\29\28\29\20const +4907:SkTDStorage::SkTDStorage\28SkTDStorage&&\29 +4908:SkTCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +4909:SkTConic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +4910:SkTConic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +4911:SkTConic::controlsInside\28\29\20const +4912:SkTConic::collapsed\28\29\20const +4913:SkTBlockList::reset\28\29 +4914:SkTBlockList::reset\28\29 +4915:SkTBlockList::push_back\28GrGLProgramDataManager::GLUniformInfo\20const&\29 +4916:SkSwizzler::MakeSimple\28int\2c\20SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +4917:SkSurfaces::WrapPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkSurfaceProps\20const*\29 +4918:SkSurface_Base::outstandingImageSnapshot\28\29\20const +4919:SkSurface_Base::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +4920:SkSurface_Base::onCapabilities\28\29 +4921:SkStrokeRec::setHairlineStyle\28\29 +4922:SkStrokeRec::SkStrokeRec\28SkPaint\20const&\2c\20SkPaint::Style\2c\20float\29 +4923:SkStrokeRec::GetInflationRadius\28SkPaint::Join\2c\20float\2c\20SkPaint::Cap\2c\20float\29 +4924:SkString::insertHex\28unsigned\20long\2c\20unsigned\20int\2c\20int\29 +4925:SkString::appendVAList\28char\20const*\2c\20void*\29 +4926:SkString::SkString\28std::__2::basic_string_view>\29 +4927:SkStrikeSpec::SkStrikeSpec\28SkStrikeSpec\20const&\29 +4928:SkStrikeSpec::ShouldDrawAsPath\28SkPaint\20const&\2c\20SkFont\20const&\2c\20SkMatrix\20const&\29 +4929:SkStrSplit\28char\20const*\2c\20char\20const*\2c\20SkStrSplitMode\2c\20skia_private::TArray*\29 +4930:SkStrAppendS32\28char*\2c\20int\29 +4931:SkSpriteBlitter_Memcpy::~SkSpriteBlitter_Memcpy\28\29 +4932:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +4933:SkSpecialImages::AsBitmap\28SkSpecialImage\20const*\2c\20SkBitmap*\29 +4934:SkSharedMutex::releaseShared\28\29 +4935:SkShapers::unicode::BidiRunIterator\28sk_sp\2c\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20char\29 +4936:SkShapers::HB::ScriptRunIterator\28char\20const*\2c\20unsigned\20long\29 +4937:SkShaper::MakeStdLanguageRunIterator\28char\20const*\2c\20unsigned\20long\29 +4938:SkShaders::MatrixRec::concat\28SkMatrix\20const&\29\20const +4939:SkShaders::Blend\28sk_sp\2c\20sk_sp\2c\20sk_sp\29 +4940:SkShaderUtils::VisitLineByLine\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::function\20const&\29 +4941:SkShaderUtils::PrettyPrint\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4942:SkShaderUtils::GLSLPrettyPrint::parseUntil\28char\20const*\29 +4943:SkShaderUtils::GLSLPrettyPrint::hasToken\28char\20const*\29 +4944:SkShaderBlurAlgorithm::renderBlur\28SkRuntimeShaderBuilder*\2c\20SkFilterMode\2c\20SkISize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +4945:SkShaderBlurAlgorithm::evalBlur1D\28float\2c\20int\2c\20SkV2\2c\20sk_sp\2c\20SkIRect\2c\20SkTileMode\2c\20SkIRect\29\20const +4946:SkShaderBlurAlgorithm::Compute2DBlurOffsets\28SkISize\2c\20std::__2::array&\29 +4947:SkShaderBlurAlgorithm::Compute2DBlurKernel\28SkSize\2c\20SkISize\2c\20std::__2::array&\29 +4948:SkShaderBlurAlgorithm::Compute1DBlurLinearKernel\28float\2c\20int\2c\20std::__2::array&\29 +4949:SkShaderBase::getFlattenableType\28\29\20const +4950:SkShaderBase::asLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +4951:SkShader::makeWithColorFilter\28sk_sp\29\20const +4952:SkScan::PathRequiresTiling\28SkIRect\20const&\29 +4953:SkScan::HairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +4954:SkScan::AntiFrameRect\28SkRect\20const&\2c\20SkPoint\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4955:SkScan::AntiFillXRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4956:SkScan::AntiFillRect\28SkRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4957:SkScan::AAAFillPath\28SkPath\20const&\2c\20SkBlitter*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20bool\29 +4958:SkScalerContext_FreeType::updateGlyphBoundsIfSubpixel\28SkGlyph\20const&\2c\20SkRect*\2c\20bool\29 +4959:SkScalerContext_FreeType::shouldSubpixelBitmap\28SkGlyph\20const&\2c\20SkMatrix\20const&\29 +4960:SkScalerContextRec::getSingleMatrix\28SkMatrix*\29\20const +4961:SkScalerContextFTUtils::drawCOLRv1Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +4962:SkScalerContextFTUtils::drawCOLRv0Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +4963:SkScalerContext::internalMakeGlyph\28SkPackedGlyphID\2c\20SkMask::Format\2c\20SkArenaAlloc*\29 +4964:SkScalerContext::internalGetPath\28SkGlyph&\2c\20SkArenaAlloc*\29 +4965:SkScalerContext::getFontMetrics\28SkFontMetrics*\29 +4966:SkScalerContext::SkScalerContext\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +4967:SkScalerContext::PreprocessRec\28SkTypeface\20const&\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const&\29 +4968:SkScalerContext::MakeRecAndEffects\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\2c\20SkScalerContextRec*\2c\20SkScalerContextEffects*\29 +4969:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +4970:SkScalerContext::GetMaskPreBlend\28SkScalerContextRec\20const&\29 +4971:SkScalerContext::AutoDescriptorGivenRecAndEffects\28SkScalerContextRec\20const&\2c\20SkScalerContextEffects\20const&\2c\20SkAutoDescriptor*\29 +4972:SkSampledCodec::sampledDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +4973:SkSampledCodec::accountForNativeScaling\28int*\2c\20int*\29\20const +4974:SkSampledCodec::SkSampledCodec\28SkCodec*\29 +4975:SkSL::zero_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\29 +4976:SkSL::type_to_sksltype\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSLType*\29 +4977:SkSL::stoi\28std::__2::basic_string_view>\2c\20long\20long*\29 +4978:SkSL::splat_scalar\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +4979:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_2::operator\28\29\28int\29\20const +4980:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_1::operator\28\29\28int\29\20const +4981:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +4982:SkSL::negate_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +4983:SkSL::make_reciprocal_expression\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29 +4984:SkSL::index_out_of_range\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20long\20long\2c\20SkSL::Expression\20const&\29 +4985:SkSL::get_struct_definitions_from_module\28SkSL::Program&\2c\20SkSL::Module\20const&\2c\20std::__2::vector>*\29 +4986:SkSL::find_existing_declaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20SkSL::IntrinsicKind\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray>\2c\20true>&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration**\29::$_0::operator\28\29\28\29\20const +4987:SkSL::extract_matrix\28SkSL::Expression\20const*\2c\20float*\29 +4988:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +4989:SkSL::check_main_signature\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20skia_private::TArray>\2c\20true>&\29::$_4::operator\28\29\28int\29\20const +4990:SkSL::\28anonymous\20namespace\29::check_valid_uniform_type\28SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Context\20const&\2c\20bool\29::$_0::operator\28\29\28\29\20const +4991:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +4992:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +4993:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +4994:SkSL::VariableReference::setRefKind\28SkSL::VariableRefKind\29 +4995:SkSL::Variable::setVarDeclaration\28SkSL::VarDeclaration*\29 +4996:SkSL::Variable::setGlobalVarDeclaration\28SkSL::GlobalVarDeclaration*\29 +4997:SkSL::Variable::globalVarDeclaration\28\29\20const +4998:SkSL::Variable::Make\28SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20std::__2::basic_string_view>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20bool\2c\20SkSL::VariableStorage\29 +4999:SkSL::Variable::MakeScratchVariable\28SkSL::Context\20const&\2c\20SkSL::Mangler&\2c\20std::__2::basic_string_view>\2c\20SkSL::Type\20const*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>\29 +5000:SkSL::VarDeclaration::Make\28SkSL::Context\20const&\2c\20SkSL::Variable*\2c\20SkSL::Type\20const*\2c\20int\2c\20std::__2::unique_ptr>\29 +5001:SkSL::VarDeclaration::ErrorCheck\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Type\20const*\2c\20SkSL::VariableStorage\29 +5002:SkSL::TypeReference::description\28SkSL::OperatorPrecedence\29\20const +5003:SkSL::TypeReference::VerifyType\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Position\29 +5004:SkSL::TypeReference::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\29 +5005:SkSL::Type::MakeStructType\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20bool\29 +5006:SkSL::Type::MakeLiteralType\28char\20const*\2c\20SkSL::Type\20const&\2c\20signed\20char\29 +5007:SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::addDeclaringElement\28SkSL::ProgramElement\20const*\29 +5008:SkSL::ToGLSL\28SkSL::Program&\2c\20SkSL::ShaderCaps\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\29 +5009:SkSL::TernaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5010:SkSL::SymbolTable::insertNewParent\28\29 +5011:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Symbol*\29 +5012:SkSL::Swizzle::MaskString\28skia_private::FixedArray<4\2c\20signed\20char>\20const&\29 +5013:SkSL::SwitchStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5014:SkSL::SwitchCase::Make\28SkSL::Position\2c\20long\20long\2c\20std::__2::unique_ptr>\29 +5015:SkSL::SwitchCase::MakeDefault\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +5016:SkSL::StructType::StructType\28SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20int\2c\20bool\2c\20bool\29 +5017:SkSL::String::vappendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20void*\29 +5018:SkSL::SingleArgumentConstructor::argumentSpan\28\29 +5019:SkSL::RP::stack_usage\28SkSL::RP::Instruction\20const&\29 +5020:SkSL::RP::UnownedLValueSlice::isWritable\28\29\20const +5021:SkSL::RP::UnownedLValueSlice::dynamicSlotRange\28\29 +5022:SkSL::RP::ScratchLValue::~ScratchLValue\28\29 +5023:SkSL::RP::Program::~Program\28\29 +5024:SkSL::RP::LValue::swizzle\28\29 +5025:SkSL::RP::Generator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\29 +5026:SkSL::RP::Generator::writeFunction\28SkSL::IRNode\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSpan>\20const>\29 +5027:SkSL::RP::Generator::storeImmutableValueToSlots\28skia_private::TArray\20const&\2c\20SkSL::RP::SlotRange\29 +5028:SkSL::RP::Generator::pushVariableReferencePartial\28SkSL::VariableReference\20const&\2c\20SkSL::RP::SlotRange\29 +5029:SkSL::RP::Generator::pushPrefixExpression\28SkSL::Operator\2c\20SkSL::Expression\20const&\29 +5030:SkSL::RP::Generator::pushIntrinsic\28SkSL::IntrinsicKind\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +5031:SkSL::RP::Generator::pushImmutableData\28SkSL::Expression\20const&\29 +5032:SkSL::RP::Generator::pushAbsFloatIntrinsic\28int\29 +5033:SkSL::RP::Generator::getImmutableValueForExpression\28SkSL::Expression\20const&\2c\20skia_private::TArray*\29 +5034:SkSL::RP::Generator::foldWithMultiOp\28SkSL::RP::BuilderOp\2c\20int\29 +5035:SkSL::RP::Generator::findPreexistingImmutableData\28skia_private::TArray\20const&\29 +5036:SkSL::RP::Builder::push_slots_or_immutable_indirect\28SkSL::RP::SlotRange\2c\20int\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::BuilderOp\29 +5037:SkSL::RP::Builder::push_condition_mask\28\29 +5038:SkSL::RP::Builder::pad_stack\28int\29 +5039:SkSL::RP::Builder::copy_stack_to_slots\28SkSL::RP::SlotRange\2c\20int\29 +5040:SkSL::RP::Builder::branch_if_any_lanes_active\28int\29 +5041:SkSL::ProgramVisitor::visit\28SkSL::Program\20const&\29 +5042:SkSL::ProgramUsage::remove\28SkSL::Expression\20const*\29 +5043:SkSL::ProgramUsage::add\28SkSL::Statement\20const*\29 +5044:SkSL::ProgramUsage::add\28SkSL::Expression\20const*\29 +5045:SkSL::Pool::attachToThread\28\29 +5046:SkSL::PipelineStage::PipelineStageCodeGenerator::functionName\28SkSL::FunctionDeclaration\20const&\29 +5047:SkSL::PipelineStage::PipelineStageCodeGenerator::functionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +5048:SkSL::Parser::~Parser\28\29 +5049:SkSL::Parser::varDeclarations\28\29 +5050:SkSL::Parser::varDeclarationsOrExpressionStatement\28\29 +5051:SkSL::Parser::switchCaseBody\28SkSL::ExpressionArray*\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>*\2c\20std::__2::unique_ptr>\29 +5052:SkSL::Parser::statementOrNop\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +5053:SkSL::Parser::shiftExpression\28\29 +5054:SkSL::Parser::relationalExpression\28\29 +5055:SkSL::Parser::parameter\28std::__2::unique_ptr>*\29 +5056:SkSL::Parser::multiplicativeExpression\28\29 +5057:SkSL::Parser::logicalXorExpression\28\29 +5058:SkSL::Parser::logicalAndExpression\28\29 +5059:SkSL::Parser::localVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +5060:SkSL::Parser::intLiteral\28long\20long*\29 +5061:SkSL::Parser::globalVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +5062:SkSL::Parser::equalityExpression\28\29 +5063:SkSL::Parser::directive\28bool\29 +5064:SkSL::Parser::declarations\28\29 +5065:SkSL::Parser::checkNext\28SkSL::Token::Kind\2c\20SkSL::Token*\29 +5066:SkSL::Parser::bitwiseXorExpression\28\29 +5067:SkSL::Parser::bitwiseOrExpression\28\29 +5068:SkSL::Parser::bitwiseAndExpression\28\29 +5069:SkSL::Parser::additiveExpression\28\29 +5070:SkSL::Parser::Parser\28SkSL::Compiler*\2c\20SkSL::ProgramSettings\20const&\2c\20SkSL::ProgramKind\2c\20std::__2::unique_ptr\2c\20std::__2::allocator>\2c\20std::__2::default_delete\2c\20std::__2::allocator>>>\29 +5071:SkSL::MultiArgumentConstructor::argumentSpan\28\29 +5072:SkSL::ModuleLoader::~ModuleLoader\28\29 +5073:SkSL::ModuleLoader::loadVertexModule\28SkSL::Compiler*\29 +5074:SkSL::ModuleLoader::loadSharedModule\28SkSL::Compiler*\29 +5075:SkSL::ModuleLoader::loadPublicModule\28SkSL::Compiler*\29 +5076:SkSL::ModuleLoader::loadGraphiteVertexModule\28SkSL::Compiler*\29 +5077:SkSL::ModuleLoader::loadGraphiteFragmentModule\28SkSL::Compiler*\29 +5078:SkSL::ModuleLoader::loadFragmentModule\28SkSL::Compiler*\29 +5079:SkSL::ModuleLoader::Get\28\29 +5080:SkSL::MatrixType::bitWidth\28\29\20const +5081:SkSL::MakeRasterPipelineProgram\28SkSL::Program\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSL::DebugTracePriv*\2c\20bool\29 +5082:SkSL::Layout::description\28\29\20const +5083:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_length\28std::__2::array\20const&\29 +5084:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_add\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +5085:SkSL::InterfaceBlock::~InterfaceBlock\28\29 +5086:SkSL::Inliner::candidateCanBeInlined\28SkSL::InlineCandidate\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20skia_private::THashMap*\29 +5087:SkSL::IfStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5088:SkSL::GLSLCodeGenerator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\2c\20bool\29 +5089:SkSL::GLSLCodeGenerator::writeProgramElement\28SkSL::ProgramElement\20const&\29 +5090:SkSL::GLSLCodeGenerator::writeMinAbsHack\28SkSL::Expression&\2c\20SkSL::Expression&\29 +5091:SkSL::GLSLCodeGenerator::generateCode\28\29 +5092:SkSL::FunctionDefinition::~FunctionDefinition\28\29.1 +5093:SkSL::FunctionDefinition::~FunctionDefinition\28\29 +5094:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::visitStatementPtr\28std::__2::unique_ptr>&\29 +5095:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::addLocalVariable\28SkSL::Variable\20const*\2c\20SkSL::Position\29 +5096:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29.1 +5097:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29 +5098:SkSL::FunctionDeclaration::mangledName\28\29\20const +5099:SkSL::FunctionDeclaration::determineFinalTypes\28SkSL::ExpressionArray\20const&\2c\20skia_private::STArray<8\2c\20SkSL::Type\20const*\2c\20true>*\2c\20SkSL::Type\20const**\29\20const +5100:SkSL::FunctionDeclaration::FunctionDeclaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20SkSL::Type\20const*\2c\20SkSL::IntrinsicKind\29 +5101:SkSL::FunctionCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +5102:SkSL::FunctionCall::FindBestFunctionForCall\28SkSL::Context\20const&\2c\20SkSL::FunctionDeclaration\20const*\2c\20SkSL::ExpressionArray\20const&\29 +5103:SkSL::FunctionCall::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +5104:SkSL::ForStatement::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5105:SkSL::FindIntrinsicKind\28std::__2::basic_string_view>\29 +5106:SkSL::FieldAccess::~FieldAccess\28\29.1 +5107:SkSL::FieldAccess::~FieldAccess\28\29 +5108:SkSL::ExpressionStatement::Convert\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +5109:SkSL::DoStatement::~DoStatement\28\29.1 +5110:SkSL::DoStatement::~DoStatement\28\29 +5111:SkSL::DebugTracePriv::setSource\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +5112:SkSL::ConstructorScalarCast::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +5113:SkSL::ConstructorMatrixResize::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +5114:SkSL::Constructor::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +5115:SkSL::ConstantFolder::Simplify\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +5116:SkSL::Compiler::writeErrorCount\28\29 +5117:SkSL::Compiler::initializeContext\28SkSL::Module\20const*\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\2c\20std::__2::basic_string_view>\2c\20bool\29 +5118:SkSL::Compiler::cleanupContext\28\29 +5119:SkSL::ChildCall::~ChildCall\28\29.1 +5120:SkSL::ChildCall::~ChildCall\28\29 +5121:SkSL::ChildCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Variable\20const&\2c\20SkSL::ExpressionArray\29 +5122:SkSL::BinaryExpression::isAssignmentIntoVariable\28\29 +5123:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\2c\20SkSL::Type\20const*\29 +5124:SkSL::Analysis::\28anonymous\20namespace\29::LoopControlFlowVisitor::visitStatement\28SkSL::Statement\20const&\29 +5125:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29 +5126:SkSL::Analysis::IsConstantExpression\28SkSL::Expression\20const&\29 +5127:SkSL::Analysis::IsAssignable\28SkSL::Expression&\2c\20SkSL::Analysis::AssignmentInfo*\2c\20SkSL::ErrorReporter*\29 +5128:SkSL::Analysis::GetLoopUnrollInfo\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\20const&\2c\20SkSL::Statement\20const*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Expression\20const*\2c\20SkSL::Statement\20const*\2c\20SkSL::ErrorReporter*\29 +5129:SkSL::Analysis::GetLoopControlFlowInfo\28SkSL::Statement\20const&\29 +5130:SkSL::AliasType::numberKind\28\29\20const +5131:SkSL::AliasType::isAllowedInES2\28\29\20const +5132:SkRuntimeShader::~SkRuntimeShader\28\29 +5133:SkRuntimeEffectPriv::WriteChildEffects\28SkWriteBuffer&\2c\20SkSpan\29 +5134:SkRuntimeEffectPriv::TransformUniforms\28SkSpan\2c\20sk_sp\2c\20SkColorSpaceXformSteps\20const&\29 +5135:SkRuntimeEffect::~SkRuntimeEffect\28\29 +5136:SkRuntimeEffect::makeShader\28sk_sp\2c\20sk_sp*\2c\20unsigned\20long\2c\20SkMatrix\20const*\29\20const +5137:SkRuntimeEffect::makeColorFilter\28sk_sp\2c\20SkSpan\29\20const +5138:SkRuntimeEffect::TracedShader*\20emscripten::internal::raw_constructor\28\29 +5139:SkRuntimeEffect::MakeInternal\28std::__2::unique_ptr>\2c\20SkRuntimeEffect::Options\20const&\2c\20SkSL::ProgramKind\29 +5140:SkRuntimeEffect::ChildPtr&\20skia_private::TArray::emplace_back&>\28sk_sp&\29 +5141:SkRuntimeBlender::flatten\28SkWriteBuffer&\29\20const +5142:SkRgnBuilder::~SkRgnBuilder\28\29 +5143:SkResourceCache::PostPurgeSharedID\28unsigned\20long\20long\29 +5144:SkResourceCache::GetDiscardableFactory\28\29 +5145:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::rowBytes\28int\29\20const +5146:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +5147:SkRegion::Spanerator::Spanerator\28SkRegion\20const&\2c\20int\2c\20int\2c\20int\29 +5148:SkRegion::Oper\28SkRegion\20const&\2c\20SkRegion\20const&\2c\20SkRegion::Op\2c\20SkRegion*\29 +5149:SkRefCntSet::~SkRefCntSet\28\29 +5150:SkRefCntBase::internal_dispose\28\29\20const +5151:SkReduceOrder::reduce\28SkDQuad\20const&\29 +5152:SkReduceOrder::Conic\28SkConic\20const&\2c\20SkPoint*\29 +5153:SkRectClipBlitter::requestRowsPreserved\28\29\20const +5154:SkRectClipBlitter::allocBlitMemory\28unsigned\20long\29 +5155:SkRect::intersect\28SkRect\20const&\2c\20SkRect\20const&\29 +5156:SkRecords::TypedMatrix::TypedMatrix\28SkMatrix\20const&\29 +5157:SkRecords::FillBounds::popSaveBlock\28\29 +5158:SkRecordOptimize\28SkRecord*\29 +5159:SkRecordFillBounds\28SkRect\20const&\2c\20SkRecord\20const&\2c\20SkRect*\2c\20SkBBoxHierarchy::Metadata*\29 +5160:SkRecord::bytesUsed\28\29\20const +5161:SkReadPixelsRec::trim\28int\2c\20int\29 +5162:SkReadBuffer::readString\28unsigned\20long*\29 +5163:SkReadBuffer::readRegion\28SkRegion*\29 +5164:SkReadBuffer::readRect\28\29 +5165:SkReadBuffer::readPoint3\28SkPoint3*\29 +5166:SkReadBuffer::readPad32\28void*\2c\20unsigned\20long\29 +5167:SkRasterPipeline_<256ul>::SkRasterPipeline_\28\29 +5168:SkRasterPipeline::tailPointer\28\29 +5169:SkRasterPipeline::appendSetRGB\28SkArenaAlloc*\2c\20float\20const*\29 +5170:SkRasterPipeline::addMemoryContext\28SkRasterPipeline_MemoryCtx*\2c\20int\2c\20bool\2c\20bool\29 +5171:SkRasterClipStack::SkRasterClipStack\28int\2c\20int\29 +5172:SkRTreeFactory::operator\28\29\28\29\20const +5173:SkRTree::search\28SkRTree::Node*\2c\20SkRect\20const&\2c\20std::__2::vector>*\29\20const +5174:SkRTree::bulkLoad\28std::__2::vector>*\2c\20int\29 +5175:SkRTree::allocateNodeAtLevel\28unsigned\20short\29 +5176:SkRSXform::toQuad\28float\2c\20float\2c\20SkPoint*\29\20const +5177:SkRRect::isValid\28\29\20const +5178:SkRRect::computeType\28\29 +5179:SkRGBA4f<\28SkAlphaType\292>\20skgpu::Swizzle::applyTo<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\29\20const +5180:SkRBuffer::skipToAlign4\28\29 +5181:SkQuads::EvalAt\28double\2c\20double\2c\20double\2c\20double\29 +5182:SkQuadraticEdge::setQuadraticWithoutUpdate\28SkPoint\20const*\2c\20int\29 +5183:SkPtrSet::reset\28\29 +5184:SkPtrSet::copyToArray\28void**\29\20const +5185:SkPtrSet::add\28void*\29 +5186:SkPoint::Normalize\28SkPoint*\29 +5187:SkPngEncoder::Make\28SkWStream*\2c\20SkPixmap\20const&\2c\20SkPngEncoder::Options\20const&\29 +5188:SkPngEncoder::Encode\28GrDirectContext*\2c\20SkImage\20const*\2c\20SkPngEncoder::Options\20const&\29 +5189:SkPngCodec::initializeXforms\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +5190:SkPngCodec::initializeSwizzler\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20bool\29 +5191:SkPngCodec::allocateStorage\28SkImageInfo\20const&\29 +5192:SkPixmapUtils::Orient\28SkPixmap\20const&\2c\20SkPixmap\20const&\2c\20SkEncodedOrigin\29 +5193:SkPixmap::erase\28unsigned\20int\2c\20SkIRect\20const&\29\20const +5194:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const +5195:SkPixelRef::getGenerationID\28\29\20const +5196:SkPixelRef::addGenIDChangeListener\28sk_sp\29 +5197:SkPixelRef::SkPixelRef\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +5198:SkPictureShader::CachedImageInfo::makeImage\28sk_sp\2c\20SkPicture\20const*\29\20const +5199:SkPictureShader::CachedImageInfo::Make\28SkRect\20const&\2c\20SkMatrix\20const&\2c\20SkColorType\2c\20SkColorSpace*\2c\20int\2c\20SkSurfaceProps\20const&\29 +5200:SkPictureRecord::endRecording\28\29 +5201:SkPictureRecord::beginRecording\28\29 +5202:SkPicturePriv::Flatten\28sk_sp\2c\20SkWriteBuffer&\29 +5203:SkPicturePlayback::draw\28SkCanvas*\2c\20SkPicture::AbortCallback*\2c\20SkReadBuffer*\29 +5204:SkPictureData::parseBufferTag\28SkReadBuffer&\2c\20unsigned\20int\2c\20unsigned\20int\29 +5205:SkPictureData::getPicture\28SkReadBuffer*\29\20const +5206:SkPictureData::getDrawable\28SkReadBuffer*\29\20const +5207:SkPictureData::flatten\28SkWriteBuffer&\29\20const +5208:SkPictureData::flattenToBuffer\28SkWriteBuffer&\2c\20bool\29\20const +5209:SkPictureData::SkPictureData\28SkPictureRecord\20const&\2c\20SkPictInfo\20const&\29 +5210:SkPicture::backport\28\29\20const +5211:SkPicture::SkPicture\28\29 +5212:SkPicture::MakeFromStreamPriv\28SkStream*\2c\20SkDeserialProcs\20const*\2c\20SkTypefacePlayback*\2c\20int\29 +5213:SkPerlinNoiseShader::getPaintingData\28\29\20const +5214:SkPathWriter::assemble\28\29 +5215:SkPathWriter::SkPathWriter\28SkPath&\29 +5216:SkPathRef::resetToSize\28int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5217:SkPathRef::SkPathRef\28SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20unsigned\20int\29 +5218:SkPathPriv::IsNestedFillRects\28SkPath\20const&\2c\20SkRect*\2c\20SkPathDirection*\29 +5219:SkPathPriv::CreateDrawArcPath\28SkPath*\2c\20SkArc\20const&\2c\20bool\29 +5220:SkPathEffectBase::PointData::~PointData\28\29 +5221:SkPathEffect::filterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +5222:SkPathBuilder::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +5223:SkPath::writeToMemoryAsRRect\28void*\29\20const +5224:SkPath::setLastPt\28float\2c\20float\29 +5225:SkPath::reverseAddPath\28SkPath\20const&\29 +5226:SkPath::readFromMemory\28void\20const*\2c\20unsigned\20long\29 +5227:SkPath::offset\28float\2c\20float\2c\20SkPath*\29\20const +5228:SkPath::isZeroLengthSincePoint\28int\29\20const +5229:SkPath::isRRect\28SkRRect*\29\20const +5230:SkPath::isOval\28SkRect*\29\20const +5231:SkPath::conservativelyContainsRect\28SkRect\20const&\29\20const +5232:SkPath::computeConvexity\28\29\20const +5233:SkPath::addPath\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath::AddPathMode\29 +5234:SkPath::Polygon\28SkPoint\20const*\2c\20int\2c\20bool\2c\20SkPathFillType\2c\20bool\29 +5235:SkPath2DPathEffect::Make\28SkMatrix\20const&\2c\20SkPath\20const&\29 +5236:SkParsePath::ToSVGString\28SkPath\20const&\2c\20SkParsePath::PathEncoding\29::$_0::operator\28\29\28char\2c\20SkPoint\20const*\2c\20unsigned\20long\29\20const +5237:SkParseEncodedOrigin\28void\20const*\2c\20unsigned\20long\2c\20SkEncodedOrigin*\29 +5238:SkPaintPriv::ShouldDither\28SkPaint\20const&\2c\20SkColorType\29 +5239:SkPaintPriv::Overwrites\28SkPaint\20const*\2c\20SkPaintPriv::ShaderOverrideOpacity\29 +5240:SkPaint::setStroke\28bool\29 +5241:SkPaint::reset\28\29 +5242:SkPaint::refColorFilter\28\29\20const +5243:SkOpSpanBase::merge\28SkOpSpan*\29 +5244:SkOpSpanBase::globalState\28\29\20const +5245:SkOpSpan::sortableTop\28SkOpContour*\29 +5246:SkOpSpan::release\28SkOpPtT\20const*\29 +5247:SkOpSpan::insertCoincidence\28SkOpSegment\20const*\2c\20bool\2c\20bool\29 +5248:SkOpSpan::init\28SkOpSegment*\2c\20SkOpSpan*\2c\20double\2c\20SkPoint\20const&\29 +5249:SkOpSegment::updateWindingReverse\28SkOpAngle\20const*\29 +5250:SkOpSegment::oppXor\28\29\20const +5251:SkOpSegment::moveMultiples\28\29 +5252:SkOpSegment::isXor\28\29\20const +5253:SkOpSegment::findNextWinding\28SkTDArray*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +5254:SkOpSegment::findNextOp\28SkTDArray*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\2c\20bool*\2c\20SkPathOp\2c\20int\2c\20int\29 +5255:SkOpSegment::computeSum\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpAngle::IncludeType\29 +5256:SkOpSegment::collapsed\28double\2c\20double\29\20const +5257:SkOpSegment::addExpanded\28double\2c\20SkOpSpanBase\20const*\2c\20bool*\29 +5258:SkOpSegment::activeAngle\28SkOpSpanBase*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +5259:SkOpSegment::UseInnerWinding\28int\2c\20int\29 +5260:SkOpPtT::ptAlreadySeen\28SkOpPtT\20const*\29\20const +5261:SkOpPtT::contains\28SkOpSegment\20const*\2c\20double\29\20const +5262:SkOpGlobalState::SkOpGlobalState\28SkOpContourHead*\2c\20SkArenaAlloc*\29 +5263:SkOpEdgeBuilder::preFetch\28\29 +5264:SkOpEdgeBuilder::init\28\29 +5265:SkOpEdgeBuilder::finish\28\29 +5266:SkOpContourBuilder::addConic\28SkPoint*\2c\20float\29 +5267:SkOpContour::addQuad\28SkPoint*\29 +5268:SkOpContour::addCubic\28SkPoint*\29 +5269:SkOpContour::addConic\28SkPoint*\2c\20float\29 +5270:SkOpCoincidence::release\28SkOpSegment\20const*\29 +5271:SkOpCoincidence::mark\28\29 +5272:SkOpCoincidence::markCollapsed\28SkCoincidentSpans*\2c\20SkOpPtT*\29 +5273:SkOpCoincidence::fixUp\28SkCoincidentSpans*\2c\20SkOpPtT*\2c\20SkOpPtT\20const*\29 +5274:SkOpCoincidence::contains\28SkCoincidentSpans\20const*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\29\20const +5275:SkOpCoincidence::checkOverlap\28SkCoincidentSpans*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20SkTDArray*\29\20const +5276:SkOpCoincidence::addOrOverlap\28SkOpSegment*\2c\20SkOpSegment*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20bool*\29 +5277:SkOpAngle::tangentsDiverge\28SkOpAngle\20const*\2c\20double\29 +5278:SkOpAngle::setSpans\28\29 +5279:SkOpAngle::setSector\28\29 +5280:SkOpAngle::previous\28\29\20const +5281:SkOpAngle::midToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +5282:SkOpAngle::loopCount\28\29\20const +5283:SkOpAngle::loopContains\28SkOpAngle\20const*\29\20const +5284:SkOpAngle::lastMarked\28\29\20const +5285:SkOpAngle::endToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +5286:SkOpAngle::alignmentSameSide\28SkOpAngle\20const*\2c\20int*\29\20const +5287:SkOpAngle::after\28SkOpAngle*\29 +5288:SkOffsetSimplePolygon\28SkPoint\20const*\2c\20int\2c\20SkRect\20const&\2c\20float\2c\20SkTDArray*\2c\20SkTDArray*\29 +5289:SkNoDrawCanvas::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +5290:SkNoDrawCanvas::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +5291:SkMipmapBuilder::countLevels\28\29\20const +5292:SkMipmap::countLevels\28\29\20const +5293:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +5294:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +5295:SkMeshPriv::CpuBuffer::size\28\29\20const +5296:SkMeshPriv::CpuBuffer::peek\28\29\20const +5297:SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +5298:SkMatrix::setRotate\28float\2c\20float\2c\20float\29 +5299:SkMatrix::mapRectScaleTranslate\28SkRect*\2c\20SkRect\20const&\29\20const +5300:SkMatrix::isFinite\28\29\20const +5301:SkMatrix::RotTrans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +5302:SkMaskSwizzler::swizzle\28void*\2c\20unsigned\20char\20const*\29 +5303:SkMaskFilterBase::NinePatch::~NinePatch\28\29 +5304:SkMask::computeTotalImageSize\28\29\20const +5305:SkMakeResourceCacheSharedIDForBitmap\28unsigned\20int\29 +5306:SkMD5::finish\28\29 +5307:SkMD5::SkMD5\28\29 +5308:SkMD5::Digest::toHexString\28\29\20const +5309:SkM44::preTranslate\28float\2c\20float\2c\20float\29 +5310:SkM44::postTranslate\28float\2c\20float\2c\20float\29 +5311:SkLocalMatrixShader::type\28\29\20const +5312:SkLinearColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +5313:SkLineParameters::cubicEndPoints\28SkDCubic\20const&\29 +5314:SkLatticeIter::SkLatticeIter\28SkCanvas::Lattice\20const&\2c\20SkRect\20const&\29 +5315:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::~SkLRUCache\28\29 +5316:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::reset\28\29 +5317:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::insert\28GrProgramDesc\20const&\2c\20std::__2::unique_ptr>\29 +5318:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_matrix_conv_effect\28SkKnownRuntimeEffects::\28anonymous\20namespace\29::MatrixConvolutionImpl\2c\20SkRuntimeEffect::Options\20const&\29::$_0::operator\28\29\28int\2c\20SkRuntimeEffect::Options\20const&\29\20const +5319:SkJpegMetadataDecoderImpl::SkJpegMetadataDecoderImpl\28std::__2::vector>\29 +5320:SkJpegDecoder::IsJpeg\28void\20const*\2c\20unsigned\20long\29 +5321:SkJpegCodec::readRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20SkCodec::Options\20const&\29 +5322:SkJpegCodec::initializeSwizzler\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20bool\29 +5323:SkIsSimplePolygon\28SkPoint\20const*\2c\20int\29 +5324:SkIsConvexPolygon\28SkPoint\20const*\2c\20int\29 +5325:SkInvert4x4Matrix\28float\20const*\2c\20float*\29 +5326:SkInvert3x3Matrix\28float\20const*\2c\20float*\29 +5327:SkInvert2x2Matrix\28float\20const*\2c\20float*\29 +5328:SkIntersections::vertical\28SkDQuad\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5329:SkIntersections::vertical\28SkDLine\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5330:SkIntersections::vertical\28SkDCubic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5331:SkIntersections::vertical\28SkDConic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5332:SkIntersections::mostOutside\28double\2c\20double\2c\20SkDPoint\20const&\29\20const +5333:SkIntersections::intersect\28SkDQuad\20const&\2c\20SkDLine\20const&\29 +5334:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDQuad\20const&\29 +5335:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDLine\20const&\29 +5336:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDConic\20const&\29 +5337:SkIntersections::intersect\28SkDConic\20const&\2c\20SkDQuad\20const&\29 +5338:SkIntersections::intersect\28SkDConic\20const&\2c\20SkDLine\20const&\29 +5339:SkIntersections::insertCoincident\28double\2c\20double\2c\20SkDPoint\20const&\29 +5340:SkIntersections::horizontal\28SkDQuad\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5341:SkIntersections::horizontal\28SkDLine\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5342:SkIntersections::horizontal\28SkDCubic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5343:SkIntersections::horizontal\28SkDConic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5344:SkImages::RasterFromPixmap\28SkPixmap\20const&\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +5345:SkImages::RasterFromData\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\29 +5346:SkImages::DeferredFromGenerator\28std::__2::unique_ptr>\29 +5347:SkImage_Raster::onPeekMips\28\29\20const +5348:SkImage_Lazy::~SkImage_Lazy\28\29.1 +5349:SkImage_Lazy::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +5350:SkImage_GaneshBase::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +5351:SkImage_Base::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +5352:SkImage_Base::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +5353:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_1::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +5354:SkImageInfo::validRowBytes\28unsigned\20long\29\20const +5355:SkImageInfo::MakeN32Premul\28int\2c\20int\29 +5356:SkImageGenerator::~SkImageGenerator\28\29.1 +5357:SkImageFilters::ColorFilter\28sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +5358:SkImageFilter_Base::getCTMCapability\28\29\20const +5359:SkImageFilterCache::Get\28SkImageFilterCache::CreateIfNecessary\29 +5360:SkImageFilter::computeFastBounds\28SkRect\20const&\29\20const +5361:SkImage::withMipmaps\28sk_sp\29\20const +5362:SkImage::peekPixels\28SkPixmap*\29\20const +5363:SkImage::height\28\29\20const +5364:SkIcuBreakIteratorCache::purgeIfNeeded\28\29 +5365:SkIcoDecoder::IsIco\28void\20const*\2c\20unsigned\20long\29 +5366:SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +5367:SkGradientBaseShader::~SkGradientBaseShader\28\29 +5368:SkGradientBaseShader::AppendGradientFillStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const*\2c\20float\20const*\2c\20int\29 +5369:SkGlyphRunListPainterCPU::SkGlyphRunListPainterCPU\28SkSurfaceProps\20const&\2c\20SkColorType\2c\20SkColorSpace*\29 +5370:SkGlyph::setImage\28SkArenaAlloc*\2c\20SkScalerContext*\29 +5371:SkGlyph::setDrawable\28SkArenaAlloc*\2c\20SkScalerContext*\29 +5372:SkGlyph::pathIsHairline\28\29\20const +5373:SkGlyph::mask\28SkPoint\29\20const +5374:SkGlyph::SkGlyph\28SkGlyph&&\29 +5375:SkGifDecoder::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::SelectionPolicy\2c\20SkCodec::Result*\29 +5376:SkGifDecoder::IsGif\28void\20const*\2c\20unsigned\20long\29 +5377:SkGenerateDistanceFieldFromA8Image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20unsigned\20long\29 +5378:SkGaussFilter::SkGaussFilter\28double\29 +5379:SkFrameHolder::setAlphaAndRequiredFrame\28SkFrame*\29 +5380:SkFrame::fillIn\28SkCodec::FrameInfo*\2c\20bool\29\20const +5381:SkFontStyleSet_Custom::appendTypeface\28sk_sp\29 +5382:SkFontStyleSet_Custom::SkFontStyleSet_Custom\28SkString\29 +5383:SkFontScanner_FreeType::scanInstance\28SkStreamAsset*\2c\20int\2c\20int\2c\20SkString*\2c\20SkFontStyle*\2c\20bool*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29\20const +5384:SkFontScanner_FreeType::computeAxisValues\28skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>\2c\20SkFontArguments::VariationPosition\2c\20int*\2c\20SkString\20const&\2c\20SkFontStyle*\2c\20SkFontArguments::VariationPosition::Coordinate\20const*\29 +5385:SkFontScanner_FreeType::SkFontScanner_FreeType\28\29 +5386:SkFontPriv::GetFontBounds\28SkFont\20const&\29 +5387:SkFontMgr::matchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +5388:SkFontMgr::makeFromStream\28std::__2::unique_ptr>\2c\20int\29\20const +5389:SkFontMgr::makeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29\20const +5390:SkFontMgr::legacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +5391:SkFontDescriptor::SkFontStyleWidthForWidthAxisValue\28float\29 +5392:SkFontDescriptor::SkFontDescriptor\28\29 +5393:SkFont::setupForAsPaths\28SkPaint*\29 +5394:SkFont::setSkewX\28float\29 +5395:SkFont::setLinearMetrics\28bool\29 +5396:SkFont::setEmbolden\28bool\29 +5397:SkFont::operator==\28SkFont\20const&\29\20const +5398:SkFont::getPaths\28unsigned\20short\20const*\2c\20int\2c\20void\20\28*\29\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29\2c\20void*\29\20const +5399:SkFlattenable::RegisterFlattenablesIfNeeded\28\29 +5400:SkFlattenable::PrivateInitializer::InitEffects\28\29 +5401:SkFlattenable::NameToFactory\28char\20const*\29 +5402:SkFlattenable::FactoryToName\28sk_sp\20\28*\29\28SkReadBuffer&\29\29 +5403:SkFindQuadExtrema\28float\2c\20float\2c\20float\2c\20float*\29 +5404:SkFindCubicExtrema\28float\2c\20float\2c\20float\2c\20float\2c\20float*\29 +5405:SkFactorySet::~SkFactorySet\28\29 +5406:SkEncoder::encodeRows\28int\29 +5407:SkEmptyPicture::approximateBytesUsed\28\29\20const +5408:SkEdgeClipper::clipQuad\28SkPoint\20const*\2c\20SkRect\20const&\29 +5409:SkEdgeClipper::ClipPath\28SkPath\20const&\2c\20SkRect\20const&\2c\20bool\2c\20void\20\28*\29\28SkEdgeClipper*\2c\20bool\2c\20void*\29\2c\20void*\29 +5410:SkEdgeBuilder::buildEdges\28SkPath\20const&\2c\20SkIRect\20const*\29 +5411:SkDynamicMemoryWStream::bytesWritten\28\29\20const +5412:SkDrawableList::newDrawableSnapshot\28\29 +5413:SkDrawTreatAAStrokeAsHairline\28float\2c\20SkMatrix\20const&\2c\20float*\29 +5414:SkDrawShadowMetrics::GetSpotShadowTransform\28SkPoint3\20const&\2c\20float\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkRect\20const&\2c\20bool\2c\20SkMatrix*\2c\20float*\29 +5415:SkDrawShadowMetrics::GetLocalBounds\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect*\29 +5416:SkDrawBase::drawPaint\28SkPaint\20const&\29\20const +5417:SkDrawBase::DrawToMask\28SkPath\20const&\2c\20SkIRect\20const&\2c\20SkMaskFilter\20const*\2c\20SkMatrix\20const*\2c\20SkMaskBuilder*\2c\20SkMaskBuilder::CreateMode\2c\20SkStrokeRec::InitStyle\29 +5418:SkDraw::drawSprite\28SkBitmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29\20const +5419:SkDiscretePathEffectImpl::flatten\28SkWriteBuffer&\29\20const +5420:SkDiscretePathEffect::Make\28float\2c\20float\2c\20unsigned\20int\29 +5421:SkDevice::getRelativeTransform\28SkDevice\20const&\29\20const +5422:SkDevice::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +5423:SkDevice::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +5424:SkDevice::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +5425:SkDevice::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +5426:SkDescriptor::addEntry\28unsigned\20int\2c\20unsigned\20long\2c\20void\20const*\29 +5427:SkDeque::Iter::next\28\29 +5428:SkDeque::Iter::Iter\28SkDeque\20const&\2c\20SkDeque::Iter::IterStart\29 +5429:SkData::MakeSubset\28SkData\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +5430:SkDashPath::InternalFilter\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20float\20const*\2c\20int\2c\20float\2c\20int\2c\20float\2c\20float\2c\20SkDashPath::StrokeRecApplication\29 +5431:SkDashPath::CalcDashParameters\28float\2c\20float\20const*\2c\20int\2c\20float*\2c\20int*\2c\20float*\2c\20float*\29 +5432:SkDRect::setBounds\28SkDQuad\20const&\2c\20SkDQuad\20const&\2c\20double\2c\20double\29 +5433:SkDRect::setBounds\28SkDCubic\20const&\2c\20SkDCubic\20const&\2c\20double\2c\20double\29 +5434:SkDRect::setBounds\28SkDConic\20const&\2c\20SkDConic\20const&\2c\20double\2c\20double\29 +5435:SkDQuad::subDivide\28double\2c\20double\29\20const +5436:SkDQuad::monotonicInY\28\29\20const +5437:SkDQuad::isLinear\28int\2c\20int\29\20const +5438:SkDQuad::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +5439:SkDPoint::approximatelyDEqual\28SkDPoint\20const&\29\20const +5440:SkDCurveSweep::setCurveHullSweep\28SkPath::Verb\29 +5441:SkDCurve::nearPoint\28SkPath::Verb\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29\20const +5442:SkDCubic::monotonicInX\28\29\20const +5443:SkDCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +5444:SkDCubic::hullIntersects\28SkDPoint\20const*\2c\20int\2c\20bool*\29\20const +5445:SkDConic::subDivide\28double\2c\20double\29\20const +5446:SkCubics::RootsReal\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +5447:SkCubicEdge::setCubicWithoutUpdate\28SkPoint\20const*\2c\20int\2c\20bool\29 +5448:SkCubicClipper::ChopMonoAtY\28SkPoint\20const*\2c\20float\2c\20float*\29 +5449:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20SkArenaAlloc*\2c\20sk_sp\29 +5450:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkArenaAlloc*\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +5451:SkContourMeasureIter::~SkContourMeasureIter\28\29 +5452:SkContourMeasureIter::SkContourMeasureIter\28SkPath\20const&\2c\20bool\2c\20float\29 +5453:SkContourMeasure::length\28\29\20const +5454:SkContourMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29\20const +5455:SkConic::BuildUnitArc\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkRotationDirection\2c\20SkMatrix\20const*\2c\20SkConic*\29 +5456:SkComputeRadialSteps\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float*\2c\20float*\2c\20int*\29 +5457:SkCompressedDataSize\28SkTextureCompressionType\2c\20SkISize\2c\20skia_private::TArray*\2c\20bool\29 +5458:SkColorTypeValidateAlphaType\28SkColorType\2c\20SkAlphaType\2c\20SkAlphaType*\29 +5459:SkColorSpaceSingletonFactory::Make\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +5460:SkColorSpaceLuminance::Fetch\28float\29 +5461:SkColorSpace::toProfile\28skcms_ICCProfile*\29\20const +5462:SkColorSpace::makeLinearGamma\28\29\20const +5463:SkColorSpace::isSRGB\28\29\20const +5464:SkColorMatrix_RGB2YUV\28SkYUVColorSpace\2c\20float*\29 +5465:SkColorInfo::makeColorSpace\28sk_sp\29\20const +5466:SkColorFilterShader::SkColorFilterShader\28sk_sp\2c\20float\2c\20sk_sp\29 +5467:SkColor4fXformer::SkColor4fXformer\28SkGradientBaseShader\20const*\2c\20SkColorSpace*\2c\20bool\29 +5468:SkCoincidentSpans::extend\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\29 +5469:SkCodecs::get_decoders_for_editing\28\29 +5470:SkCodec::outputScanline\28int\29\20const +5471:SkCodec::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +5472:SkCodec::initializeColorXform\28SkImageInfo\20const&\2c\20SkEncodedInfo::Alpha\2c\20bool\29 +5473:SkChopQuadAtMaxCurvature\28SkPoint\20const*\2c\20SkPoint*\29 +5474:SkChopQuadAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +5475:SkChopMonoCubicAtX\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +5476:SkChopCubicAtInflections\28SkPoint\20const*\2c\20SkPoint*\29 +5477:SkCharToGlyphCache::findGlyphIndex\28int\29\20const +5478:SkCanvasPriv::WriteLattice\28void*\2c\20SkCanvas::Lattice\20const&\29 +5479:SkCanvasPriv::ReadLattice\28SkReadBuffer&\2c\20SkCanvas::Lattice*\29 +5480:SkCanvasPriv::GetDstClipAndMatrixCounts\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20int*\2c\20int*\29 +5481:SkCanvas::~SkCanvas\28\29 +5482:SkCanvas::skew\28float\2c\20float\29 +5483:SkCanvas::only_axis_aligned_saveBehind\28SkRect\20const*\29 +5484:SkCanvas::getDeviceClipBounds\28\29\20const +5485:SkCanvas::experimental_DrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +5486:SkCanvas::drawVertices\28sk_sp\20const&\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +5487:SkCanvas::drawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +5488:SkCanvas::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +5489:SkCanvas::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +5490:SkCanvas::drawImageNine\28SkImage\20const*\2c\20SkIRect\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +5491:SkCanvas::drawClippedToSaveBehind\28SkPaint\20const&\29 +5492:SkCanvas::drawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +5493:SkCanvas::didTranslate\28float\2c\20float\29 +5494:SkCanvas::clipShader\28sk_sp\2c\20SkClipOp\29 +5495:SkCanvas::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +5496:SkCanvas::SkCanvas\28sk_sp\29 +5497:SkCanvas::ImageSetEntry::ImageSetEntry\28\29 +5498:SkCachedData::SkCachedData\28void*\2c\20unsigned\20long\29 +5499:SkCachedData::SkCachedData\28unsigned\20long\2c\20SkDiscardableMemory*\29 +5500:SkCTMShader::isOpaque\28\29\20const +5501:SkBulkGlyphMetricsAndPaths::glyphs\28SkSpan\29 +5502:SkBmpStandardCodec::decodeIcoMask\28SkStream*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\29 +5503:SkBmpMaskCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +5504:SkBmpDecoder::IsBmp\28void\20const*\2c\20unsigned\20long\29 +5505:SkBmpCodec::SkBmpCodec\28SkEncodedInfo&&\2c\20std::__2::unique_ptr>\2c\20unsigned\20short\2c\20SkCodec::SkScanlineOrder\29 +5506:SkBmpBaseCodec::SkBmpBaseCodec\28SkEncodedInfo&&\2c\20std::__2::unique_ptr>\2c\20unsigned\20short\2c\20SkCodec::SkScanlineOrder\29 +5507:SkBlurMask::ConvertRadiusToSigma\28float\29 +5508:SkBlurMask::ComputeBlurredScanline\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20unsigned\20int\2c\20float\29 +5509:SkBlurMask::BlurRect\28float\2c\20SkMaskBuilder*\2c\20SkRect\20const&\2c\20SkBlurStyle\2c\20SkIPoint*\2c\20SkMaskBuilder::CreateMode\29 +5510:SkBlockMemoryStream::getPosition\28\29\20const +5511:SkBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +5512:SkBlitter::Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +5513:SkBlitter::ChooseSprite\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkArenaAlloc*\2c\20sk_sp\29 +5514:SkBlenderBase::affectsTransparentBlack\28\29\20const +5515:SkBlendShader::~SkBlendShader\28\29.1 +5516:SkBlendShader::~SkBlendShader\28\29 +5517:SkBitmapImageGetPixelRef\28SkImage\20const*\29 +5518:SkBitmapDevice::SkBitmapDevice\28SkBitmap\20const&\2c\20SkSurfaceProps\20const&\2c\20void*\29 +5519:SkBitmapDevice::Create\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\2c\20SkRasterHandleAllocator*\29 +5520:SkBitmapCache::Rec::install\28SkBitmap*\29 +5521:SkBitmapCache::Rec::diagnostic_only_getDiscardable\28\29\20const +5522:SkBitmapCache::Find\28SkBitmapCacheDesc\20const&\2c\20SkBitmap*\29 +5523:SkBitmapCache::Alloc\28SkBitmapCacheDesc\20const&\2c\20SkImageInfo\20const&\2c\20SkPixmap*\29 +5524:SkBitmapCache::Add\28std::__2::unique_ptr\2c\20SkBitmap*\29 +5525:SkBitmap::setPixelRef\28sk_sp\2c\20int\2c\20int\29 +5526:SkBitmap::setAlphaType\28SkAlphaType\29 +5527:SkBitmap::reset\28\29 +5528:SkBitmap::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\29\20const +5529:SkBitmap::getAddr\28int\2c\20int\29\20const +5530:SkBitmap::allocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +5531:SkBitmap::HeapAllocator::allocPixelRef\28SkBitmap*\29 +5532:SkBinaryWriteBuffer::writeFlattenable\28SkFlattenable\20const*\29 +5533:SkBinaryWriteBuffer::writeColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +5534:SkBigPicture::SkBigPicture\28SkRect\20const&\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20sk_sp\2c\20unsigned\20long\29 +5535:SkBezierQuad::IntersectWithHorizontalLine\28SkSpan\2c\20float\2c\20float*\29 +5536:SkBezierCubic::IntersectWithHorizontalLine\28SkSpan\2c\20float\2c\20float*\29 +5537:SkBasicEdgeBuilder::~SkBasicEdgeBuilder\28\29 +5538:SkBaseShadowTessellator::finishPathPolygon\28\29 +5539:SkBaseShadowTessellator::computeConvexShadow\28float\2c\20float\2c\20bool\29 +5540:SkBaseShadowTessellator::computeConcaveShadow\28float\2c\20float\29 +5541:SkBaseShadowTessellator::clipUmbraPoint\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint*\29 +5542:SkBaseShadowTessellator::addInnerPoint\28SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20int*\29 +5543:SkBaseShadowTessellator::addEdge\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20bool\2c\20bool\29 +5544:SkBaseShadowTessellator::addArc\28SkPoint\20const&\2c\20float\2c\20bool\29 +5545:SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint\28\29 +5546:SkAutoCanvasMatrixPaint::SkAutoCanvasMatrixPaint\28SkCanvas*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\2c\20SkRect\20const&\29 +5547:SkAndroidCodecAdapter::~SkAndroidCodecAdapter\28\29 +5548:SkAndroidCodecAdapter::SkAndroidCodecAdapter\28SkCodec*\29 +5549:SkAndroidCodec::~SkAndroidCodec\28\29 +5550:SkAndroidCodec::getAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const*\29 +5551:SkAndroidCodec::SkAndroidCodec\28SkCodec*\29 +5552:SkAnalyticEdge::update\28int\2c\20bool\29 +5553:SkAnalyticEdge::updateLine\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5554:SkAnalyticEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\29 +5555:SkAAClip::operator=\28SkAAClip\20const&\29 +5556:SkAAClip::op\28SkIRect\20const&\2c\20SkClipOp\29 +5557:SkAAClip::Builder::flushRow\28bool\29 +5558:SkAAClip::Builder::finish\28SkAAClip*\29 +5559:SkAAClip::Builder::Blitter::~Blitter\28\29 +5560:SkAAClip::Builder::Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +5561:Sk2DPathEffect::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +5562:SimpleImageInfo*\20emscripten::internal::raw_constructor\28\29 +5563:SimpleFontStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleFontStyle\20SimpleStrutStyle::*\20const&\2c\20SimpleStrutStyle\20const&\29 +5564:SharedGenerator::isTextureGenerator\28\29 +5565:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29.1 +5566:RgnOper::addSpan\28int\2c\20int\20const*\2c\20int\20const*\29 +5567:PorterDuffXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +5568:PathSegment::init\28\29 +5569:PathAddVerbsPointsWeights\28SkPath&\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +5570:ParseSingleImage +5571:ParseHeadersInternal +5572:PS_Conv_ASCIIHexDecode +5573:Op\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\2c\20SkPath*\29 +5574:OpAsWinding::markReverse\28Contour*\2c\20Contour*\29 +5575:OpAsWinding::getDirection\28Contour&\29 +5576:OpAsWinding::checkContainerChildren\28Contour*\2c\20Contour*\29 +5577:OffsetEdge::computeCrossingDistance\28OffsetEdge\20const*\29 +5578:OT::sbix::accelerator_t::get_png_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +5579:OT::sbix::accelerator_t::choose_strike\28hb_font_t*\29\20const +5580:OT::hmtxvmtx::accelerator_t::accelerator_t\28hb_face_t*\29 +5581:OT::hmtxvmtx::accelerator_t::get_advance_with_var_unscaled\28unsigned\20int\2c\20hb_font_t*\2c\20float*\29\20const +5582:OT::hmtxvmtx::accelerator_t::accelerator_t\28hb_face_t*\29 +5583:OT::hb_ot_layout_lookup_accelerator_t*\20OT::hb_ot_layout_lookup_accelerator_t::create\28OT::Layout::GPOS_impl::PosLookup\20const&\29 +5584:OT::hb_kern_machine_t::kern\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20bool\29\20const +5585:OT::hb_accelerate_subtables_context_t::return_t\20OT::Context::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +5586:OT::hb_accelerate_subtables_context_t::return_t\20OT::ChainContext::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +5587:OT::glyf_accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\29\20const +5588:OT::glyf_accelerator_t::get_advance_with_var_unscaled\28hb_font_t*\2c\20unsigned\20int\2c\20bool\29\20const +5589:OT::cmap::accelerator_t::get_variation_glyph\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_cache_t<21u\2c\2016u\2c\208u\2c\20true>*\29\20const +5590:OT::cff2::accelerator_templ_t>::accelerator_templ_t\28hb_face_t*\29 +5591:OT::cff2::accelerator_templ_t>::_fini\28\29 +5592:OT::cff1::lookup_expert_subset_charset_for_sid\28unsigned\20int\29 +5593:OT::cff1::lookup_expert_charset_for_sid\28unsigned\20int\29 +5594:OT::cff1::accelerator_templ_t>::~accelerator_templ_t\28\29 +5595:OT::cff1::accelerator_templ_t>::_fini\28\29 +5596:OT::TupleVariationData::unpack_points\28OT::IntType\20const*&\2c\20hb_vector_t&\2c\20OT::IntType\20const*\29 +5597:OT::SBIXStrike::get_glyph_blob\28unsigned\20int\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20unsigned\20int\2c\20unsigned\20int*\29\20const +5598:OT::RuleSet::sanitize\28hb_sanitize_context_t*\29\20const +5599:OT::RuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +5600:OT::RecordListOf::sanitize\28hb_sanitize_context_t*\29\20const +5601:OT::RecordListOf::sanitize\28hb_sanitize_context_t*\29\20const +5602:OT::PaintTranslate::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5603:OT::PaintSolid::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5604:OT::PaintSkewAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5605:OT::PaintSkew::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5606:OT::PaintScaleUniformAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5607:OT::PaintScaleUniform::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5608:OT::PaintScaleAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5609:OT::PaintScale::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5610:OT::PaintRotateAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5611:OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +5612:OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +5613:OT::Lookup::serialize\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +5614:OT::Layout::propagate_attachment_offsets\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +5615:OT::Layout::GSUB_impl::MultipleSubstFormat1_2::sanitize\28hb_sanitize_context_t*\29\20const +5616:OT::Layout::GSUB_impl::Ligature::apply\28OT::hb_ot_apply_context_t*\29\20const +5617:OT::Layout::GPOS_impl::reverse_cursive_minor_offset\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +5618:OT::Layout::GPOS_impl::MarkRecord::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5619:OT::Layout::GPOS_impl::MarkBasePosFormat1_2::sanitize\28hb_sanitize_context_t*\29\20const +5620:OT::Layout::GPOS_impl::AnchorMatrix::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5621:OT::IndexSubtableRecord::get_image_data\28unsigned\20int\2c\20void\20const*\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +5622:OT::FeatureVariationRecord::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5623:OT::FeatureParams::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5624:OT::ContextFormat3::sanitize\28hb_sanitize_context_t*\29\20const +5625:OT::ContextFormat2_5::sanitize\28hb_sanitize_context_t*\29\20const +5626:OT::ContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +5627:OT::ContextFormat1_4::sanitize\28hb_sanitize_context_t*\29\20const +5628:OT::ColorStop::get_color_stop\28OT::hb_paint_context_t*\2c\20hb_color_stop_t*\2c\20unsigned\20int\2c\20OT::VarStoreInstancer\20const&\29\20const +5629:OT::ColorLine::static_get_extend\28hb_color_line_t*\2c\20void*\2c\20void*\29 +5630:OT::ChainRuleSet::would_apply\28OT::hb_would_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +5631:OT::ChainRuleSet::sanitize\28hb_sanitize_context_t*\29\20const +5632:OT::ChainRuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +5633:OT::ChainContextFormat3::sanitize\28hb_sanitize_context_t*\29\20const +5634:OT::ChainContextFormat2_5::sanitize\28hb_sanitize_context_t*\29\20const +5635:OT::ChainContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +5636:OT::ChainContextFormat1_4::sanitize\28hb_sanitize_context_t*\29\20const +5637:OT::CBDT::accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +5638:OT::Affine2x3::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5639:MakeOnScreenGLSurface\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int\29 +5640:Load_SBit_Png +5641:LineCubicIntersections::intersectRay\28double*\29 +5642:LineCubicIntersections::VerticalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +5643:LineCubicIntersections::HorizontalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +5644:Launch +5645:JpegDecoderMgr::returnFalse\28char\20const*\29 +5646:JpegDecoderMgr::getEncodedColor\28SkEncodedInfo::Color*\29 +5647:JSObjectFromLineMetrics\28skia::textlayout::LineMetrics&\29 +5648:JSObjectFromGlyphInfo\28skia::textlayout::Paragraph::GlyphInfo&\29 +5649:Ins_DELTAP +5650:HandleCoincidence\28SkOpContourHead*\2c\20SkOpCoincidence*\29 +5651:GrWritePixelsTask::~GrWritePixelsTask\28\29 +5652:GrWaitRenderTask::~GrWaitRenderTask\28\29 +5653:GrVertexBufferAllocPool::makeSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +5654:GrVertexBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +5655:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20SkPathFillType\2c\20skgpu::VertexWriter\29\20const +5656:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20GrEagerVertexAllocator*\29\20const +5657:GrTriangulator::mergeEdgesBelow\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +5658:GrTriangulator::mergeEdgesAbove\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +5659:GrTriangulator::makeSortedVertex\28SkPoint\20const&\2c\20unsigned\20char\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29\20const +5660:GrTriangulator::makeEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\29 +5661:GrTriangulator::computeBisector\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\29\20const +5662:GrTriangulator::appendQuadraticToContour\28SkPoint\20const*\2c\20float\2c\20GrTriangulator::VertexList*\29\20const +5663:GrTriangulator::SortMesh\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +5664:GrTriangulator::FindEnclosingEdges\28GrTriangulator::Vertex\20const&\2c\20GrTriangulator::EdgeList\20const&\2c\20GrTriangulator::Edge**\2c\20GrTriangulator::Edge**\29 +5665:GrTriangulator::Edge::intersect\28GrTriangulator::Edge\20const&\2c\20SkPoint*\2c\20unsigned\20char*\29\20const +5666:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29 +5667:GrThreadSafeCache::~GrThreadSafeCache\28\29 +5668:GrThreadSafeCache::findVertsWithData\28skgpu::UniqueKey\20const&\29 +5669:GrThreadSafeCache::addVertsWithData\28skgpu::UniqueKey\20const&\2c\20sk_sp\2c\20bool\20\28*\29\28SkData*\2c\20SkData*\29\29 +5670:GrThreadSafeCache::Entry::set\28skgpu::UniqueKey\20const&\2c\20sk_sp\29 +5671:GrThreadSafeCache::CreateLazyView\28GrDirectContext*\2c\20GrColorType\2c\20SkISize\2c\20GrSurfaceOrigin\2c\20SkBackingFit\29 +5672:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29 +5673:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29 +5674:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28GrCaps\20const&\2c\20std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\2c\20std::__2::basic_string_view>\29 +5675:GrTextureProxyPriv::setDeferredUploader\28std::__2::unique_ptr>\29 +5676:GrTextureProxy::setUniqueKey\28GrProxyProvider*\2c\20skgpu::UniqueKey\20const&\29 +5677:GrTextureProxy::clearUniqueKey\28\29 +5678:GrTextureProxy::ProxiesAreCompatibleAsDynamicState\28GrSurfaceProxy\20const*\2c\20GrSurfaceProxy\20const*\29 +5679:GrTextureProxy::GrTextureProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29.1 +5680:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::$_1::operator\28\29\28int\2c\20GrSamplerState::WrapMode\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20float\29\20const +5681:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::$_2::operator\28\29\28GrTextureEffect::ShaderMode\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +5682:GrTexture::markMipmapsDirty\28\29 +5683:GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +5684:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29 +5685:GrSurfaceProxyPriv::exactify\28\29 +5686:GrSurfaceProxy::GrSurfaceProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +5687:GrStyledShape::setInheritedKey\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +5688:GrStyledShape::asRRect\28SkRRect*\2c\20bool*\29\20const +5689:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20SkPaint\20const&\2c\20GrStyledShape::DoSimplify\29 +5690:GrStyle::~GrStyle\28\29 +5691:GrStyle::applyToPath\28SkPath*\2c\20SkStrokeRec::InitStyle*\2c\20SkPath\20const&\2c\20float\29\20const +5692:GrStyle::applyPathEffect\28SkPath*\2c\20SkStrokeRec*\2c\20SkPath\20const&\29\20const +5693:GrStencilSettings::SetClipBitSettings\28bool\29 +5694:GrStagingBufferManager::detachBuffers\28\29 +5695:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineStruct\28char\20const*\29 +5696:GrShape::simplify\28unsigned\20int\29 +5697:GrShape::conservativeContains\28SkRect\20const&\29\20const +5698:GrShape::closed\28\29\20const +5699:GrSWMaskHelper::toTextureView\28GrRecordingContext*\2c\20SkBackingFit\29 +5700:GrSWMaskHelper::drawShape\28GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +5701:GrSWMaskHelper::drawShape\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +5702:GrResourceProvider::writePixels\28sk_sp\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\29\20const +5703:GrResourceProvider::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +5704:GrResourceProvider::prepareLevels\28GrBackendFormat\20const&\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\2c\20skia_private::AutoSTArray<14\2c\20GrMipLevel>*\2c\20skia_private::AutoSTArray<14\2c\20std::__2::unique_ptr>>*\29\20const +5705:GrResourceProvider::getExactScratch\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5706:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5707:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20GrColorType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMipLevel\20const*\2c\20std::__2::basic_string_view>\29 +5708:GrResourceProvider::createApproxTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5709:GrResourceCache::~GrResourceCache\28\29 +5710:GrResourceCache::removeResource\28GrGpuResource*\29 +5711:GrResourceCache::processFreedGpuResources\28\29 +5712:GrResourceCache::insertResource\28GrGpuResource*\29 +5713:GrResourceCache::didChangeBudgetStatus\28GrGpuResource*\29 +5714:GrResourceAllocator::~GrResourceAllocator\28\29 +5715:GrResourceAllocator::planAssignment\28\29 +5716:GrResourceAllocator::expire\28unsigned\20int\29 +5717:GrRenderTask::makeSkippable\28\29 +5718:GrRenderTask::isInstantiated\28\29\20const +5719:GrRenderTarget::GrRenderTarget\28GrGpu*\2c\20SkISize\20const&\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20sk_sp\29 +5720:GrRecordingContext::init\28\29 +5721:GrRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRRect\20const&\2c\20GrShaderCaps\20const&\29 +5722:GrQuadUtils::TessellationHelper::reset\28GrQuad\20const&\2c\20GrQuad\20const*\29 +5723:GrQuadUtils::TessellationHelper::outset\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuad*\2c\20GrQuad*\29 +5724:GrQuadUtils::TessellationHelper::adjustDegenerateVertices\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuadUtils::TessellationHelper::Vertices*\29 +5725:GrQuadUtils::TessellationHelper::OutsetRequest::reset\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\2c\20GrQuad::Type\2c\20skvx::Vec<4\2c\20float>\20const&\29 +5726:GrQuadUtils::TessellationHelper::EdgeVectors::reset\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20GrQuad::Type\29 +5727:GrQuadUtils::ClipToW0\28DrawQuad*\2c\20DrawQuad*\29 +5728:GrQuad::bounds\28\29\20const +5729:GrProxyProvider::~GrProxyProvider\28\29 +5730:GrProxyProvider::wrapBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\2c\20GrIOType\2c\20sk_sp\29 +5731:GrProxyProvider::removeUniqueKeyFromProxy\28GrTextureProxy*\29 +5732:GrProxyProvider::processInvalidUniqueKeyImpl\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\2c\20GrProxyProvider::RemoveTableEntry\29 +5733:GrProxyProvider::createLazyProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20GrInternalSurfaceFlags\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +5734:GrProxyProvider::contextID\28\29\20const +5735:GrProxyProvider::adoptUniqueKeyFromSurface\28GrTextureProxy*\2c\20GrSurface\20const*\29 +5736:GrPixmapBase::clip\28SkISize\2c\20SkIPoint*\29 +5737:GrPixmap::GrPixmap\28GrImageInfo\2c\20sk_sp\2c\20unsigned\20long\29 +5738:GrPipeline::GrPipeline\28GrPipeline::InitArgs\20const&\2c\20sk_sp\2c\20GrAppliedHardClip\20const&\29 +5739:GrPersistentCacheUtils::GetType\28SkReadBuffer*\29 +5740:GrPathUtils::QuadUVMatrix::set\28SkPoint\20const*\29 +5741:GrPathTessellationShader::MakeStencilOnlyPipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedHardClip\20const&\2c\20GrPipeline::InputFlags\29 +5742:GrPaint::setCoverageSetOpXPFactory\28SkRegion::Op\2c\20bool\29 +5743:GrOvalOpFactory::MakeOvalOp\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\2c\20GrShaderCaps\20const*\29 +5744:GrOpsRenderPass::drawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +5745:GrOpsRenderPass::drawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5746:GrOpsRenderPass::drawIndexPattern\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5747:GrOpFlushState::reset\28\29 +5748:GrOpFlushState::executeDrawsAndUploadsForMeshDrawOp\28GrOp\20const*\2c\20SkRect\20const&\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\29 +5749:GrOpFlushState::addASAPUpload\28std::__2::function&\29>&&\29 +5750:GrOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +5751:GrOp::combineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +5752:GrOnFlushResourceProvider::instantiateProxy\28GrSurfaceProxy*\29 +5753:GrMeshDrawTarget::allocMesh\28\29 +5754:GrMeshDrawOp::PatternHelper::init\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +5755:GrMeshDrawOp::CombinedQuadCountWillOverflow\28GrAAType\2c\20bool\2c\20int\29 +5756:GrMemoryPool::allocate\28unsigned\20long\29 +5757:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::changed\28\29 +5758:GrIndexBufferAllocPool::makeSpace\28int\2c\20sk_sp*\2c\20int*\29 +5759:GrIndexBufferAllocPool::makeSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +5760:GrImageInfo::refColorSpace\28\29\20const +5761:GrImageInfo::minRowBytes\28\29\20const +5762:GrImageInfo::makeDimensions\28SkISize\29\20const +5763:GrImageInfo::bpp\28\29\20const +5764:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20int\2c\20int\29 +5765:GrImageContext::abandonContext\28\29 +5766:GrGpuResource::makeBudgeted\28\29 +5767:GrGpuResource::getResourceName\28\29\20const +5768:GrGpuResource::abandon\28\29 +5769:GrGpuResource::CreateUniqueID\28\29 +5770:GrGpu::~GrGpu\28\29 +5771:GrGpu::regenerateMipMapLevels\28GrTexture*\29 +5772:GrGpu::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5773:GrGpu::createTextureCommon\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +5774:GrGeometryProcessor::AttributeSet::addToKey\28skgpu::KeyBuilder*\29\20const +5775:GrGLVertexArray::invalidateCachedState\28\29 +5776:GrGLTextureParameters::invalidate\28\29 +5777:GrGLTexture::MakeWrapped\28GrGLGpu*\2c\20GrMipmapStatus\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrWrapCacheable\2c\20GrIOType\2c\20std::__2::basic_string_view>\29 +5778:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20skgpu::Budgeted\2c\20GrGLTexture::Desc\20const&\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +5779:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +5780:GrGLSLVaryingHandler::getFragDecls\28SkString*\2c\20SkString*\29\20const +5781:GrGLSLVaryingHandler::addAttribute\28GrShaderVar\20const&\29 +5782:GrGLSLUniformHandler::liftUniformToVertexShader\28GrProcessor\20const&\2c\20SkString\29 +5783:GrGLSLShaderBuilder::finalize\28unsigned\20int\29 +5784:GrGLSLShaderBuilder::emitFunction\28char\20const*\2c\20char\20const*\29 +5785:GrGLSLShaderBuilder::emitFunctionPrototype\28char\20const*\29 +5786:GrGLSLShaderBuilder::appendTextureLookupAndBlend\28char\20const*\2c\20SkBlendMode\2c\20GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +5787:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29::$_0::operator\28\29\28char\20const*\2c\20GrResourceHandle\2c\20skcms_TFType\29\20const +5788:GrGLSLShaderBuilder::addLayoutQualifier\28char\20const*\2c\20GrGLSLShaderBuilder::InterfaceQualifier\29 +5789:GrGLSLShaderBuilder::GrGLSLShaderBuilder\28GrGLSLProgramBuilder*\29 +5790:GrGLSLProgramDataManager::setRuntimeEffectUniforms\28SkSpan\2c\20SkSpan\20const>\2c\20SkSpan\2c\20void\20const*\29\20const +5791:GrGLSLProgramBuilder::~GrGLSLProgramBuilder\28\29 +5792:GrGLSLBlend::SetBlendModeUniformData\28GrGLSLProgramDataManager\20const&\2c\20GrResourceHandle\2c\20SkBlendMode\29 +5793:GrGLSLBlend::BlendExpression\28GrProcessor\20const*\2c\20GrGLSLUniformHandler*\2c\20GrResourceHandle*\2c\20char\20const*\2c\20char\20const*\2c\20SkBlendMode\29 +5794:GrGLRenderTarget::GrGLRenderTarget\28GrGLGpu*\2c\20SkISize\20const&\2c\20GrGLFormat\2c\20int\2c\20GrGLRenderTarget::IDs\20const&\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5795:GrGLProgramDataManager::set4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +5796:GrGLProgramDataManager::set2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +5797:GrGLProgramBuilder::uniformHandler\28\29 +5798:GrGLProgramBuilder::PrecompileProgram\28GrDirectContext*\2c\20GrGLPrecompiledProgram*\2c\20SkData\20const&\29::$_0::operator\28\29\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int\29\20const +5799:GrGLProgramBuilder::CreateProgram\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrGLPrecompiledProgram\20const*\29 +5800:GrGLProgram::~GrGLProgram\28\29 +5801:GrGLMakeAssembledWebGLInterface\28void*\2c\20void\20\28*\20\28*\29\28void*\2c\20char\20const*\29\29\28\29\29 +5802:GrGLGpu::~GrGLGpu\28\29 +5803:GrGLGpu::uploadTexData\28SkISize\2c\20unsigned\20int\2c\20SkIRect\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20long\2c\20GrMipLevel\20const*\2c\20int\29 +5804:GrGLGpu::uploadCompressedTexData\28SkTextureCompressionType\2c\20GrGLFormat\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20unsigned\20int\2c\20void\20const*\2c\20unsigned\20long\29 +5805:GrGLGpu::uploadColorToTex\28GrGLFormat\2c\20SkISize\2c\20unsigned\20int\2c\20std::__2::array\2c\20unsigned\20int\29 +5806:GrGLGpu::readOrTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20int\29 +5807:GrGLGpu::getCompatibleStencilIndex\28GrGLFormat\29 +5808:GrGLGpu::deleteSync\28__GLsync*\29 +5809:GrGLGpu::createRenderTargetObjects\28GrGLTexture::Desc\20const&\2c\20int\2c\20GrGLRenderTarget::IDs*\29 +5810:GrGLGpu::createCompressedTexture2D\28SkISize\2c\20SkTextureCompressionType\2c\20GrGLFormat\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrGLTextureParameters::SamplerOverriddenState*\29 +5811:GrGLGpu::bindFramebuffer\28unsigned\20int\2c\20unsigned\20int\29 +5812:GrGLGpu::ProgramCache::reset\28\29 +5813:GrGLGpu::ProgramCache::findOrCreateProgramImpl\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrThreadSafePipelineBuilder::Stats::ProgramCacheResult*\29 +5814:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29 +5815:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\29 +5816:GrGLFormatIsCompressed\28GrGLFormat\29 +5817:GrGLFinishCallbacks::check\28\29 +5818:GrGLContext::~GrGLContext\28\29.1 +5819:GrGLContext::~GrGLContext\28\29 +5820:GrGLCaps::~GrGLCaps\28\29 +5821:GrGLCaps::getTexSubImageExternalFormatAndType\28GrGLFormat\2c\20GrColorType\2c\20GrColorType\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +5822:GrGLCaps::getTexSubImageDefaultFormatTypeAndColorType\28GrGLFormat\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20GrColorType*\29\20const +5823:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrGLFormat\29\20const +5824:GrGLCaps::formatSupportsTexStorage\28GrGLFormat\29\20const +5825:GrGLCaps::canCopyAsDraw\28GrGLFormat\2c\20bool\2c\20bool\29\20const +5826:GrGLCaps::canCopyAsBlit\28GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20SkRect\20const&\2c\20bool\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29\20const +5827:GrFragmentProcessor::~GrFragmentProcessor\28\29 +5828:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +5829:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +5830:GrFragmentProcessor::ProgramImpl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +5831:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::Make\28std::__2::unique_ptr>\29 +5832:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5833:GrFragmentProcessor::ClampOutput\28std::__2::unique_ptr>\29 +5834:GrFixedClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +5835:GrFixedClip::getConservativeBounds\28\29\20const +5836:GrFixedClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +5837:GrEagerDynamicVertexAllocator::unlock\28int\29 +5838:GrDynamicAtlas::readView\28GrCaps\20const&\29\20const +5839:GrDynamicAtlas::instantiate\28GrOnFlushResourceProvider*\2c\20sk_sp\29 +5840:GrDriverBugWorkarounds::GrDriverBugWorkarounds\28\29 +5841:GrDrawingManager::getLastRenderTask\28GrSurfaceProxy\20const*\29\20const +5842:GrDrawingManager::flush\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +5843:GrDrawOpAtlasConfig::atlasDimensions\28skgpu::MaskFormat\29\20const +5844:GrDrawOpAtlasConfig::GrDrawOpAtlasConfig\28int\2c\20unsigned\20long\29 +5845:GrDrawOpAtlas::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +5846:GrDrawOpAtlas::Make\28GrProxyProvider*\2c\20GrBackendFormat\20const&\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20int\2c\20int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20GrDrawOpAtlas::AllowMultitexturing\2c\20skgpu::PlotEvictionCallback*\2c\20std::__2::basic_string_view>\29 +5847:GrDistanceFieldA8TextGeoProc::onTextureSampler\28int\29\20const +5848:GrDistanceFieldA8TextGeoProc::addNewViews\28GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\29 +5849:GrDisableColorXPFactory::MakeXferProcessor\28\29 +5850:GrDirectContextPriv::validPMUPMConversionExists\28\29 +5851:GrDirectContext::~GrDirectContext\28\29 +5852:GrDirectContext::onGetSmallPathAtlasMgr\28\29 +5853:GrDirectContext::getResourceCacheLimits\28int*\2c\20unsigned\20long*\29\20const +5854:GrCopyRenderTask::~GrCopyRenderTask\28\29 +5855:GrCopyRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +5856:GrCopyBaseMipMapToView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Budgeted\29 +5857:GrContext_Base::threadSafeProxy\28\29 +5858:GrContext_Base::maxSurfaceSampleCountForColorType\28SkColorType\29\20const +5859:GrContext_Base::backend\28\29\20const +5860:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29 +5861:GrColorInfo::makeColorType\28GrColorType\29\20const +5862:GrColorInfo::isLinearlyBlended\28\29\20const +5863:GrColorFragmentProcessorAnalysis::GrColorFragmentProcessorAnalysis\28GrProcessorAnalysisColor\20const&\2c\20std::__2::unique_ptr>\20const*\2c\20int\29 +5864:GrClip::IsPixelAligned\28SkRect\20const&\29 +5865:GrCaps::surfaceSupportsWritePixels\28GrSurface\20const*\29\20const +5866:GrCaps::getDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\2c\20bool\29\20const +5867:GrCPixmap::GrCPixmap\28GrPixmap\20const&\29 +5868:GrBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\2c\20unsigned\20long*\29 +5869:GrBufferAllocPool::createBlock\28unsigned\20long\29 +5870:GrBufferAllocPool::CpuBufferCache::makeBuffer\28unsigned\20long\2c\20bool\29 +5871:GrBlurUtils::draw_shape_with_mask_filter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\29 +5872:GrBlurUtils::draw_mask\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrPaint&&\2c\20GrSurfaceProxyView\29 +5873:GrBlurUtils::convolve_gaussian\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20SkIRect\2c\20SkIRect\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkBackingFit\29 +5874:GrBlurUtils::\28anonymous\20namespace\29::make_texture_effect\28GrCaps\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20GrSamplerState\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkISize\20const&\29 +5875:GrBitmapTextGeoProc::addNewViews\28GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\29 +5876:GrBicubicEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +5877:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +5878:GrBackendTextures::MakeGL\28int\2c\20int\2c\20skgpu::Mipmapped\2c\20GrGLTextureInfo\20const&\2c\20std::__2::basic_string_view>\29 +5879:GrBackendTexture::operator=\28GrBackendTexture\20const&\29 +5880:GrBackendRenderTargets::MakeGL\28int\2c\20int\2c\20int\2c\20int\2c\20GrGLFramebufferInfo\20const&\29 +5881:GrBackendRenderTargets::GetGLFramebufferInfo\28GrBackendRenderTarget\20const&\2c\20GrGLFramebufferInfo*\29 +5882:GrBackendRenderTarget::~GrBackendRenderTarget\28\29 +5883:GrBackendRenderTarget::isProtected\28\29\20const +5884:GrBackendFormatBytesPerBlock\28GrBackendFormat\20const&\29 +5885:GrBackendFormat::makeTexture2D\28\29\20const +5886:GrBackendFormat::isMockStencilFormat\28\29\20const +5887:GrBackendFormat::MakeMock\28GrColorType\2c\20SkTextureCompressionType\2c\20bool\29 +5888:GrAuditTrail::opsCombined\28GrOp\20const*\2c\20GrOp\20const*\29 +5889:GrAttachment::ComputeSharedAttachmentUniqueKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20GrAttachment::UsageFlags\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMemoryless\2c\20skgpu::UniqueKey*\29 +5890:GrAtlasManager::~GrAtlasManager\28\29 +5891:GrAtlasManager::getViews\28skgpu::MaskFormat\2c\20unsigned\20int*\29 +5892:GrAtlasManager::freeAll\28\29 +5893:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::EventList*\2c\20GrTriangulator::Comparator\20const&\29\20const +5894:GrAATriangulator::collapseOverlapRegions\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\2c\20GrAATriangulator::EventComparator\29 +5895:GrAAConvexTessellator::quadTo\28SkPoint\20const*\29 +5896:GetVariationDesignPosition\28AutoFTAccess&\2c\20SkFontArguments::VariationPosition::Coordinate*\2c\20int\29 +5897:GetShapedLines\28skia::textlayout::Paragraph&\29 +5898:GetLargeValue +5899:FontMgrRunIterator::endOfCurrentRun\28\29\20const +5900:FontMgrRunIterator::atEnd\28\29\20const +5901:FinishRow +5902:FindUndone\28SkOpContourHead*\29 +5903:FT_Stream_Close +5904:FT_Sfnt_Table_Info +5905:FT_Render_Glyph_Internal +5906:FT_Remove_Module +5907:FT_Outline_Get_Orientation +5908:FT_Outline_EmboldenXY +5909:FT_New_Library +5910:FT_New_GlyphSlot +5911:FT_List_Iterate +5912:FT_List_Find +5913:FT_List_Finalize +5914:FT_GlyphLoader_CheckSubGlyphs +5915:FT_Get_Postscript_Name +5916:FT_Get_Paint_Layers +5917:FT_Get_PS_Font_Info +5918:FT_Get_Kerning +5919:FT_Get_Glyph_Name +5920:FT_Get_FSType_Flags +5921:FT_Get_Colorline_Stops +5922:FT_Get_Color_Glyph_ClipBox +5923:FT_Bitmap_Convert +5924:FT_Add_Default_Modules +5925:EllipticalRRectOp::~EllipticalRRectOp\28\29.1 +5926:EllipticalRRectOp::~EllipticalRRectOp\28\29 +5927:EllipticalRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +5928:EllipticalRRectOp::RRect&\20skia_private::TArray::emplace_back\28EllipticalRRectOp::RRect&&\29 +5929:EllipticalRRectOp::EllipticalRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20SkPoint\2c\20bool\29 +5930:EllipseOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\29 +5931:EllipseOp::EllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20EllipseOp::DeviceSpaceParams\20const&\2c\20SkStrokeRec\20const&\29 +5932:EllipseGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +5933:DIEllipseOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\29 +5934:DIEllipseOp::DIEllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20DIEllipseOp::DeviceSpaceParams\20const&\2c\20SkMatrix\20const&\29 +5935:CustomXP::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +5936:CustomXP::makeProgramImpl\28\29\20const::Impl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +5937:Cr_z_deflateReset +5938:Cr_z_deflate +5939:Cr_z_crc32_z +5940:CoverageSetOpXP::onIsEqual\28GrXferProcessor\20const&\29\20const +5941:CircularRRectOp::~CircularRRectOp\28\29.1 +5942:CircularRRectOp::~CircularRRectOp\28\29 +5943:CircularRRectOp::CircularRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +5944:CircleOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +5945:CircleOp::CircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +5946:CircleGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +5947:CheckDecBuffer +5948:CFF::path_procs_t::rlineto\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\29 +5949:CFF::dict_interpreter_t\2c\20CFF::interp_env_t>::interpret\28CFF::cff1_private_dict_values_base_t&\29 +5950:CFF::cff2_cs_opset_t::process_blend\28CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\29 +5951:CFF::FDSelect3_4\2c\20OT::IntType>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5952:CFF::Charset::get_sid\28unsigned\20int\2c\20unsigned\20int\2c\20CFF::code_pair_t*\29\20const +5953:CFF::CFFIndex>::get_size\28\29\20const +5954:CFF::CFF2FDSelect::get_fd\28unsigned\20int\29\20const +5955:ButtCapDashedCircleOp::ButtCapDashedCircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +5956:BuildHuffmanTable +5957:AutoLayerForImageFilter::addMaskFilterLayer\28SkRect\20const*\29 +5958:AsWinding\28SkPath\20const&\2c\20SkPath*\29 +5959:AngleWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int*\2c\20bool*\29 +5960:AddIntersectTs\28SkOpContour*\2c\20SkOpContour*\2c\20SkOpCoincidence*\29 +5961:ActiveEdgeList::replace\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\29 +5962:ActiveEdgeList::remove\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +5963:ActiveEdgeList::insert\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +5964:AAT::hb_aat_apply_context_t::return_t\20AAT::ChainSubtable::dispatch\28AAT::hb_aat_apply_context_t*\29\20const +5965:AAT::hb_aat_apply_context_t::return_t\20AAT::ChainSubtable::dispatch\28AAT::hb_aat_apply_context_t*\29\20const +5966:AAT::TrackData::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5967:AAT::TrackData::get_tracking\28void\20const*\2c\20float\29\20const +5968:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5969:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5970:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5971:AAT::RearrangementSubtable::driver_context_t::transition\28AAT::StateTableDriver*\2c\20AAT::Entry\20const&\29 +5972:AAT::NoncontextualSubtable::apply\28AAT::hb_aat_apply_context_t*\29\20const +5973:AAT::Lookup>::sanitize\28hb_sanitize_context_t*\29\20const +5974:AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +5975:AAT::InsertionSubtable::driver_context_t::transition\28AAT::StateTableDriver::EntryData>*\2c\20AAT::Entry::EntryData>\20const&\29 +5976:ycck_cmyk_convert +5977:ycc_rgb_convert +5978:ycc_rgb565_convert +5979:ycc_rgb565D_convert +5980:xyzd50_to_lab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +5981:xyzd50_to_hcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +5982:wuffs_gif__decoder__tell_me_more +5983:wuffs_gif__decoder__set_report_metadata +5984:wuffs_gif__decoder__num_decoded_frame_configs +5985:wuffs_base__pixel_swizzler__xxxxxxxx__index_binary_alpha__src_over +5986:wuffs_base__pixel_swizzler__xxxxxxxx__index__src +5987:wuffs_base__pixel_swizzler__xxxx__index_binary_alpha__src_over +5988:wuffs_base__pixel_swizzler__xxxx__index__src +5989:wuffs_base__pixel_swizzler__xxx__index_binary_alpha__src_over +5990:wuffs_base__pixel_swizzler__xxx__index__src +5991:wuffs_base__pixel_swizzler__transparent_black_src_over +5992:wuffs_base__pixel_swizzler__transparent_black_src +5993:wuffs_base__pixel_swizzler__copy_1_1 +5994:wuffs_base__pixel_swizzler__bgr_565__index_binary_alpha__src_over +5995:wuffs_base__pixel_swizzler__bgr_565__index__src +5996:webgl_get_gl_proc\28void*\2c\20char\20const*\29 +5997:void\20std::__2::vector>::__emplace_back_slow_path\28char\20const*&\2c\20int&&\29 +5998:void\20std::__2::__call_once_proxy\5babi:v160004\5d>\28void*\29 +5999:void\20std::__2::__call_once_proxy\5babi:v160004\5d>\28void*\29 +6000:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +6001:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +6002:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +6003:void\20emscripten::internal::raw_destructor\28SkVertices::Builder*\29 +6004:void\20emscripten::internal::raw_destructor\28SkRuntimeEffect::TracedShader*\29 +6005:void\20emscripten::internal::raw_destructor\28SkPictureRecorder*\29 +6006:void\20emscripten::internal::raw_destructor\28SkPath*\29 +6007:void\20emscripten::internal::raw_destructor\28SkPaint*\29 +6008:void\20emscripten::internal::raw_destructor\28SkContourMeasureIter*\29 +6009:void\20emscripten::internal::raw_destructor\28SimpleImageInfo*\29 +6010:void\20emscripten::internal::MemberAccess::setWire\28SimpleTextStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle&\2c\20SimpleTextStyle*\29 +6011:void\20emscripten::internal::MemberAccess::setWire\28SimpleStrutStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle&\2c\20SimpleStrutStyle*\29 +6012:void\20emscripten::internal::MemberAccess>::setWire\28sk_sp\20SimpleImageInfo::*\20const&\2c\20SimpleImageInfo&\2c\20sk_sp*\29 +6013:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::TypefaceFontProvider*\29 +6014:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::ParagraphBuilderImpl*\29 +6015:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::Paragraph*\29 +6016:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::FontCollection*\29 +6017:void\20const*\20emscripten::internal::getActualType\28SkVertices*\29 +6018:void\20const*\20emscripten::internal::getActualType\28SkVertices::Builder*\29 +6019:void\20const*\20emscripten::internal::getActualType\28SkTypeface*\29 +6020:void\20const*\20emscripten::internal::getActualType\28SkTextBlob*\29 +6021:void\20const*\20emscripten::internal::getActualType\28SkSurface*\29 +6022:void\20const*\20emscripten::internal::getActualType\28SkShader*\29 +6023:void\20const*\20emscripten::internal::getActualType\28SkSL::DebugTrace*\29 +6024:void\20const*\20emscripten::internal::getActualType\28SkRuntimeEffect*\29 +6025:void\20const*\20emscripten::internal::getActualType\28SkPictureRecorder*\29 +6026:void\20const*\20emscripten::internal::getActualType\28SkPicture*\29 +6027:void\20const*\20emscripten::internal::getActualType\28SkPathEffect*\29 +6028:void\20const*\20emscripten::internal::getActualType\28SkPath*\29 +6029:void\20const*\20emscripten::internal::getActualType\28SkPaint*\29 +6030:void\20const*\20emscripten::internal::getActualType\28SkMaskFilter*\29 +6031:void\20const*\20emscripten::internal::getActualType\28SkImageFilter*\29 +6032:void\20const*\20emscripten::internal::getActualType\28SkImage*\29 +6033:void\20const*\20emscripten::internal::getActualType\28SkFontMgr*\29 +6034:void\20const*\20emscripten::internal::getActualType\28SkFont*\29 +6035:void\20const*\20emscripten::internal::getActualType\28SkContourMeasureIter*\29 +6036:void\20const*\20emscripten::internal::getActualType\28SkContourMeasure*\29 +6037:void\20const*\20emscripten::internal::getActualType\28SkColorSpace*\29 +6038:void\20const*\20emscripten::internal::getActualType\28SkColorFilter*\29 +6039:void\20const*\20emscripten::internal::getActualType\28SkCanvas*\29 +6040:void\20const*\20emscripten::internal::getActualType\28SkBlender*\29 +6041:void\20const*\20emscripten::internal::getActualType\28SkAnimatedImage*\29 +6042:void\20const*\20emscripten::internal::getActualType\28GrDirectContext*\29 +6043:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6044:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6045:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6046:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6047:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6048:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6049:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6050:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6051:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6052:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6053:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6054:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6055:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6056:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6057:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6058:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6059:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6060:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6061:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6062:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6063:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6064:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6065:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6066:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6067:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6068:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6069:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6070:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6071:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6072:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6073:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6074:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6075:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6076:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6077:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6078:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6079:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6080:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6081:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6082:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6083:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6084:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6085:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6086:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6087:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6088:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6089:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6090:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6091:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6092:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6093:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6094:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6095:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6096:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6097:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6098:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6099:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6100:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6101:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6102:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6103:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6104:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6105:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6106:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6107:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6108:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6109:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6110:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6111:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6112:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6113:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6114:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6115:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6116:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6117:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6118:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6119:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6120:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6121:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6122:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6123:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6124:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6125:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6126:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6127:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6128:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6129:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6130:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6131:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6132:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6133:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6134:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6135:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6136:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6137:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6138:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6139:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6140:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6141:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6142:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6143:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6144:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6145:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6146:void\20SkSwizzler::SkipLeading8888ZerosThen<&sample4\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6147:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6148:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6149:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6150:void\20SkSwizzler::SkipLeading8888ZerosThen<©\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6151:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +6152:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +6153:virtual\20thunk\20to\20std::__2::basic_ostream>::~basic_ostream\28\29.1 +6154:virtual\20thunk\20to\20std::__2::basic_ostream>::~basic_ostream\28\29 +6155:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29.1 +6156:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29 +6157:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +6158:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +6159:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +6160:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +6161:virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +6162:virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +6163:virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +6164:virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +6165:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29.1 +6166:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29 +6167:virtual\20thunk\20to\20GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +6168:virtual\20thunk\20to\20GrTextureProxy::instantiate\28GrResourceProvider*\29 +6169:virtual\20thunk\20to\20GrTextureProxy::getUniqueKey\28\29\20const +6170:virtual\20thunk\20to\20GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +6171:virtual\20thunk\20to\20GrTextureProxy::callbackDesc\28\29\20const +6172:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29\20const +6173:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29 +6174:virtual\20thunk\20to\20GrTexture::onGpuMemorySize\28\29\20const +6175:virtual\20thunk\20to\20GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +6176:virtual\20thunk\20to\20GrTexture::asTexture\28\29\20const +6177:virtual\20thunk\20to\20GrTexture::asTexture\28\29 +6178:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +6179:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +6180:virtual\20thunk\20to\20GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +6181:virtual\20thunk\20to\20GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +6182:virtual\20thunk\20to\20GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +6183:virtual\20thunk\20to\20GrRenderTargetProxy::callbackDesc\28\29\20const +6184:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29\20const +6185:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29 +6186:virtual\20thunk\20to\20GrRenderTarget::onRelease\28\29 +6187:virtual\20thunk\20to\20GrRenderTarget::onAbandon\28\29 +6188:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29\20const +6189:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29 +6190:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +6191:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +6192:virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +6193:virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +6194:virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +6195:virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +6196:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29.1 +6197:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29 +6198:virtual\20thunk\20to\20GrGLTexture::onRelease\28\29 +6199:virtual\20thunk\20to\20GrGLTexture::onAbandon\28\29 +6200:virtual\20thunk\20to\20GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +6201:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +6202:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +6203:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::onFinalize\28\29 +6204:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +6205:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29 +6206:virtual\20thunk\20to\20GrGLRenderTarget::onRelease\28\29 +6207:virtual\20thunk\20to\20GrGLRenderTarget::onGpuMemorySize\28\29\20const +6208:virtual\20thunk\20to\20GrGLRenderTarget::onAbandon\28\29 +6209:virtual\20thunk\20to\20GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +6210:virtual\20thunk\20to\20GrGLRenderTarget::backendFormat\28\29\20const +6211:utf8TextMapOffsetToNative\28UText\20const*\29 +6212:utf8TextMapIndexToUTF16\28UText\20const*\2c\20long\20long\29 +6213:utf8TextLength\28UText*\29 +6214:utf8TextExtract\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +6215:utf8TextClone\28UText*\2c\20UText\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +6216:utext_openUTF8_74 +6217:ures_loc_resetLocales\28UEnumeration*\2c\20UErrorCode*\29 +6218:ures_loc_nextLocale\28UEnumeration*\2c\20int*\2c\20UErrorCode*\29 +6219:ures_loc_countLocales\28UEnumeration*\2c\20UErrorCode*\29 +6220:ures_loc_closeLocales\28UEnumeration*\29 +6221:ures_cleanup\28\29 +6222:unistrTextReplace\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t\20const*\2c\20int\2c\20UErrorCode*\29 +6223:unistrTextLength\28UText*\29 +6224:unistrTextExtract\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +6225:unistrTextCopy\28UText*\2c\20long\20long\2c\20long\20long\2c\20long\20long\2c\20signed\20char\2c\20UErrorCode*\29 +6226:unistrTextClose\28UText*\29 +6227:unistrTextClone\28UText*\2c\20UText\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +6228:unistrTextAccess\28UText*\2c\20long\20long\2c\20signed\20char\29 +6229:uloc_kw_resetKeywords\28UEnumeration*\2c\20UErrorCode*\29 +6230:uloc_kw_nextKeyword\28UEnumeration*\2c\20int*\2c\20UErrorCode*\29 +6231:uloc_kw_countKeywords\28UEnumeration*\2c\20UErrorCode*\29 +6232:uloc_kw_closeKeywords\28UEnumeration*\29 +6233:uloc_key_type_cleanup\28\29 +6234:uloc_getDefault_74 +6235:uloc_forLanguageTag_74 +6236:uhash_hashUnicodeString_74 +6237:uhash_hashUChars_74 +6238:uhash_hashIChars_74 +6239:uhash_deleteHashtable_74 +6240:uhash_compareUnicodeString_74 +6241:uhash_compareUChars_74 +6242:uhash_compareLong_74 +6243:uhash_compareIChars_74 +6244:uenum_unextDefault_74 +6245:udata_cleanup\28\29 +6246:ucstrTextLength\28UText*\29 +6247:ucstrTextExtract\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +6248:ucstrTextClone\28UText*\2c\20UText\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +6249:ubrk_setUText_74 +6250:ubrk_setText_74 +6251:ubrk_preceding_74 +6252:ubrk_open_74 +6253:ubrk_next_74 +6254:ubrk_getRuleStatus_74 +6255:ubrk_following_74 +6256:ubrk_first_74 +6257:ubrk_current_74 +6258:ubidi_reorderVisual_74 +6259:ubidi_openSized_74 +6260:ubidi_getLevelAt_74 +6261:ubidi_getLength_74 +6262:ubidi_getDirection_74 +6263:u_strToUpper_74 +6264:u_isspace_74 +6265:u_iscntrl_74 +6266:u_isWhitespace_74 +6267:u_errorName_74 +6268:tt_vadvance_adjust +6269:tt_slot_init +6270:tt_size_select +6271:tt_size_reset_iterator +6272:tt_size_request +6273:tt_size_init +6274:tt_size_done +6275:tt_sbit_decoder_load_png +6276:tt_sbit_decoder_load_compound +6277:tt_sbit_decoder_load_byte_aligned +6278:tt_sbit_decoder_load_bit_aligned +6279:tt_property_set +6280:tt_property_get +6281:tt_name_ascii_from_utf16 +6282:tt_name_ascii_from_other +6283:tt_hadvance_adjust +6284:tt_glyph_load +6285:tt_get_var_blend +6286:tt_get_interface +6287:tt_get_glyph_name +6288:tt_get_cmap_info +6289:tt_get_advances +6290:tt_face_set_sbit_strike +6291:tt_face_load_strike_metrics +6292:tt_face_load_sbit_image +6293:tt_face_load_sbit +6294:tt_face_load_post +6295:tt_face_load_pclt +6296:tt_face_load_os2 +6297:tt_face_load_name +6298:tt_face_load_maxp +6299:tt_face_load_kern +6300:tt_face_load_hmtx +6301:tt_face_load_hhea +6302:tt_face_load_head +6303:tt_face_load_gasp +6304:tt_face_load_font_dir +6305:tt_face_load_cpal +6306:tt_face_load_colr +6307:tt_face_load_cmap +6308:tt_face_load_bhed +6309:tt_face_load_any +6310:tt_face_init +6311:tt_face_goto_table +6312:tt_face_get_paint_layers +6313:tt_face_get_paint +6314:tt_face_get_kerning +6315:tt_face_get_colr_layer +6316:tt_face_get_colr_glyph_paint +6317:tt_face_get_colorline_stops +6318:tt_face_get_color_glyph_clipbox +6319:tt_face_free_sbit +6320:tt_face_free_ps_names +6321:tt_face_free_name +6322:tt_face_free_cpal +6323:tt_face_free_colr +6324:tt_face_done +6325:tt_face_colr_blend_layer +6326:tt_driver_init +6327:tt_cvt_ready_iterator +6328:tt_cmap_unicode_init +6329:tt_cmap_unicode_char_next +6330:tt_cmap_unicode_char_index +6331:tt_cmap_init +6332:tt_cmap8_validate +6333:tt_cmap8_get_info +6334:tt_cmap8_char_next +6335:tt_cmap8_char_index +6336:tt_cmap6_validate +6337:tt_cmap6_get_info +6338:tt_cmap6_char_next +6339:tt_cmap6_char_index +6340:tt_cmap4_validate +6341:tt_cmap4_init +6342:tt_cmap4_get_info +6343:tt_cmap4_char_next +6344:tt_cmap4_char_index +6345:tt_cmap2_validate +6346:tt_cmap2_get_info +6347:tt_cmap2_char_next +6348:tt_cmap2_char_index +6349:tt_cmap14_variants +6350:tt_cmap14_variant_chars +6351:tt_cmap14_validate +6352:tt_cmap14_init +6353:tt_cmap14_get_info +6354:tt_cmap14_done +6355:tt_cmap14_char_variants +6356:tt_cmap14_char_var_isdefault +6357:tt_cmap14_char_var_index +6358:tt_cmap14_char_next +6359:tt_cmap13_validate +6360:tt_cmap13_get_info +6361:tt_cmap13_char_next +6362:tt_cmap13_char_index +6363:tt_cmap12_validate +6364:tt_cmap12_get_info +6365:tt_cmap12_char_next +6366:tt_cmap12_char_index +6367:tt_cmap10_validate +6368:tt_cmap10_get_info +6369:tt_cmap10_char_next +6370:tt_cmap10_char_index +6371:tt_cmap0_validate +6372:tt_cmap0_get_info +6373:tt_cmap0_char_next +6374:tt_cmap0_char_index +6375:transform_scanline_rgbA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6376:transform_scanline_memcpy\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6377:transform_scanline_bgra_1010102_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6378:transform_scanline_bgra_1010102\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6379:transform_scanline_bgra_10101010_xr\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6380:transform_scanline_bgr_101010x_xr\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6381:transform_scanline_bgr_101010x\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6382:transform_scanline_bgrA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6383:transform_scanline_RGBX\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6384:transform_scanline_F32_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6385:transform_scanline_F32\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6386:transform_scanline_F16_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6387:transform_scanline_F16\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6388:transform_scanline_BGRX\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6389:transform_scanline_BGRA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6390:transform_scanline_A8_to_GrayAlpha\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6391:transform_scanline_565\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6392:transform_scanline_444\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6393:transform_scanline_4444\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6394:transform_scanline_101010x\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6395:transform_scanline_1010102_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6396:transform_scanline_1010102\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6397:t2_hints_stems +6398:t2_hints_open +6399:t1_make_subfont +6400:t1_hints_stem +6401:t1_hints_open +6402:t1_decrypt +6403:t1_decoder_parse_metrics +6404:t1_decoder_init +6405:t1_decoder_done +6406:t1_cmap_unicode_init +6407:t1_cmap_unicode_char_next +6408:t1_cmap_unicode_char_index +6409:t1_cmap_std_done +6410:t1_cmap_std_char_next +6411:t1_cmap_std_char_index +6412:t1_cmap_standard_init +6413:t1_cmap_expert_init +6414:t1_cmap_custom_init +6415:t1_cmap_custom_done +6416:t1_cmap_custom_char_next +6417:t1_cmap_custom_char_index +6418:t1_builder_start_point +6419:t1_builder_init +6420:t1_builder_add_point1 +6421:t1_builder_add_point +6422:t1_builder_add_contour +6423:swizzle_small_index_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6424:swizzle_small_index_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6425:swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6426:swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6427:swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6428:swizzle_rgba16_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6429:swizzle_rgba16_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6430:swizzle_rgba16_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6431:swizzle_rgba16_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6432:swizzle_rgb_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6433:swizzle_rgb_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6434:swizzle_rgb_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6435:swizzle_rgb16_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6436:swizzle_rgb16_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6437:swizzle_rgb16_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6438:swizzle_mask32_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6439:swizzle_mask32_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6440:swizzle_mask32_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6441:swizzle_mask32_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6442:swizzle_mask32_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6443:swizzle_mask32_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6444:swizzle_mask32_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6445:swizzle_mask24_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6446:swizzle_mask24_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6447:swizzle_mask24_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6448:swizzle_mask24_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6449:swizzle_mask24_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6450:swizzle_mask24_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6451:swizzle_mask24_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6452:swizzle_mask16_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6453:swizzle_mask16_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6454:swizzle_mask16_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6455:swizzle_mask16_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6456:swizzle_mask16_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6457:swizzle_mask16_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6458:swizzle_mask16_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6459:swizzle_index_to_n32_skipZ\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6460:swizzle_index_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6461:swizzle_index_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6462:swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6463:swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6464:swizzle_grayalpha_to_a8\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6465:swizzle_gray_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6466:swizzle_gray_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6467:swizzle_cmyk_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6468:swizzle_cmyk_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6469:swizzle_cmyk_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6470:swizzle_bit_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6471:swizzle_bit_to_grayscale\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6472:swizzle_bit_to_f16\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6473:swizzle_bit_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6474:swizzle_bgr_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6475:string_read +6476:std::exception::what\28\29\20const +6477:std::bad_variant_access::what\28\29\20const +6478:std::bad_optional_access::what\28\29\20const +6479:std::bad_array_new_length::what\28\29\20const +6480:std::bad_alloc::what\28\29\20const +6481:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +6482:std::__2::unique_ptr>::operator=\5babi:v160004\5d\28std::__2::unique_ptr>&&\29 +6483:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20tm\20const*\2c\20char\2c\20char\29\20const +6484:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20tm\20const*\2c\20char\2c\20char\29\20const +6485:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6486:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6487:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6488:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6489:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6490:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +6491:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6492:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6493:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6494:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6495:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6496:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +6497:std::__2::numpunct::~numpunct\28\29.1 +6498:std::__2::numpunct::do_truename\28\29\20const +6499:std::__2::numpunct::do_grouping\28\29\20const +6500:std::__2::numpunct::do_falsename\28\29\20const +6501:std::__2::numpunct::~numpunct\28\29.1 +6502:std::__2::numpunct::do_truename\28\29\20const +6503:std::__2::numpunct::do_thousands_sep\28\29\20const +6504:std::__2::numpunct::do_grouping\28\29\20const +6505:std::__2::numpunct::do_falsename\28\29\20const +6506:std::__2::numpunct::do_decimal_point\28\29\20const +6507:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20void\20const*\29\20const +6508:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\29\20const +6509:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\20long\29\20const +6510:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +6511:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +6512:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +6513:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20double\29\20const +6514:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20bool\29\20const +6515:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20void\20const*\29\20const +6516:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\29\20const +6517:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\20long\29\20const +6518:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +6519:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +6520:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +6521:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20double\29\20const +6522:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20bool\29\20const +6523:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +6524:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +6525:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +6526:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +6527:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +6528:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +6529:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +6530:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +6531:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +6532:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +6533:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +6534:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +6535:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +6536:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +6537:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +6538:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +6539:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +6540:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +6541:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +6542:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +6543:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +6544:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +6545:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +6546:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +6547:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +6548:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +6549:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +6550:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +6551:std::__2::locale::id::__init\28\29 +6552:std::__2::locale::__imp::~__imp\28\29.1 +6553:std::__2::ios_base::~ios_base\28\29.1 +6554:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +6555:std::__2::ctype::do_toupper\28wchar_t\29\20const +6556:std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +6557:std::__2::ctype::do_tolower\28wchar_t\29\20const +6558:std::__2::ctype::do_tolower\28wchar_t*\2c\20wchar_t\20const*\29\20const +6559:std::__2::ctype::do_scan_not\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6560:std::__2::ctype::do_scan_is\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6561:std::__2::ctype::do_narrow\28wchar_t\2c\20char\29\20const +6562:std::__2::ctype::do_narrow\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20char\2c\20char*\29\20const +6563:std::__2::ctype::do_is\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20unsigned\20long*\29\20const +6564:std::__2::ctype::do_is\28unsigned\20long\2c\20wchar_t\29\20const +6565:std::__2::ctype::~ctype\28\29.1 +6566:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +6567:std::__2::ctype::do_toupper\28char\29\20const +6568:std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +6569:std::__2::ctype::do_tolower\28char\29\20const +6570:std::__2::ctype::do_tolower\28char*\2c\20char\20const*\29\20const +6571:std::__2::ctype::do_narrow\28char\2c\20char\29\20const +6572:std::__2::ctype::do_narrow\28char\20const*\2c\20char\20const*\2c\20char\2c\20char*\29\20const +6573:std::__2::collate::do_transform\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6574:std::__2::collate::do_hash\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6575:std::__2::collate::do_compare\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6576:std::__2::collate::do_transform\28char\20const*\2c\20char\20const*\29\20const +6577:std::__2::collate::do_hash\28char\20const*\2c\20char\20const*\29\20const +6578:std::__2::collate::do_compare\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +6579:std::__2::codecvt::~codecvt\28\29.1 +6580:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char*\2c\20char*\2c\20char*&\29\20const +6581:std::__2::codecvt::do_out\28__mbstate_t&\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +6582:std::__2::codecvt::do_max_length\28\29\20const +6583:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +6584:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20wchar_t*\2c\20wchar_t*\2c\20wchar_t*&\29\20const +6585:std::__2::codecvt::do_encoding\28\29\20const +6586:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +6587:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29.1 +6588:std::__2::basic_stringbuf\2c\20std::__2::allocator>::underflow\28\29 +6589:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +6590:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +6591:std::__2::basic_stringbuf\2c\20std::__2::allocator>::pbackfail\28int\29 +6592:std::__2::basic_stringbuf\2c\20std::__2::allocator>::overflow\28int\29 +6593:std::__2::basic_streambuf>::~basic_streambuf\28\29.1 +6594:std::__2::basic_streambuf>::xsputn\28char\20const*\2c\20long\29 +6595:std::__2::basic_streambuf>::xsgetn\28char*\2c\20long\29 +6596:std::__2::basic_streambuf>::uflow\28\29 +6597:std::__2::basic_streambuf>::setbuf\28char*\2c\20long\29 +6598:std::__2::basic_streambuf>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +6599:std::__2::basic_streambuf>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +6600:std::__2::bad_function_call::what\28\29\20const +6601:std::__2::__time_get_c_storage::__x\28\29\20const +6602:std::__2::__time_get_c_storage::__weeks\28\29\20const +6603:std::__2::__time_get_c_storage::__r\28\29\20const +6604:std::__2::__time_get_c_storage::__months\28\29\20const +6605:std::__2::__time_get_c_storage::__c\28\29\20const +6606:std::__2::__time_get_c_storage::__am_pm\28\29\20const +6607:std::__2::__time_get_c_storage::__X\28\29\20const +6608:std::__2::__time_get_c_storage::__x\28\29\20const +6609:std::__2::__time_get_c_storage::__weeks\28\29\20const +6610:std::__2::__time_get_c_storage::__r\28\29\20const +6611:std::__2::__time_get_c_storage::__months\28\29\20const +6612:std::__2::__time_get_c_storage::__c\28\29\20const +6613:std::__2::__time_get_c_storage::__am_pm\28\29\20const +6614:std::__2::__time_get_c_storage::__X\28\29\20const +6615:std::__2::__shared_ptr_pointer<_IO_FILE*\2c\20void\20\28*\29\28_IO_FILE*\29\2c\20std::__2::allocator<_IO_FILE>>::__on_zero_shared\28\29 +6616:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6617:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6618:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +6619:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6620:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6621:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +6622:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6623:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6624:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6625:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6626:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6627:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6628:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6629:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6630:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6631:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6632:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6633:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6634:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6635:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6636:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6637:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6638:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6639:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6640:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6641:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6642:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +6643:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6644:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +6645:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +6646:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6647:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +6648:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6649:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6650:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6651:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6652:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6653:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6654:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6655:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6656:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6657:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6658:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6659:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6660:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6661:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6662:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6663:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6664:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6665:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6666:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6667:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6668:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6669:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6670:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6671:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6672:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6673:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6674:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6675:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6676:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6677:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6678:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6679:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6680:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6681:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6682:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6683:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6684:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6685:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6686:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6687:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20float&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20SkPoint&&\2c\20SkPoint&&\2c\20skia::textlayout::InternalLineMetrics&&\2c\20bool&&\29 +6688:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>*\29\20const +6689:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28\29\20const +6690:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::operator\28\29\28skia::textlayout::Cluster*&&\29 +6691:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28std::__2::__function::__base*\29\20const +6692:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28\29\20const +6693:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6694:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28\29\20const +6695:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20SkSpan&&\2c\20float&\2c\20unsigned\20long&&\2c\20unsigned\20char&&\29 +6696:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28std::__2::__function::__base\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>*\29\20const +6697:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +6698:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::operator\28\29\28skia::textlayout::Block&&\2c\20skia_private::TArray&&\29 +6699:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6700:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28\29\20const +6701:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::operator\28\29\28sk_sp&&\29 +6702:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6703:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28\29\20const +6704:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::operator\28\29\28skia::textlayout::SkRange&&\29 +6705:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6706:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28\29\20const +6707:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +6708:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +6709:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +6710:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29.1 +6711:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29 +6712:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::operator\28\29\28void*&&\2c\20void\20const*&&\29 +6713:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy_deallocate\28\29 +6714:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy\28\29 +6715:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6716:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28\29\20const +6717:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6718:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6719:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6720:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6721:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6722:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6723:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6724:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6725:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6726:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6727:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6728:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6729:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6730:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6731:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6732:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +6733:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +6734:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +6735:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::operator\28\29\28sktext::gpu::GlyphVector*&&\2c\20int&&\2c\20int&&\2c\20skgpu::MaskFormat&&\2c\20int&&\29 +6736:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28std::__2::__function::__base\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>*\29\20const +6737:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28\29\20const +6738:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::operator\28\29\28GrSurfaceProxy\20const*&&\29 +6739:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6740:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28\29\20const +6741:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +6742:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6743:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +6744:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6745:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6746:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6747:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6748:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +6749:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6750:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6751:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::operator\28\29\28\29 +6752:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6753:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28\29\20const +6754:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6755:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6756:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6757:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6758:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6759:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6760:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6761:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6762:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6763:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6764:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6765:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6766:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6767:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6768:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6769:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6770:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6771:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6772:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6773:std::__2::__function::__func>*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator>*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::operator\28\29\28int&&\2c\20int&&\29 +6774:std::__2::__function::__func>*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator>*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6775:std::__2::__function::__func>*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator>*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28\29\20const +6776:std::__2::__function::__func*\29::'lambda0'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda0'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::operator\28\29\28int&&\2c\20int&&\29 +6777:std::__2::__function::__func*\29::'lambda0'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda0'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6778:std::__2::__function::__func*\29::'lambda0'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda0'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28\29\20const +6779:std::__2::__function::__func*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::operator\28\29\28int&&\2c\20int&&\29 +6780:std::__2::__function::__func*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6781:std::__2::__function::__func*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28\29\20const +6782:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29.1 +6783:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29 +6784:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +6785:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy_deallocate\28\29 +6786:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy\28\29 +6787:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6788:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6789:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +6790:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6791:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +6792:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::operator\28\29\28unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\29 +6793:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6794:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +6795:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6796:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +6797:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::operator\28\29\28SkVertices\20const*&&\2c\20SkBlendMode&&\2c\20SkPaint\20const&\2c\20float&&\2c\20float&&\2c\20bool&&\29 +6798:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6799:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28\29\20const +6800:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::operator\28\29\28SkIRect\20const&\29 +6801:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6802:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +6803:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::operator\28\29\28SkImageInfo\20const&\2c\20void*&&\2c\20unsigned\20long&&\2c\20SkCodec::Options\20const&\2c\20int&&\29 +6804:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6805:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::__clone\28\29\20const +6806:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6807:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6808:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6809:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6810:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6811:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6812:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6813:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6814:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6815:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6816:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6817:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6818:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6819:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6820:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6821:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6822:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6823:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6824:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6825:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6826:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6827:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::operator\28\29\28GrTextureProxy*&&\2c\20SkIRect&&\2c\20GrColorType&&\2c\20void\20const*&&\2c\20unsigned\20long&&\29 +6828:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6829:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28\29\20const +6830:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::operator\28\29\28GrBackendTexture&&\29 +6831:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28std::__2::__function::__base*\29\20const +6832:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28\29\20const +6833:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6834:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6835:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6836:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6837:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6838:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6839:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6840:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6841:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6842:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6843:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6844:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6845:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6846:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6847:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6848:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6849:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6850:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6851:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +6852:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +6853:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6854:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6855:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +6856:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +6857:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6858:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6859:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +6860:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6861:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6862:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::operator\28\29\28int&&\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*&&\29 +6863:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6864:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28\29\20const +6865:start_pass_upsample +6866:start_pass_phuff_decoder +6867:start_pass_merged_upsample +6868:start_pass_main +6869:start_pass_huff_decoder +6870:start_pass_dpost +6871:start_pass_2_quant +6872:start_pass_1_quant +6873:start_pass +6874:start_output_pass +6875:start_input_pass.1 +6876:stackSave +6877:stackRestore +6878:srgb_to_hwb\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +6879:srgb_to_hsl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +6880:srcover_p\28unsigned\20char\2c\20unsigned\20char\29 +6881:sn_write +6882:sktext::gpu::post_purge_blob_message\28unsigned\20int\2c\20unsigned\20int\29 +6883:sktext::gpu::TextBlob::~TextBlob\28\29.1 +6884:sktext::gpu::TextBlob::~TextBlob\28\29 +6885:sktext::gpu::SubRun::~SubRun\28\29 +6886:sktext::gpu::SlugImpl::~SlugImpl\28\29.1 +6887:sktext::gpu::SlugImpl::~SlugImpl\28\29 +6888:sktext::gpu::SlugImpl::sourceBounds\28\29\20const +6889:sktext::gpu::SlugImpl::sourceBoundsWithOrigin\28\29\20const +6890:sktext::gpu::SlugImpl::doFlatten\28SkWriteBuffer&\29\20const +6891:sktext::gpu::SDFMaskFilterImpl::getTypeName\28\29\20const +6892:sktext::gpu::SDFMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +6893:sktext::gpu::SDFMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +6894:skip_variable +6895:skif::\28anonymous\20namespace\29::RasterBackend::~RasterBackend\28\29 +6896:skif::\28anonymous\20namespace\29::RasterBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +6897:skif::\28anonymous\20namespace\29::RasterBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +6898:skif::\28anonymous\20namespace\29::RasterBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +6899:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +6900:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +6901:skif::\28anonymous\20namespace\29::GaneshBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +6902:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +6903:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +6904:skif::\28anonymous\20namespace\29::GaneshBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +6905:skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +6906:skia_png_zalloc +6907:skia_png_write_rows +6908:skia_png_write_info +6909:skia_png_write_end +6910:skia_png_user_version_check +6911:skia_png_set_text +6912:skia_png_set_sRGB +6913:skia_png_set_keep_unknown_chunks +6914:skia_png_set_iCCP +6915:skia_png_set_gray_to_rgb +6916:skia_png_set_filter +6917:skia_png_set_filler +6918:skia_png_read_update_info +6919:skia_png_read_info +6920:skia_png_read_image +6921:skia_png_read_end +6922:skia_png_push_fill_buffer +6923:skia_png_process_data +6924:skia_png_default_write_data +6925:skia_png_default_read_data +6926:skia_png_default_flush +6927:skia_png_create_read_struct +6928:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29.1 +6929:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29 +6930:skia::textlayout::TypefaceFontStyleSet::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +6931:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29.1 +6932:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29 +6933:skia::textlayout::TypefaceFontProvider::onMatchFamily\28char\20const*\29\20const +6934:skia::textlayout::TypefaceFontProvider::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +6935:skia::textlayout::TypefaceFontProvider::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +6936:skia::textlayout::TypefaceFontProvider::onGetFamilyName\28int\2c\20SkString*\29\20const +6937:skia::textlayout::TypefaceFontProvider::onCreateStyleSet\28int\29\20const +6938:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29.1 +6939:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29 +6940:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6941:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6942:skia::textlayout::PositionWithAffinity*\20emscripten::internal::raw_constructor\28\29 +6943:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29.1 +6944:skia::textlayout::ParagraphImpl::visit\28std::__2::function\20const&\29 +6945:skia::textlayout::ParagraphImpl::updateTextAlign\28skia::textlayout::TextAlign\29 +6946:skia::textlayout::ParagraphImpl::updateForegroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +6947:skia::textlayout::ParagraphImpl::updateFontSize\28unsigned\20long\2c\20unsigned\20long\2c\20float\29 +6948:skia::textlayout::ParagraphImpl::updateBackgroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +6949:skia::textlayout::ParagraphImpl::unresolvedGlyphs\28\29 +6950:skia::textlayout::ParagraphImpl::unresolvedCodepoints\28\29 +6951:skia::textlayout::ParagraphImpl::paint\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\29 +6952:skia::textlayout::ParagraphImpl::paint\28SkCanvas*\2c\20float\2c\20float\29 +6953:skia::textlayout::ParagraphImpl::markDirty\28\29 +6954:skia::textlayout::ParagraphImpl::lineNumber\28\29 +6955:skia::textlayout::ParagraphImpl::layout\28float\29 +6956:skia::textlayout::ParagraphImpl::getWordBoundary\28unsigned\20int\29 +6957:skia::textlayout::ParagraphImpl::getRectsForRange\28unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +6958:skia::textlayout::ParagraphImpl::getRectsForPlaceholders\28\29 +6959:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +6960:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29 +6961:skia::textlayout::ParagraphImpl::getLineNumberAt\28unsigned\20long\29\20const +6962:skia::textlayout::ParagraphImpl::getLineNumberAtUTF16Offset\28unsigned\20long\29 +6963:skia::textlayout::ParagraphImpl::getLineMetrics\28std::__2::vector>&\29 +6964:skia::textlayout::ParagraphImpl::getLineMetricsAt\28int\2c\20skia::textlayout::LineMetrics*\29\20const +6965:skia::textlayout::ParagraphImpl::getGlyphPositionAtCoordinate\28float\2c\20float\29 +6966:skia::textlayout::ParagraphImpl::getFonts\28\29\20const +6967:skia::textlayout::ParagraphImpl::getFontAt\28unsigned\20long\29\20const +6968:skia::textlayout::ParagraphImpl::getFontAtUTF16Offset\28unsigned\20long\29 +6969:skia::textlayout::ParagraphImpl::getClosestUTF16GlyphInfoAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +6970:skia::textlayout::ParagraphImpl::getClosestGlyphClusterAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +6971:skia::textlayout::ParagraphImpl::getActualTextRange\28int\2c\20bool\29\20const +6972:skia::textlayout::ParagraphImpl::extendedVisit\28std::__2::function\20const&\29 +6973:skia::textlayout::ParagraphImpl::containsEmoji\28SkTextBlob*\29 +6974:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29::$_0::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +6975:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29 +6976:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29.1 +6977:skia::textlayout::ParagraphBuilderImpl::pushStyle\28skia::textlayout::TextStyle\20const&\29 +6978:skia::textlayout::ParagraphBuilderImpl::pop\28\29 +6979:skia::textlayout::ParagraphBuilderImpl::peekStyle\28\29 +6980:skia::textlayout::ParagraphBuilderImpl::getText\28\29 +6981:skia::textlayout::ParagraphBuilderImpl::getParagraphStyle\28\29\20const +6982:skia::textlayout::ParagraphBuilderImpl::addText\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +6983:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\2c\20unsigned\20long\29 +6984:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\29 +6985:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\29 +6986:skia::textlayout::ParagraphBuilderImpl::Reset\28\29 +6987:skia::textlayout::ParagraphBuilderImpl::RequiresClientICU\28\29 +6988:skia::textlayout::ParagraphBuilderImpl::Build\28\29 +6989:skia::textlayout::Paragraph::getMinIntrinsicWidth\28\29 +6990:skia::textlayout::Paragraph::getMaxWidth\28\29 +6991:skia::textlayout::Paragraph::getMaxIntrinsicWidth\28\29 +6992:skia::textlayout::Paragraph::getLongestLine\28\29 +6993:skia::textlayout::Paragraph::getIdeographicBaseline\28\29 +6994:skia::textlayout::Paragraph::getHeight\28\29 +6995:skia::textlayout::Paragraph::getAlphabeticBaseline\28\29 +6996:skia::textlayout::Paragraph::didExceedMaxLines\28\29 +6997:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29.1 +6998:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29 +6999:skia::textlayout::OneLineShaper::~OneLineShaper\28\29.1 +7000:skia::textlayout::OneLineShaper::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +7001:skia::textlayout::OneLineShaper::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +7002:skia::textlayout::LangIterator::~LangIterator\28\29.1 +7003:skia::textlayout::LangIterator::~LangIterator\28\29 +7004:skia::textlayout::LangIterator::endOfCurrentRun\28\29\20const +7005:skia::textlayout::LangIterator::currentLanguage\28\29\20const +7006:skia::textlayout::LangIterator::consume\28\29 +7007:skia::textlayout::LangIterator::atEnd\28\29\20const +7008:skia::textlayout::FontCollection::~FontCollection\28\29.1 +7009:skia::textlayout::CanvasParagraphPainter::translate\28float\2c\20float\29 +7010:skia::textlayout::CanvasParagraphPainter::save\28\29 +7011:skia::textlayout::CanvasParagraphPainter::restore\28\29 +7012:skia::textlayout::CanvasParagraphPainter::drawTextShadow\28sk_sp\20const&\2c\20float\2c\20float\2c\20unsigned\20int\2c\20float\29 +7013:skia::textlayout::CanvasParagraphPainter::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20std::__2::variant\20const&\29 +7014:skia::textlayout::CanvasParagraphPainter::drawRect\28SkRect\20const&\2c\20std::__2::variant\20const&\29 +7015:skia::textlayout::CanvasParagraphPainter::drawPath\28SkPath\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +7016:skia::textlayout::CanvasParagraphPainter::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +7017:skia::textlayout::CanvasParagraphPainter::drawFilledRect\28SkRect\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +7018:skia::textlayout::CanvasParagraphPainter::clipRect\28SkRect\20const&\29 +7019:skgpu::tess::FixedCountWedges::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7020:skgpu::tess::FixedCountWedges::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7021:skgpu::tess::FixedCountStrokes::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7022:skgpu::tess::FixedCountCurves::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7023:skgpu::tess::FixedCountCurves::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7024:skgpu::ganesh::texture_proxy_view_from_planes\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20skgpu::Budgeted\29::$_0::__invoke\28void*\2c\20void*\29 +7025:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29.1 +7026:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::visitProxies\28std::__2::function\20const&\29\20const +7027:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7028:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7029:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7030:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::name\28\29\20const +7031:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::fixedFunctionFlags\28\29\20const +7032:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7033:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::name\28\29\20const +7034:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7035:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7036:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7037:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +7038:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29.1 +7039:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29 +7040:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::name\28\29\20const +7041:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7042:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7043:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29.1 +7044:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29 +7045:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +7046:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7047:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7048:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7049:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7050:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::name\28\29\20const +7051:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::fixedFunctionFlags\28\29\20const +7052:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7053:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29.1 +7054:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29 +7055:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +7056:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7057:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7058:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7059:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7060:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::name\28\29\20const +7061:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7062:skgpu::ganesh::TriangulatingPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7063:skgpu::ganesh::TriangulatingPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7064:skgpu::ganesh::TriangulatingPathRenderer::name\28\29\20const +7065:skgpu::ganesh::TessellationPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +7066:skgpu::ganesh::TessellationPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +7067:skgpu::ganesh::TessellationPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7068:skgpu::ganesh::TessellationPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7069:skgpu::ganesh::TessellationPathRenderer::name\28\29\20const +7070:skgpu::ganesh::SurfaceDrawContext::willReplaceOpsTask\28skgpu::ganesh::OpsTask*\2c\20skgpu::ganesh::OpsTask*\29 +7071:skgpu::ganesh::SurfaceDrawContext::canDiscardPreviousOpsOnFullClear\28\29\20const +7072:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29.1 +7073:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +7074:skgpu::ganesh::SurfaceContext::asyncReadPixels\28GrDirectContext*\2c\20SkIRect\20const&\2c\20SkColorType\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +7075:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29.1 +7076:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29 +7077:skgpu::ganesh::StrokeTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +7078:skgpu::ganesh::StrokeTessellateOp::usesStencil\28\29\20const +7079:skgpu::ganesh::StrokeTessellateOp::onPrepare\28GrOpFlushState*\29 +7080:skgpu::ganesh::StrokeTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7081:skgpu::ganesh::StrokeTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7082:skgpu::ganesh::StrokeTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7083:skgpu::ganesh::StrokeTessellateOp::name\28\29\20const +7084:skgpu::ganesh::StrokeTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7085:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29.1 +7086:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29 +7087:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +7088:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::programInfo\28\29 +7089:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7090:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7091:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7092:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::name\28\29\20const +7093:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7094:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29.1 +7095:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29 +7096:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +7097:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::programInfo\28\29 +7098:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7099:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7100:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7101:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7102:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::name\28\29\20const +7103:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7104:skgpu::ganesh::StencilClip::~StencilClip\28\29.1 +7105:skgpu::ganesh::StencilClip::~StencilClip\28\29 +7106:skgpu::ganesh::StencilClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +7107:skgpu::ganesh::StencilClip::getConservativeBounds\28\29\20const +7108:skgpu::ganesh::StencilClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +7109:skgpu::ganesh::SoftwarePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7110:skgpu::ganesh::SoftwarePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7111:skgpu::ganesh::SoftwarePathRenderer::name\28\29\20const +7112:skgpu::ganesh::SmallPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7113:skgpu::ganesh::SmallPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7114:skgpu::ganesh::SmallPathRenderer::name\28\29\20const +7115:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +7116:skgpu::ganesh::SmallPathAtlasMgr::preFlush\28GrOnFlushResourceProvider*\29 +7117:skgpu::ganesh::SmallPathAtlasMgr::postFlush\28skgpu::AtlasToken\29 +7118:skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +7119:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29.1 +7120:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29 +7121:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::visitProxies\28std::__2::function\20const&\29\20const +7122:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::programInfo\28\29 +7123:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +7124:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7125:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7126:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7127:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::name\28\29\20const +7128:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7129:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_quad_generic\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7130:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7131:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7132:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7133:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7134:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7135:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7136:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7137:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29.1 +7138:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29 +7139:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::onTextureSampler\28int\29\20const +7140:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::name\28\29\20const +7141:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7142:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7143:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7144:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +7145:skgpu::ganesh::PathWedgeTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +7146:skgpu::ganesh::PathTessellator::~PathTessellator\28\29 +7147:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29.1 +7148:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29 +7149:skgpu::ganesh::PathTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +7150:skgpu::ganesh::PathTessellateOp::usesStencil\28\29\20const +7151:skgpu::ganesh::PathTessellateOp::onPrepare\28GrOpFlushState*\29 +7152:skgpu::ganesh::PathTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7153:skgpu::ganesh::PathTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7154:skgpu::ganesh::PathTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7155:skgpu::ganesh::PathTessellateOp::name\28\29\20const +7156:skgpu::ganesh::PathTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7157:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29.1 +7158:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29 +7159:skgpu::ganesh::PathStencilCoverOp::visitProxies\28std::__2::function\20const&\29\20const +7160:skgpu::ganesh::PathStencilCoverOp::onPrepare\28GrOpFlushState*\29 +7161:skgpu::ganesh::PathStencilCoverOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7162:skgpu::ganesh::PathStencilCoverOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7163:skgpu::ganesh::PathStencilCoverOp::name\28\29\20const +7164:skgpu::ganesh::PathStencilCoverOp::fixedFunctionFlags\28\29\20const +7165:skgpu::ganesh::PathStencilCoverOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7166:skgpu::ganesh::PathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +7167:skgpu::ganesh::PathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +7168:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29.1 +7169:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29 +7170:skgpu::ganesh::PathInnerTriangulateOp::visitProxies\28std::__2::function\20const&\29\20const +7171:skgpu::ganesh::PathInnerTriangulateOp::onPrepare\28GrOpFlushState*\29 +7172:skgpu::ganesh::PathInnerTriangulateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7173:skgpu::ganesh::PathInnerTriangulateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7174:skgpu::ganesh::PathInnerTriangulateOp::name\28\29\20const +7175:skgpu::ganesh::PathInnerTriangulateOp::fixedFunctionFlags\28\29\20const +7176:skgpu::ganesh::PathInnerTriangulateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7177:skgpu::ganesh::PathCurveTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +7178:skgpu::ganesh::OpsTask::~OpsTask\28\29.1 +7179:skgpu::ganesh::OpsTask::onPrepare\28GrOpFlushState*\29 +7180:skgpu::ganesh::OpsTask::onPrePrepare\28GrRecordingContext*\29 +7181:skgpu::ganesh::OpsTask::onMakeSkippable\28\29 +7182:skgpu::ganesh::OpsTask::onIsUsed\28GrSurfaceProxy*\29\20const +7183:skgpu::ganesh::OpsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +7184:skgpu::ganesh::OpsTask::endFlush\28GrDrawingManager*\29 +7185:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29.1 +7186:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::visitProxies\28std::__2::function\20const&\29\20const +7187:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7188:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7189:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7190:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7191:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::name\28\29\20const +7192:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7193:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29.1 +7194:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29 +7195:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::onTextureSampler\28int\29\20const +7196:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::name\28\29\20const +7197:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7198:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7199:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7200:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +7201:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29.1 +7202:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29 +7203:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +7204:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::programInfo\28\29 +7205:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +7206:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7207:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7208:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7209:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::name\28\29\20const +7210:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7211:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::clipToShape\28skgpu::ganesh::SurfaceDrawContext*\2c\20SkClipOp\2c\20SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\29 +7212:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29.1 +7213:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29 +7214:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::name\28\29\20const +7215:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7216:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +7217:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7218:skgpu::ganesh::DrawableOp::~DrawableOp\28\29.1 +7219:skgpu::ganesh::DrawableOp::~DrawableOp\28\29 +7220:skgpu::ganesh::DrawableOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7221:skgpu::ganesh::DrawableOp::name\28\29\20const +7222:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29.1 +7223:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29 +7224:skgpu::ganesh::DrawAtlasPathOp::visitProxies\28std::__2::function\20const&\29\20const +7225:skgpu::ganesh::DrawAtlasPathOp::onPrepare\28GrOpFlushState*\29 +7226:skgpu::ganesh::DrawAtlasPathOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7227:skgpu::ganesh::DrawAtlasPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7228:skgpu::ganesh::DrawAtlasPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7229:skgpu::ganesh::DrawAtlasPathOp::name\28\29\20const +7230:skgpu::ganesh::DrawAtlasPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7231:skgpu::ganesh::Device::~Device\28\29.1 +7232:skgpu::ganesh::Device::~Device\28\29 +7233:skgpu::ganesh::Device::strikeDeviceInfo\28\29\20const +7234:skgpu::ganesh::Device::snapSpecial\28SkIRect\20const&\2c\20bool\29 +7235:skgpu::ganesh::Device::snapSpecialScaled\28SkIRect\20const&\2c\20SkISize\20const&\29 +7236:skgpu::ganesh::Device::replaceClip\28SkIRect\20const&\29 +7237:skgpu::ganesh::Device::recordingContext\28\29\20const +7238:skgpu::ganesh::Device::pushClipStack\28\29 +7239:skgpu::ganesh::Device::popClipStack\28\29 +7240:skgpu::ganesh::Device::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +7241:skgpu::ganesh::Device::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +7242:skgpu::ganesh::Device::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +7243:skgpu::ganesh::Device::onClipShader\28sk_sp\29 +7244:skgpu::ganesh::Device::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +7245:skgpu::ganesh::Device::makeSpecial\28SkImage\20const*\29 +7246:skgpu::ganesh::Device::isClipWideOpen\28\29\20const +7247:skgpu::ganesh::Device::isClipRect\28\29\20const +7248:skgpu::ganesh::Device::isClipEmpty\28\29\20const +7249:skgpu::ganesh::Device::isClipAntiAliased\28\29\20const +7250:skgpu::ganesh::Device::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +7251:skgpu::ganesh::Device::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +7252:skgpu::ganesh::Device::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +7253:skgpu::ganesh::Device::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +7254:skgpu::ganesh::Device::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +7255:skgpu::ganesh::Device::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +7256:skgpu::ganesh::Device::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +7257:skgpu::ganesh::Device::drawPaint\28SkPaint\20const&\29 +7258:skgpu::ganesh::Device::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +7259:skgpu::ganesh::Device::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +7260:skgpu::ganesh::Device::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +7261:skgpu::ganesh::Device::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +7262:skgpu::ganesh::Device::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +7263:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +7264:skgpu::ganesh::Device::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +7265:skgpu::ganesh::Device::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +7266:skgpu::ganesh::Device::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +7267:skgpu::ganesh::Device::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +7268:skgpu::ganesh::Device::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +7269:skgpu::ganesh::Device::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +7270:skgpu::ganesh::Device::devClipBounds\28\29\20const +7271:skgpu::ganesh::Device::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +7272:skgpu::ganesh::Device::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +7273:skgpu::ganesh::Device::convertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +7274:skgpu::ganesh::Device::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +7275:skgpu::ganesh::Device::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +7276:skgpu::ganesh::Device::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +7277:skgpu::ganesh::Device::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +7278:skgpu::ganesh::Device::android_utils_clipWithStencil\28\29 +7279:skgpu::ganesh::DefaultPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +7280:skgpu::ganesh::DefaultPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +7281:skgpu::ganesh::DefaultPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7282:skgpu::ganesh::DefaultPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7283:skgpu::ganesh::DefaultPathRenderer::name\28\29\20const +7284:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::name\28\29\20const +7285:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7286:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7287:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7288:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::name\28\29\20const +7289:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7290:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7291:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7292:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29.1 +7293:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29 +7294:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::visitProxies\28std::__2::function\20const&\29\20const +7295:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::programInfo\28\29 +7296:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +7297:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7298:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7299:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7300:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::name\28\29\20const +7301:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::fixedFunctionFlags\28\29\20const +7302:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7303:skgpu::ganesh::DashLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7304:skgpu::ganesh::DashLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7305:skgpu::ganesh::DashLinePathRenderer::name\28\29\20const +7306:skgpu::ganesh::ClipStack::~ClipStack\28\29.1 +7307:skgpu::ganesh::ClipStack::preApply\28SkRect\20const&\2c\20GrAA\29\20const +7308:skgpu::ganesh::ClipStack::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +7309:skgpu::ganesh::ClearOp::~ClearOp\28\29 +7310:skgpu::ganesh::ClearOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7311:skgpu::ganesh::ClearOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7312:skgpu::ganesh::ClearOp::name\28\29\20const +7313:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29.1 +7314:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29 +7315:skgpu::ganesh::AtlasTextOp::visitProxies\28std::__2::function\20const&\29\20const +7316:skgpu::ganesh::AtlasTextOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7317:skgpu::ganesh::AtlasTextOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7318:skgpu::ganesh::AtlasTextOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7319:skgpu::ganesh::AtlasTextOp::name\28\29\20const +7320:skgpu::ganesh::AtlasTextOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7321:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29.1 +7322:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29 +7323:skgpu::ganesh::AtlasRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +7324:skgpu::ganesh::AtlasRenderTask::onExecute\28GrOpFlushState*\29 +7325:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +7326:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +7327:skgpu::ganesh::AtlasPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7328:skgpu::ganesh::AtlasPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7329:skgpu::ganesh::AtlasPathRenderer::name\28\29\20const +7330:skgpu::ganesh::AALinearizingConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7331:skgpu::ganesh::AALinearizingConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7332:skgpu::ganesh::AALinearizingConvexPathRenderer::name\28\29\20const +7333:skgpu::ganesh::AAHairLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7334:skgpu::ganesh::AAHairLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7335:skgpu::ganesh::AAHairLinePathRenderer::name\28\29\20const +7336:skgpu::ganesh::AAConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7337:skgpu::ganesh::AAConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7338:skgpu::ganesh::AAConvexPathRenderer::name\28\29\20const +7339:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29.1 +7340:skgpu::TAsyncReadResult::rowBytes\28int\29\20const +7341:skgpu::TAsyncReadResult::data\28int\29\20const +7342:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29.1 +7343:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29 +7344:skgpu::StringKeyBuilder::appendComment\28char\20const*\29 +7345:skgpu::StringKeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +7346:skgpu::ShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\2c\20bool\29 +7347:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29.1 +7348:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29 +7349:skgpu::RectanizerSkyline::reset\28\29 +7350:skgpu::RectanizerSkyline::percentFull\28\29\20const +7351:skgpu::RectanizerPow2::reset\28\29 +7352:skgpu::RectanizerPow2::percentFull\28\29\20const +7353:skgpu::RectanizerPow2::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +7354:skgpu::Plot::~Plot\28\29.1 +7355:skgpu::Plot::~Plot\28\29 +7356:skgpu::KeyBuilder::~KeyBuilder\28\29 +7357:skgpu::KeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +7358:skgpu::DefaultShaderErrorHandler\28\29::DefaultShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\29 +7359:sk_write_fn\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20long\29 +7360:sk_sp*\20emscripten::internal::MemberAccess>::getWire\28sk_sp\20SimpleImageInfo::*\20const&\2c\20SimpleImageInfo\20const&\29 +7361:sk_read_user_chunk\28png_struct_def*\2c\20png_unknown_chunk_t*\29 +7362:sk_mmap_releaseproc\28void\20const*\2c\20void*\29 +7363:sk_ft_stream_io\28FT_StreamRec_*\2c\20unsigned\20long\2c\20unsigned\20char*\2c\20unsigned\20long\29 +7364:sk_ft_realloc\28FT_MemoryRec_*\2c\20long\2c\20long\2c\20void*\29 +7365:sk_ft_free\28FT_MemoryRec_*\2c\20void*\29 +7366:sk_ft_alloc\28FT_MemoryRec_*\2c\20long\29 +7367:sk_dataref_releaseproc\28void\20const*\2c\20void*\29 +7368:sfnt_table_info +7369:sfnt_stream_close +7370:sfnt_load_face +7371:sfnt_is_postscript +7372:sfnt_is_alphanumeric +7373:sfnt_init_face +7374:sfnt_get_ps_name +7375:sfnt_get_name_index +7376:sfnt_get_name_id +7377:sfnt_get_interface +7378:sfnt_get_glyph_name +7379:sfnt_get_charset_id +7380:sfnt_done_face +7381:setup_syllables_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7382:setup_syllables_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7383:setup_syllables_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7384:setup_syllables_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7385:setup_masks_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7386:setup_masks_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7387:setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7388:setup_masks_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7389:setup_masks_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7390:setup_masks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7391:service_cleanup\28\29 +7392:sep_upsample +7393:self_destruct +7394:scriptGetMaxValue\28IntProperty\20const&\2c\20UProperty\29 +7395:save_marker +7396:sample8\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7397:sample6\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7398:sample4\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7399:sample2\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7400:sample1\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7401:rgb_rgb_convert +7402:rgb_rgb565_convert +7403:rgb_rgb565D_convert +7404:rgb_gray_convert +7405:reverse_hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +7406:reverse_hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +7407:reset_marker_reader +7408:reset_input_controller +7409:reset_error_mgr +7410:request_virt_sarray +7411:request_virt_barray +7412:reorder_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7413:reorder_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7414:reorder_marks_hebrew\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +7415:reorder_marks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +7416:reorder_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7417:release_data\28void*\2c\20void*\29 +7418:record_stch\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7419:record_rphf_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7420:record_pref_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7421:realize_virt_arrays +7422:read_restart_marker +7423:read_markers +7424:read_data_from_FT_Stream +7425:rbbi_cleanup_74 +7426:quantize_ord_dither +7427:quantize_fs_dither +7428:quantize3_ord_dither +7429:putil_cleanup\28\29 +7430:psnames_get_service +7431:pshinter_get_t2_funcs +7432:pshinter_get_t1_funcs +7433:pshinter_get_globals_funcs +7434:psh_globals_new +7435:psh_globals_destroy +7436:psaux_get_glyph_name +7437:ps_table_release +7438:ps_table_new +7439:ps_table_done +7440:ps_table_add +7441:ps_property_set +7442:ps_property_get +7443:ps_parser_to_token_array +7444:ps_parser_to_int +7445:ps_parser_to_fixed_array +7446:ps_parser_to_fixed +7447:ps_parser_to_coord_array +7448:ps_parser_to_bytes +7449:ps_parser_skip_spaces +7450:ps_parser_load_field_table +7451:ps_parser_init +7452:ps_hints_t2mask +7453:ps_hints_t2counter +7454:ps_hints_t1stem3 +7455:ps_hints_t1reset +7456:ps_hints_close +7457:ps_hints_apply +7458:ps_hinter_init +7459:ps_hinter_done +7460:ps_get_standard_strings +7461:ps_get_macintosh_name +7462:ps_decoder_init +7463:ps_builder_init +7464:progress_monitor\28jpeg_common_struct*\29 +7465:process_data_simple_main +7466:process_data_crank_post +7467:process_data_context_main +7468:prescan_quantize +7469:preprocess_text_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7470:preprocess_text_thai\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7471:preprocess_text_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7472:preprocess_text_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7473:prepare_for_output_pass +7474:premultiply_data +7475:premul_rgb\28SkRGBA4f<\28SkAlphaType\292>\29 +7476:premul_polar\28SkRGBA4f<\28SkAlphaType\292>\29 +7477:postprocess_glyphs_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7478:post_process_prepass +7479:post_process_2pass +7480:post_process_1pass +7481:portable::xy_to_unit_angle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7482:portable::xy_to_radius\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7483:portable::xy_to_2pt_conical_well_behaved\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7484:portable::xy_to_2pt_conical_strip\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7485:portable::xy_to_2pt_conical_smaller\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7486:portable::xy_to_2pt_conical_greater\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7487:portable::xy_to_2pt_conical_focal_on_circle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7488:portable::xor_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7489:portable::white_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7490:portable::unpremul_polar\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7491:portable::unpremul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7492:portable::uniform_color_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7493:portable::trace_var\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7494:portable::trace_scope\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7495:portable::trace_line\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7496:portable::trace_exit\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7497:portable::trace_enter\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7498:portable::tan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7499:portable::swizzle_copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7500:portable::swizzle_copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7501:portable::swizzle_copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7502:portable::swizzle_copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7503:portable::swizzle_copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7504:portable::swizzle_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7505:portable::swizzle_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7506:portable::swizzle_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7507:portable::swizzle_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7508:portable::swizzle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7509:portable::swap_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7510:portable::swap_rb_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7511:portable::swap_rb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7512:portable::sub_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7513:portable::sub_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7514:portable::sub_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7515:portable::sub_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7516:portable::sub_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7517:portable::sub_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7518:portable::sub_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7519:portable::sub_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7520:portable::sub_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7521:portable::sub_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7522:portable::store_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7523:portable::store_src_a\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7524:portable::store_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7525:portable::store_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7526:portable::store_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7527:portable::store_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7528:portable::store_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7529:portable::store_r8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7530:portable::store_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7531:portable::store_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7532:portable::store_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7533:portable::store_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7534:portable::store_device_xy01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7535:portable::store_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7536:portable::store_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7537:portable::store_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7538:portable::store_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7539:portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7540:portable::store_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7541:portable::store_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7542:portable::store_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7543:portable::store_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7544:portable::store_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7545:portable::store_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7546:portable::store_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7547:portable::start_pipeline\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkRasterPipelineStage*\2c\20SkSpan\2c\20unsigned\20char*\29 +7548:portable::stack_rewind\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7549:portable::stack_checkpoint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7550:portable::srcover_rgba_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7551:portable::srcover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7552:portable::srcout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7553:portable::srcin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7554:portable::srcatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7555:portable::sqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7556:portable::splat_4_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7557:portable::splat_3_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7558:portable::splat_2_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7559:portable::softlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7560:portable::smoothstep_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7561:portable::sin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7562:portable::shuffle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7563:portable::set_base_pointer\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7564:portable::seed_shader\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7565:portable::screen\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7566:portable::scale_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7567:portable::scale_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7568:portable::scale_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7569:portable::scale_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7570:portable::saturation\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7571:portable::rgb_to_hsl\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7572:portable::repeat_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7573:portable::repeat_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7574:portable::repeat_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7575:portable::refract_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7576:portable::reenable_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7577:portable::rect_memset64\28unsigned\20long\20long*\2c\20unsigned\20long\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +7578:portable::rect_memset32\28unsigned\20int*\2c\20unsigned\20int\2c\20int\2c\20unsigned\20long\2c\20int\29 +7579:portable::rect_memset16\28unsigned\20short*\2c\20unsigned\20short\2c\20int\2c\20unsigned\20long\2c\20int\29 +7580:portable::premul_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7581:portable::premul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7582:portable::pow_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7583:portable::plus_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7584:portable::perlin_noise\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7585:portable::parametric\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7586:portable::overlay\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7587:portable::negate_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7588:portable::multiply\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7589:portable::mul_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7590:portable::mul_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7591:portable::mul_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7592:portable::mul_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7593:portable::mul_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7594:portable::mul_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7595:portable::mul_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7596:portable::mul_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7597:portable::mul_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7598:portable::mul_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7599:portable::mul_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7600:portable::mul_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7601:portable::move_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7602:portable::move_dst_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7603:portable::modulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7604:portable::mod_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7605:portable::mod_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7606:portable::mod_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7607:portable::mod_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7608:portable::mod_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7609:portable::mix_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7610:portable::mix_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7611:portable::mix_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7612:portable::mix_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7613:portable::mix_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7614:portable::mix_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7615:portable::mix_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7616:portable::mix_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7617:portable::mix_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7618:portable::mix_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7619:portable::mirror_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7620:portable::mirror_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7621:portable::mirror_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7622:portable::mipmap_linear_update\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7623:portable::mipmap_linear_init\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7624:portable::mipmap_linear_finish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7625:portable::min_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7626:portable::min_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7627:portable::min_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7628:portable::min_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7629:portable::min_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7630:portable::min_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7631:portable::min_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7632:portable::min_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7633:portable::min_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7634:portable::min_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7635:portable::min_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7636:portable::min_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7637:portable::min_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7638:portable::min_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7639:portable::min_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7640:portable::min_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7641:portable::merge_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7642:portable::merge_inv_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7643:portable::merge_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7644:portable::memset32\28unsigned\20int*\2c\20unsigned\20int\2c\20int\29 +7645:portable::memset16\28unsigned\20short*\2c\20unsigned\20short\2c\20int\29 +7646:portable::max_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7647:portable::max_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7648:portable::max_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7649:portable::max_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7650:portable::max_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7651:portable::max_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7652:portable::max_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7653:portable::max_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7654:portable::max_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7655:portable::max_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7656:portable::max_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7657:portable::max_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7658:portable::max_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7659:portable::max_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7660:portable::max_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7661:portable::max_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7662:portable::matrix_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7663:portable::matrix_scale_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7664:portable::matrix_perspective\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7665:portable::matrix_multiply_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7666:portable::matrix_multiply_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7667:portable::matrix_multiply_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7668:portable::matrix_4x5\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7669:portable::matrix_4x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7670:portable::matrix_3x4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7671:portable::matrix_3x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7672:portable::matrix_2x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7673:portable::mask_off_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7674:portable::mask_off_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7675:portable::mask_2pt_conical_nan\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7676:portable::mask_2pt_conical_degenerates\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7677:portable::luminosity\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7678:portable::log_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7679:portable::log2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7680:portable::load_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7681:portable::load_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7682:portable::load_rgf16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7683:portable::load_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7684:portable::load_rg88_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7685:portable::load_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7686:portable::load_rg1616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7687:portable::load_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7688:portable::load_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7689:portable::load_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7690:portable::load_f32_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7691:portable::load_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7692:portable::load_f16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7693:portable::load_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7694:portable::load_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7695:portable::load_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7696:portable::load_af16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7697:portable::load_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7698:portable::load_a8_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7699:portable::load_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7700:portable::load_a16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7701:portable::load_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7702:portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7703:portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7704:portable::load_565_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7705:portable::load_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7706:portable::load_4444_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7707:portable::load_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7708:portable::load_16161616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7709:portable::load_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7710:portable::load_10x6_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7711:portable::load_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7712:portable::load_1010102_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7713:portable::load_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7714:portable::load_1010102_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7715:portable::load_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7716:portable::load_10101010_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7717:portable::load_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7718:portable::lighten\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7719:portable::lerp_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7720:portable::lerp_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7721:portable::lerp_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7722:portable::lerp_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7723:portable::just_return\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7724:portable::jump\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7725:portable::invsqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7726:portable::invsqrt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7727:portable::invsqrt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7728:portable::invsqrt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7729:portable::inverted_CMYK_to_RGB1\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7730:portable::inverted_CMYK_to_BGR1\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7731:portable::inverse_mat4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7732:portable::inverse_mat3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7733:portable::inverse_mat2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7734:portable::init_lane_masks\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7735:portable::hue\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7736:portable::hsl_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7737:portable::hardlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7738:portable::gray_to_RGB1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7739:portable::grayA_to_rgbA\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7740:portable::grayA_to_RGBA\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7741:portable::gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7742:portable::gauss_a_to_rgba\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7743:portable::gather_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7744:portable::gather_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7745:portable::gather_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7746:portable::gather_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7747:portable::gather_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7748:portable::gather_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7749:portable::gather_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7750:portable::gather_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7751:portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7752:portable::gather_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7753:portable::gather_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7754:portable::gather_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7755:portable::gather_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7756:portable::gather_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7757:portable::gather_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7758:portable::gather_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7759:portable::gamma_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7760:portable::force_opaque_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7761:portable::force_opaque\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7762:portable::floor_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7763:portable::floor_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7764:portable::floor_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7765:portable::floor_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7766:portable::exp_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7767:portable::exp2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7768:portable::exclusion\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7769:portable::exchange_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7770:portable::evenly_spaced_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7771:portable::evenly_spaced_2_stop_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7772:portable::emboss\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7773:portable::dstover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7774:portable::dstout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7775:portable::dstin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7776:portable::dstatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7777:portable::dot_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7778:portable::dot_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7779:portable::dot_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7780:portable::div_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7781:portable::div_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7782:portable::div_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7783:portable::div_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7784:portable::div_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7785:portable::div_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7786:portable::div_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7787:portable::div_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7788:portable::div_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7789:portable::div_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7790:portable::div_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7791:portable::div_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7792:portable::div_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7793:portable::div_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7794:portable::div_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7795:portable::dither\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7796:portable::difference\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7797:portable::decal_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7798:portable::decal_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7799:portable::decal_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7800:portable::darken\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7801:portable::css_oklab_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7802:portable::css_oklab_gamut_map_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7803:portable::css_lab_to_xyz\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7804:portable::css_hwb_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7805:portable::css_hsl_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7806:portable::css_hcl_to_lab\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7807:portable::cos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7808:portable::copy_uniform\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7809:portable::copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7810:portable::copy_slot_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7811:portable::copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7812:portable::copy_immutable_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7813:portable::copy_constant\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7814:portable::copy_4_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7815:portable::copy_4_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7816:portable::copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7817:portable::copy_4_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7818:portable::copy_3_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7819:portable::copy_3_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7820:portable::copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7821:portable::copy_3_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7822:portable::copy_2_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7823:portable::copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7824:portable::continue_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7825:portable::colordodge\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7826:portable::colorburn\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7827:portable::color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7828:portable::cmpne_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7829:portable::cmpne_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7830:portable::cmpne_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7831:portable::cmpne_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7832:portable::cmpne_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7833:portable::cmpne_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7834:portable::cmpne_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7835:portable::cmpne_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7836:portable::cmpne_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7837:portable::cmpne_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7838:portable::cmpne_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7839:portable::cmpne_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7840:portable::cmplt_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7841:portable::cmplt_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7842:portable::cmplt_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7843:portable::cmplt_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7844:portable::cmplt_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7845:portable::cmplt_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7846:portable::cmplt_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7847:portable::cmplt_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7848:portable::cmplt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7849:portable::cmplt_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7850:portable::cmplt_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7851:portable::cmplt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7852:portable::cmplt_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7853:portable::cmplt_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7854:portable::cmplt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7855:portable::cmplt_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7856:portable::cmplt_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7857:portable::cmplt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7858:portable::cmple_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7859:portable::cmple_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7860:portable::cmple_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7861:portable::cmple_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7862:portable::cmple_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7863:portable::cmple_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7864:portable::cmple_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7865:portable::cmple_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7866:portable::cmple_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7867:portable::cmple_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7868:portable::cmple_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7869:portable::cmple_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7870:portable::cmple_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7871:portable::cmple_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7872:portable::cmple_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7873:portable::cmple_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7874:portable::cmple_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7875:portable::cmple_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7876:portable::cmpeq_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7877:portable::cmpeq_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7878:portable::cmpeq_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7879:portable::cmpeq_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7880:portable::cmpeq_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7881:portable::cmpeq_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7882:portable::cmpeq_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7883:portable::cmpeq_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7884:portable::cmpeq_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7885:portable::cmpeq_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7886:portable::cmpeq_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7887:portable::cmpeq_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7888:portable::clear\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7889:portable::clamp_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7890:portable::clamp_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7891:portable::clamp_gamut\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7892:portable::clamp_01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7893:portable::ceil_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7894:portable::ceil_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7895:portable::ceil_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7896:portable::ceil_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7897:portable::cast_to_uint_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7898:portable::cast_to_uint_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7899:portable::cast_to_uint_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7900:portable::cast_to_uint_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7901:portable::cast_to_int_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7902:portable::cast_to_int_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7903:portable::cast_to_int_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7904:portable::cast_to_int_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7905:portable::cast_to_float_from_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7906:portable::cast_to_float_from_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7907:portable::cast_to_float_from_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7908:portable::cast_to_float_from_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7909:portable::cast_to_float_from_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7910:portable::cast_to_float_from_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7911:portable::cast_to_float_from_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7912:portable::cast_to_float_from_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7913:portable::case_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7914:portable::callback\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7915:portable::byte_tables\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7916:portable::bt709_luminance_or_luma_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7917:portable::bt709_luminance_or_luma_to_alpha\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7918:portable::branch_if_no_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7919:portable::branch_if_no_active_lanes_eq\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7920:portable::branch_if_any_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7921:portable::branch_if_all_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7922:portable::blit_row_s32a_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +7923:portable::black_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7924:portable::bitwise_xor_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7925:portable::bitwise_xor_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7926:portable::bitwise_xor_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7927:portable::bitwise_xor_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7928:portable::bitwise_xor_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7929:portable::bitwise_xor_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7930:portable::bitwise_or_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7931:portable::bitwise_or_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7932:portable::bitwise_or_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7933:portable::bitwise_or_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7934:portable::bitwise_or_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7935:portable::bitwise_and_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7936:portable::bitwise_and_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7937:portable::bitwise_and_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7938:portable::bitwise_and_imm_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7939:portable::bitwise_and_imm_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7940:portable::bitwise_and_imm_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7941:portable::bitwise_and_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7942:portable::bitwise_and_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7943:portable::bitwise_and_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7944:portable::bilinear_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7945:portable::bilinear_py\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7946:portable::bilinear_px\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7947:portable::bilinear_ny\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7948:portable::bilinear_nx\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7949:portable::bilerp_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7950:portable::bicubic_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7951:portable::bicubic_p3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7952:portable::bicubic_p3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7953:portable::bicubic_p1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7954:portable::bicubic_p1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7955:portable::bicubic_n3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7956:portable::bicubic_n3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7957:portable::bicubic_n1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7958:portable::bicubic_n1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7959:portable::bicubic_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7960:portable::atan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7961:portable::atan2_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7962:portable::asin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7963:portable::alter_2pt_conical_unswap\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7964:portable::alter_2pt_conical_compensate_focal\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7965:portable::alpha_to_red_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7966:portable::alpha_to_red\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7967:portable::alpha_to_gray_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7968:portable::alpha_to_gray\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7969:portable::add_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7970:portable::add_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7971:portable::add_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7972:portable::add_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7973:portable::add_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7974:portable::add_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7975:portable::add_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7976:portable::add_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7977:portable::add_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7978:portable::add_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7979:portable::add_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7980:portable::add_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7981:portable::acos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7982:portable::accumulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7983:portable::abs_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7984:portable::abs_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7985:portable::abs_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7986:portable::abs_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7987:portable::RGB_to_RGB1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7988:portable::RGB_to_BGR1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7989:portable::RGBA_to_rgbA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7990:portable::RGBA_to_bgrA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7991:portable::RGBA_to_BGRA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7992:portable::PQish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7993:portable::HLGish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7994:portable::HLGinvish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7995:pop_arg_long_double +7996:pointerTOCLookupFn\28UDataMemory\20const*\2c\20char\20const*\2c\20int*\2c\20UErrorCode*\29 +7997:png_read_filter_row_up +7998:png_read_filter_row_sub +7999:png_read_filter_row_paeth_multibyte_pixel +8000:png_read_filter_row_paeth_1byte_pixel +8001:png_read_filter_row_avg +8002:pass2_no_dither +8003:pass2_fs_dither +8004:override_features_khmer\28hb_ot_shape_planner_t*\29 +8005:override_features_indic\28hb_ot_shape_planner_t*\29 +8006:override_features_hangul\28hb_ot_shape_planner_t*\29 +8007:output_message\28jpeg_common_struct*\29 +8008:output_message +8009:offsetTOCLookupFn\28UDataMemory\20const*\2c\20char\20const*\2c\20int*\2c\20UErrorCode*\29 +8010:null_convert +8011:noop_upsample +8012:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +8013:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +8014:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +8015:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +8016:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.3 +8017:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.2 +8018:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +8019:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +8020:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +8021:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +8022:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +8023:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +8024:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +8025:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +8026:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +8027:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +8028:non-virtual\20thunk\20to\20icu_74::UnicodeSet::~UnicodeSet\28\29.1 +8029:non-virtual\20thunk\20to\20icu_74::UnicodeSet::~UnicodeSet\28\29 +8030:non-virtual\20thunk\20to\20icu_74::UnicodeSet::toPattern\28icu_74::UnicodeString&\2c\20signed\20char\29\20const +8031:non-virtual\20thunk\20to\20icu_74::UnicodeSet::matches\28icu_74::Replaceable\20const&\2c\20int&\2c\20int\2c\20signed\20char\29 +8032:non-virtual\20thunk\20to\20icu_74::UnicodeSet::matchesIndexValue\28unsigned\20char\29\20const +8033:non-virtual\20thunk\20to\20icu_74::UnicodeSet::addMatchSetTo\28icu_74::UnicodeSet&\29\20const +8034:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +8035:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8036:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +8037:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +8038:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8039:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +8040:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +8041:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8042:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +8043:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::glyphCount\28\29\20const +8044:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8045:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +8046:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8047:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +8048:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +8049:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8050:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +8051:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +8052:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +8053:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +8054:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +8055:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +8056:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29.1 +8057:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29 +8058:non-virtual\20thunk\20to\20GrOpFlushState::writeView\28\29\20const +8059:non-virtual\20thunk\20to\20GrOpFlushState::usesMSAASurface\28\29\20const +8060:non-virtual\20thunk\20to\20GrOpFlushState::threadSafeCache\28\29\20const +8061:non-virtual\20thunk\20to\20GrOpFlushState::strikeCache\28\29\20const +8062:non-virtual\20thunk\20to\20GrOpFlushState::smallPathAtlasManager\28\29\20const +8063:non-virtual\20thunk\20to\20GrOpFlushState::sampledProxyArray\28\29 +8064:non-virtual\20thunk\20to\20GrOpFlushState::rtProxy\28\29\20const +8065:non-virtual\20thunk\20to\20GrOpFlushState::resourceProvider\28\29\20const +8066:non-virtual\20thunk\20to\20GrOpFlushState::renderPassBarriers\28\29\20const +8067:non-virtual\20thunk\20to\20GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +8068:non-virtual\20thunk\20to\20GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +8069:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndirectDraws\28int\29 +8070:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndices\28int\29 +8071:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +8072:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +8073:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +8074:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +8075:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +8076:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +8077:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +8078:non-virtual\20thunk\20to\20GrOpFlushState::dstProxyView\28\29\20const +8079:non-virtual\20thunk\20to\20GrOpFlushState::detachAppliedClip\28\29 +8080:non-virtual\20thunk\20to\20GrOpFlushState::deferredUploadTarget\28\29 +8081:non-virtual\20thunk\20to\20GrOpFlushState::colorLoadOp\28\29\20const +8082:non-virtual\20thunk\20to\20GrOpFlushState::caps\28\29\20const +8083:non-virtual\20thunk\20to\20GrOpFlushState::atlasManager\28\29\20const +8084:non-virtual\20thunk\20to\20GrOpFlushState::appliedClip\28\29\20const +8085:non-virtual\20thunk\20to\20GrGpuBuffer::~GrGpuBuffer\28\29 +8086:non-virtual\20thunk\20to\20GrGpuBuffer::unref\28\29\20const +8087:non-virtual\20thunk\20to\20GrGpuBuffer::ref\28\29\20const +8088:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +8089:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +8090:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onSetLabel\28\29 +8091:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +8092:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +8093:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +8094:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +8095:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::backendFormat\28\29\20const +8096:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +8097:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +8098:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +8099:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +8100:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::dstColor\28\29 +8101:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29.1 +8102:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29 +8103:new_color_map_2_quant +8104:new_color_map_1_quant +8105:merged_2v_upsample +8106:merged_1v_upsample +8107:locale_cleanup\28\29 +8108:lin_srgb_to_oklab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +8109:lin_srgb_to_okhcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +8110:legalstub$dynCall_vijjjii +8111:legalstub$dynCall_vijiii +8112:legalstub$dynCall_viji +8113:legalstub$dynCall_vij +8114:legalstub$dynCall_viijii +8115:legalstub$dynCall_viij +8116:legalstub$dynCall_viiij +8117:legalstub$dynCall_viiiiij +8118:legalstub$dynCall_jiji +8119:legalstub$dynCall_jiiiiji +8120:legalstub$dynCall_jiiiiii +8121:legalstub$dynCall_jii +8122:legalstub$dynCall_ji +8123:legalstub$dynCall_iijjiii +8124:legalstub$dynCall_iijj +8125:legalstub$dynCall_iiji +8126:legalstub$dynCall_iij +8127:legalstub$dynCall_iiiji +8128:legalstub$dynCall_iiij +8129:legalstub$dynCall_iiiij +8130:legalstub$dynCall_iiiiijj +8131:legalstub$dynCall_iiiiij +8132:legalstub$dynCall_iiiiiijj +8133:legalfunc$glWaitSync +8134:legalfunc$glClientWaitSync +8135:lcd_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +8136:layoutGetMaxValue\28IntProperty\20const&\2c\20UProperty\29 +8137:jpeg_start_decompress +8138:jpeg_skip_scanlines +8139:jpeg_save_markers +8140:jpeg_resync_to_restart +8141:jpeg_read_scanlines +8142:jpeg_read_raw_data +8143:jpeg_read_header +8144:jpeg_idct_islow +8145:jpeg_idct_ifast +8146:jpeg_idct_float +8147:jpeg_idct_9x9 +8148:jpeg_idct_7x7 +8149:jpeg_idct_6x6 +8150:jpeg_idct_5x5 +8151:jpeg_idct_4x4 +8152:jpeg_idct_3x3 +8153:jpeg_idct_2x2 +8154:jpeg_idct_1x1 +8155:jpeg_idct_16x16 +8156:jpeg_idct_15x15 +8157:jpeg_idct_14x14 +8158:jpeg_idct_13x13 +8159:jpeg_idct_12x12 +8160:jpeg_idct_11x11 +8161:jpeg_idct_10x10 +8162:jpeg_crop_scanline +8163:is_deleted_glyph\28hb_glyph_info_t\20const*\29 +8164:isRegionalIndicator\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8165:isPOSIX_xdigit\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8166:isPOSIX_print\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8167:isPOSIX_graph\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8168:isPOSIX_blank\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8169:isPOSIX_alnum\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8170:isNormInert\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8171:isMirrored\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8172:isJoinControl\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8173:isIDSUnaryOperator\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8174:isIDCompatMathStart\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8175:isIDCompatMathContinue\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8176:isCanonSegmentStarter\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8177:isBidiControl\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8178:isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +8179:int_upsample +8180:initial_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8181:icu_74::uprv_normalizer2_cleanup\28\29 +8182:icu_74::uprv_loaded_normalizer2_cleanup\28\29 +8183:icu_74::unames_cleanup\28\29 +8184:icu_74::umtx_init\28\29 +8185:icu_74::umtx_cleanup\28\29 +8186:icu_74::sortComparator\28void\20const*\2c\20void\20const*\2c\20void\20const*\29 +8187:icu_74::segmentStarterMapper\28void\20const*\2c\20unsigned\20int\29 +8188:icu_74::isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +8189:icu_74::compareElementStrings\28void\20const*\2c\20void\20const*\2c\20void\20const*\29 +8190:icu_74::cacheDeleter\28void*\29 +8191:icu_74::\28anonymous\20namespace\29::versionFilter\28int\2c\20void*\29 +8192:icu_74::\28anonymous\20namespace\29::utf16_caseContextIterator\28void*\2c\20signed\20char\29 +8193:icu_74::\28anonymous\20namespace\29::numericValueFilter\28int\2c\20void*\29 +8194:icu_74::\28anonymous\20namespace\29::intPropertyFilter\28int\2c\20void*\29 +8195:icu_74::\28anonymous\20namespace\29::emojiprops_cleanup\28\29 +8196:icu_74::\28anonymous\20namespace\29::cleanup\28\29 +8197:icu_74::\28anonymous\20namespace\29::cleanupKnownCanonicalized\28\29 +8198:icu_74::\28anonymous\20namespace\29::AliasReplacer::replace\28icu_74::Locale\20const&\2c\20icu_74::CharString&\2c\20UErrorCode&\29::$_1::__invoke\28void*\29 +8199:icu_74::\28anonymous\20namespace\29::AliasReplacer::AliasReplacer\28UErrorCode\29::'lambda'\28UElement\2c\20UElement\29::__invoke\28UElement\2c\20UElement\29 +8200:icu_74::\28anonymous\20namespace\29::AliasData::cleanup\28\29 +8201:icu_74::UnicodeString::~UnicodeString\28\29.1 +8202:icu_74::UnicodeString::handleReplaceBetween\28int\2c\20int\2c\20icu_74::UnicodeString\20const&\29 +8203:icu_74::UnicodeString::getLength\28\29\20const +8204:icu_74::UnicodeString::getDynamicClassID\28\29\20const +8205:icu_74::UnicodeString::getCharAt\28int\29\20const +8206:icu_74::UnicodeString::extractBetween\28int\2c\20int\2c\20icu_74::UnicodeString&\29\20const +8207:icu_74::UnicodeString::copy\28int\2c\20int\2c\20int\29 +8208:icu_74::UnicodeString::clone\28\29\20const +8209:icu_74::UnicodeSet::~UnicodeSet\28\29.1 +8210:icu_74::UnicodeSet::toPattern\28icu_74::UnicodeString&\2c\20signed\20char\29\20const +8211:icu_74::UnicodeSet::size\28\29\20const +8212:icu_74::UnicodeSet::retain\28int\2c\20int\29 +8213:icu_74::UnicodeSet::operator==\28icu_74::UnicodeSet\20const&\29\20const +8214:icu_74::UnicodeSet::isEmpty\28\29\20const +8215:icu_74::UnicodeSet::hashCode\28\29\20const +8216:icu_74::UnicodeSet::getDynamicClassID\28\29\20const +8217:icu_74::UnicodeSet::contains\28int\2c\20int\29\20const +8218:icu_74::UnicodeSet::containsAll\28icu_74::UnicodeSet\20const&\29\20const +8219:icu_74::UnicodeSet::complement\28int\2c\20int\29 +8220:icu_74::UnicodeSet::complementAll\28icu_74::UnicodeSet\20const&\29 +8221:icu_74::UnicodeSet::addMatchSetTo\28icu_74::UnicodeSet&\29\20const +8222:icu_74::UnhandledEngine::~UnhandledEngine\28\29.1 +8223:icu_74::UnhandledEngine::~UnhandledEngine\28\29 +8224:icu_74::UnhandledEngine::handles\28int\2c\20char\20const*\29\20const +8225:icu_74::UnhandledEngine::handleCharacter\28int\29 +8226:icu_74::UnhandledEngine::findBreaks\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8227:icu_74::UVector::~UVector\28\29.1 +8228:icu_74::UVector::getDynamicClassID\28\29\20const +8229:icu_74::UVector32::~UVector32\28\29.1 +8230:icu_74::UVector32::getDynamicClassID\28\29\20const +8231:icu_74::UStack::getDynamicClassID\28\29\20const +8232:icu_74::UCharsTrieBuilder::~UCharsTrieBuilder\28\29.1 +8233:icu_74::UCharsTrieBuilder::~UCharsTrieBuilder\28\29 +8234:icu_74::UCharsTrieBuilder::write\28int\29 +8235:icu_74::UCharsTrieBuilder::writeValueAndType\28signed\20char\2c\20int\2c\20int\29 +8236:icu_74::UCharsTrieBuilder::writeValueAndFinal\28int\2c\20signed\20char\29 +8237:icu_74::UCharsTrieBuilder::writeElementUnits\28int\2c\20int\2c\20int\29 +8238:icu_74::UCharsTrieBuilder::writeDeltaTo\28int\29 +8239:icu_74::UCharsTrieBuilder::skipElementsBySomeUnits\28int\2c\20int\2c\20int\29\20const +8240:icu_74::UCharsTrieBuilder::indexOfElementWithNextUnit\28int\2c\20int\2c\20char16_t\29\20const +8241:icu_74::UCharsTrieBuilder::getMinLinearMatch\28\29\20const +8242:icu_74::UCharsTrieBuilder::getLimitOfLinearMatch\28int\2c\20int\2c\20int\29\20const +8243:icu_74::UCharsTrieBuilder::getElementValue\28int\29\20const +8244:icu_74::UCharsTrieBuilder::getElementUnit\28int\2c\20int\29\20const +8245:icu_74::UCharsTrieBuilder::getElementStringLength\28int\29\20const +8246:icu_74::UCharsTrieBuilder::createLinearMatchNode\28int\2c\20int\2c\20int\2c\20icu_74::StringTrieBuilder::Node*\29\20const +8247:icu_74::UCharsTrieBuilder::countElementUnits\28int\2c\20int\2c\20int\29\20const +8248:icu_74::UCharsTrieBuilder::UCTLinearMatchNode::write\28icu_74::StringTrieBuilder&\29 +8249:icu_74::UCharsTrieBuilder::UCTLinearMatchNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8250:icu_74::UCharsDictionaryMatcher::~UCharsDictionaryMatcher\28\29.1 +8251:icu_74::UCharsDictionaryMatcher::~UCharsDictionaryMatcher\28\29 +8252:icu_74::UCharsDictionaryMatcher::matches\28UText*\2c\20int\2c\20int\2c\20int*\2c\20int*\2c\20int*\2c\20int*\29\20const +8253:icu_74::UCharCharacterIterator::setIndex\28int\29 +8254:icu_74::UCharCharacterIterator::setIndex32\28int\29 +8255:icu_74::UCharCharacterIterator::previous\28\29 +8256:icu_74::UCharCharacterIterator::previous32\28\29 +8257:icu_74::UCharCharacterIterator::operator==\28icu_74::ForwardCharacterIterator\20const&\29\20const +8258:icu_74::UCharCharacterIterator::next\28\29 +8259:icu_74::UCharCharacterIterator::nextPostInc\28\29 +8260:icu_74::UCharCharacterIterator::next32\28\29 +8261:icu_74::UCharCharacterIterator::next32PostInc\28\29 +8262:icu_74::UCharCharacterIterator::move\28int\2c\20icu_74::CharacterIterator::EOrigin\29 +8263:icu_74::UCharCharacterIterator::move32\28int\2c\20icu_74::CharacterIterator::EOrigin\29 +8264:icu_74::UCharCharacterIterator::last\28\29 +8265:icu_74::UCharCharacterIterator::last32\28\29 +8266:icu_74::UCharCharacterIterator::hashCode\28\29\20const +8267:icu_74::UCharCharacterIterator::hasPrevious\28\29 +8268:icu_74::UCharCharacterIterator::hasNext\28\29 +8269:icu_74::UCharCharacterIterator::getText\28icu_74::UnicodeString&\29 +8270:icu_74::UCharCharacterIterator::getDynamicClassID\28\29\20const +8271:icu_74::UCharCharacterIterator::first\28\29 +8272:icu_74::UCharCharacterIterator::firstPostInc\28\29 +8273:icu_74::UCharCharacterIterator::first32\28\29 +8274:icu_74::UCharCharacterIterator::first32PostInc\28\29 +8275:icu_74::UCharCharacterIterator::current\28\29\20const +8276:icu_74::UCharCharacterIterator::current32\28\29\20const +8277:icu_74::UCharCharacterIterator::clone\28\29\20const +8278:icu_74::ThaiBreakEngine::~ThaiBreakEngine\28\29.1 +8279:icu_74::ThaiBreakEngine::~ThaiBreakEngine\28\29 +8280:icu_74::ThaiBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8281:icu_74::StringTrieBuilder::SplitBranchNode::write\28icu_74::StringTrieBuilder&\29 +8282:icu_74::StringTrieBuilder::SplitBranchNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8283:icu_74::StringTrieBuilder::SplitBranchNode::markRightEdgesFirst\28int\29 +8284:icu_74::StringTrieBuilder::Node::markRightEdgesFirst\28int\29 +8285:icu_74::StringTrieBuilder::ListBranchNode::write\28icu_74::StringTrieBuilder&\29 +8286:icu_74::StringTrieBuilder::ListBranchNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8287:icu_74::StringTrieBuilder::ListBranchNode::markRightEdgesFirst\28int\29 +8288:icu_74::StringTrieBuilder::IntermediateValueNode::write\28icu_74::StringTrieBuilder&\29 +8289:icu_74::StringTrieBuilder::IntermediateValueNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8290:icu_74::StringTrieBuilder::IntermediateValueNode::markRightEdgesFirst\28int\29 +8291:icu_74::StringTrieBuilder::FinalValueNode::write\28icu_74::StringTrieBuilder&\29 +8292:icu_74::StringTrieBuilder::FinalValueNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8293:icu_74::StringTrieBuilder::BranchHeadNode::write\28icu_74::StringTrieBuilder&\29 +8294:icu_74::StringEnumeration::unext\28int*\2c\20UErrorCode&\29 +8295:icu_74::StringEnumeration::snext\28UErrorCode&\29 +8296:icu_74::StringEnumeration::operator==\28icu_74::StringEnumeration\20const&\29\20const +8297:icu_74::StringEnumeration::operator!=\28icu_74::StringEnumeration\20const&\29\20const +8298:icu_74::StringEnumeration::next\28int*\2c\20UErrorCode&\29 +8299:icu_74::SimpleLocaleKeyFactory::~SimpleLocaleKeyFactory\28\29.1 +8300:icu_74::SimpleLocaleKeyFactory::~SimpleLocaleKeyFactory\28\29 +8301:icu_74::SimpleLocaleKeyFactory::updateVisibleIDs\28icu_74::Hashtable&\2c\20UErrorCode&\29\20const +8302:icu_74::SimpleLocaleKeyFactory::getDynamicClassID\28\29\20const +8303:icu_74::SimpleLocaleKeyFactory::create\28icu_74::ICUServiceKey\20const&\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8304:icu_74::SimpleFilteredSentenceBreakIterator::~SimpleFilteredSentenceBreakIterator\28\29.1 +8305:icu_74::SimpleFilteredSentenceBreakIterator::~SimpleFilteredSentenceBreakIterator\28\29 +8306:icu_74::SimpleFilteredSentenceBreakIterator::setText\28icu_74::UnicodeString\20const&\29 +8307:icu_74::SimpleFilteredSentenceBreakIterator::setText\28UText*\2c\20UErrorCode&\29 +8308:icu_74::SimpleFilteredSentenceBreakIterator::refreshInputText\28UText*\2c\20UErrorCode&\29 +8309:icu_74::SimpleFilteredSentenceBreakIterator::previous\28\29 +8310:icu_74::SimpleFilteredSentenceBreakIterator::preceding\28int\29 +8311:icu_74::SimpleFilteredSentenceBreakIterator::next\28int\29 +8312:icu_74::SimpleFilteredSentenceBreakIterator::next\28\29 +8313:icu_74::SimpleFilteredSentenceBreakIterator::last\28\29 +8314:icu_74::SimpleFilteredSentenceBreakIterator::isBoundary\28int\29 +8315:icu_74::SimpleFilteredSentenceBreakIterator::getUText\28UText*\2c\20UErrorCode&\29\20const +8316:icu_74::SimpleFilteredSentenceBreakIterator::getText\28\29\20const +8317:icu_74::SimpleFilteredSentenceBreakIterator::following\28int\29 +8318:icu_74::SimpleFilteredSentenceBreakIterator::first\28\29 +8319:icu_74::SimpleFilteredSentenceBreakIterator::current\28\29\20const +8320:icu_74::SimpleFilteredSentenceBreakIterator::createBufferClone\28void*\2c\20int&\2c\20UErrorCode&\29 +8321:icu_74::SimpleFilteredSentenceBreakIterator::clone\28\29\20const +8322:icu_74::SimpleFilteredSentenceBreakIterator::adoptText\28icu_74::CharacterIterator*\29 +8323:icu_74::SimpleFilteredSentenceBreakData::~SimpleFilteredSentenceBreakData\28\29.1 +8324:icu_74::SimpleFilteredSentenceBreakData::~SimpleFilteredSentenceBreakData\28\29 +8325:icu_74::SimpleFilteredBreakIteratorBuilder::~SimpleFilteredBreakIteratorBuilder\28\29.1 +8326:icu_74::SimpleFilteredBreakIteratorBuilder::~SimpleFilteredBreakIteratorBuilder\28\29 +8327:icu_74::SimpleFilteredBreakIteratorBuilder::unsuppressBreakAfter\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +8328:icu_74::SimpleFilteredBreakIteratorBuilder::suppressBreakAfter\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +8329:icu_74::SimpleFilteredBreakIteratorBuilder::build\28icu_74::BreakIterator*\2c\20UErrorCode&\29 +8330:icu_74::SimpleFactory::~SimpleFactory\28\29.1 +8331:icu_74::SimpleFactory::~SimpleFactory\28\29 +8332:icu_74::SimpleFactory::updateVisibleIDs\28icu_74::Hashtable&\2c\20UErrorCode&\29\20const +8333:icu_74::SimpleFactory::getDynamicClassID\28\29\20const +8334:icu_74::SimpleFactory::getDisplayName\28icu_74::UnicodeString\20const&\2c\20icu_74::Locale\20const&\2c\20icu_74::UnicodeString&\29\20const +8335:icu_74::SimpleFactory::create\28icu_74::ICUServiceKey\20const&\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8336:icu_74::ServiceEnumeration::~ServiceEnumeration\28\29.1 +8337:icu_74::ServiceEnumeration::~ServiceEnumeration\28\29 +8338:icu_74::ServiceEnumeration::snext\28UErrorCode&\29 +8339:icu_74::ServiceEnumeration::reset\28UErrorCode&\29 +8340:icu_74::ServiceEnumeration::getDynamicClassID\28\29\20const +8341:icu_74::ServiceEnumeration::count\28UErrorCode&\29\20const +8342:icu_74::ServiceEnumeration::clone\28\29\20const +8343:icu_74::RuleBasedBreakIterator::~RuleBasedBreakIterator\28\29.1 +8344:icu_74::RuleBasedBreakIterator::setText\28icu_74::UnicodeString\20const&\29 +8345:icu_74::RuleBasedBreakIterator::setText\28UText*\2c\20UErrorCode&\29 +8346:icu_74::RuleBasedBreakIterator::refreshInputText\28UText*\2c\20UErrorCode&\29 +8347:icu_74::RuleBasedBreakIterator::previous\28\29 +8348:icu_74::RuleBasedBreakIterator::preceding\28int\29 +8349:icu_74::RuleBasedBreakIterator::operator==\28icu_74::BreakIterator\20const&\29\20const +8350:icu_74::RuleBasedBreakIterator::next\28int\29 +8351:icu_74::RuleBasedBreakIterator::next\28\29 +8352:icu_74::RuleBasedBreakIterator::last\28\29 +8353:icu_74::RuleBasedBreakIterator::isBoundary\28int\29 +8354:icu_74::RuleBasedBreakIterator::hashCode\28\29\20const +8355:icu_74::RuleBasedBreakIterator::getUText\28UText*\2c\20UErrorCode&\29\20const +8356:icu_74::RuleBasedBreakIterator::getText\28\29\20const +8357:icu_74::RuleBasedBreakIterator::getRules\28\29\20const +8358:icu_74::RuleBasedBreakIterator::getRuleStatus\28\29\20const +8359:icu_74::RuleBasedBreakIterator::getRuleStatusVec\28int*\2c\20int\2c\20UErrorCode&\29 +8360:icu_74::RuleBasedBreakIterator::getDynamicClassID\28\29\20const +8361:icu_74::RuleBasedBreakIterator::getBinaryRules\28unsigned\20int&\29 +8362:icu_74::RuleBasedBreakIterator::following\28int\29 +8363:icu_74::RuleBasedBreakIterator::first\28\29 +8364:icu_74::RuleBasedBreakIterator::current\28\29\20const +8365:icu_74::RuleBasedBreakIterator::createBufferClone\28void*\2c\20int&\2c\20UErrorCode&\29 +8366:icu_74::RuleBasedBreakIterator::clone\28\29\20const +8367:icu_74::RuleBasedBreakIterator::adoptText\28icu_74::CharacterIterator*\29 +8368:icu_74::RuleBasedBreakIterator::BreakCache::~BreakCache\28\29.1 +8369:icu_74::RuleBasedBreakIterator::BreakCache::~BreakCache\28\29 +8370:icu_74::ResourceDataValue::~ResourceDataValue\28\29.1 +8371:icu_74::ResourceDataValue::isNoInheritanceMarker\28\29\20const +8372:icu_74::ResourceDataValue::getUInt\28UErrorCode&\29\20const +8373:icu_74::ResourceDataValue::getType\28\29\20const +8374:icu_74::ResourceDataValue::getStringOrFirstOfArray\28UErrorCode&\29\20const +8375:icu_74::ResourceDataValue::getStringArray\28icu_74::UnicodeString*\2c\20int\2c\20UErrorCode&\29\20const +8376:icu_74::ResourceDataValue::getStringArrayOrStringAsArray\28icu_74::UnicodeString*\2c\20int\2c\20UErrorCode&\29\20const +8377:icu_74::ResourceDataValue::getInt\28UErrorCode&\29\20const +8378:icu_74::ResourceDataValue::getAliasString\28int&\2c\20UErrorCode&\29\20const +8379:icu_74::ResourceBundle::~ResourceBundle\28\29.1 +8380:icu_74::ResourceBundle::~ResourceBundle\28\29 +8381:icu_74::ResourceBundle::getDynamicClassID\28\29\20const +8382:icu_74::ParsePosition::getDynamicClassID\28\29\20const +8383:icu_74::Normalizer2WithImpl::spanQuickCheckYes\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8384:icu_74::Normalizer2WithImpl::normalize\28icu_74::UnicodeString\20const&\2c\20icu_74::UnicodeString&\2c\20UErrorCode&\29\20const +8385:icu_74::Normalizer2WithImpl::normalizeSecondAndAppend\28icu_74::UnicodeString&\2c\20icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8386:icu_74::Normalizer2WithImpl::getRawDecomposition\28int\2c\20icu_74::UnicodeString&\29\20const +8387:icu_74::Normalizer2WithImpl::getDecomposition\28int\2c\20icu_74::UnicodeString&\29\20const +8388:icu_74::Normalizer2WithImpl::getCombiningClass\28int\29\20const +8389:icu_74::Normalizer2WithImpl::composePair\28int\2c\20int\29\20const +8390:icu_74::Normalizer2WithImpl::append\28icu_74::UnicodeString&\2c\20icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8391:icu_74::Normalizer2Impl::~Normalizer2Impl\28\29.1 +8392:icu_74::Normalizer2::normalizeUTF8\28unsigned\20int\2c\20icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +8393:icu_74::Normalizer2::isNormalizedUTF8\28icu_74::StringPiece\2c\20UErrorCode&\29\20const +8394:icu_74::NoopNormalizer2::spanQuickCheckYes\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8395:icu_74::NoopNormalizer2::normalize\28icu_74::UnicodeString\20const&\2c\20icu_74::UnicodeString&\2c\20UErrorCode&\29\20const +8396:icu_74::NoopNormalizer2::normalizeUTF8\28unsigned\20int\2c\20icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +8397:icu_74::MlBreakEngine::~MlBreakEngine\28\29.1 +8398:icu_74::LocaleKeyFactory::~LocaleKeyFactory\28\29.1 +8399:icu_74::LocaleKeyFactory::updateVisibleIDs\28icu_74::Hashtable&\2c\20UErrorCode&\29\20const +8400:icu_74::LocaleKeyFactory::handlesKey\28icu_74::ICUServiceKey\20const&\2c\20UErrorCode&\29\20const +8401:icu_74::LocaleKeyFactory::getDynamicClassID\28\29\20const +8402:icu_74::LocaleKeyFactory::getDisplayName\28icu_74::UnicodeString\20const&\2c\20icu_74::Locale\20const&\2c\20icu_74::UnicodeString&\29\20const +8403:icu_74::LocaleKeyFactory::create\28icu_74::ICUServiceKey\20const&\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8404:icu_74::LocaleKey::~LocaleKey\28\29.1 +8405:icu_74::LocaleKey::~LocaleKey\28\29 +8406:icu_74::LocaleKey::prefix\28icu_74::UnicodeString&\29\20const +8407:icu_74::LocaleKey::isFallbackOf\28icu_74::UnicodeString\20const&\29\20const +8408:icu_74::LocaleKey::getDynamicClassID\28\29\20const +8409:icu_74::LocaleKey::fallback\28\29 +8410:icu_74::LocaleKey::currentLocale\28icu_74::Locale&\29\20const +8411:icu_74::LocaleKey::currentID\28icu_74::UnicodeString&\29\20const +8412:icu_74::LocaleKey::currentDescriptor\28icu_74::UnicodeString&\29\20const +8413:icu_74::LocaleKey::canonicalLocale\28icu_74::Locale&\29\20const +8414:icu_74::LocaleKey::canonicalID\28icu_74::UnicodeString&\29\20const +8415:icu_74::LocaleBuilder::~LocaleBuilder\28\29.1 +8416:icu_74::Locale::~Locale\28\29.1 +8417:icu_74::Locale::getDynamicClassID\28\29\20const +8418:icu_74::LoadedNormalizer2Impl::~LoadedNormalizer2Impl\28\29.1 +8419:icu_74::LoadedNormalizer2Impl::~LoadedNormalizer2Impl\28\29 +8420:icu_74::LoadedNormalizer2Impl::isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +8421:icu_74::LaoBreakEngine::~LaoBreakEngine\28\29.1 +8422:icu_74::LaoBreakEngine::~LaoBreakEngine\28\29 +8423:icu_74::LSTMBreakEngine::~LSTMBreakEngine\28\29.1 +8424:icu_74::LSTMBreakEngine::~LSTMBreakEngine\28\29 +8425:icu_74::LSTMBreakEngine::name\28\29\20const +8426:icu_74::LSTMBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8427:icu_74::KhmerBreakEngine::~KhmerBreakEngine\28\29.1 +8428:icu_74::KhmerBreakEngine::~KhmerBreakEngine\28\29 +8429:icu_74::KhmerBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8430:icu_74::KeywordEnumeration::~KeywordEnumeration\28\29.1 +8431:icu_74::KeywordEnumeration::~KeywordEnumeration\28\29 +8432:icu_74::KeywordEnumeration::snext\28UErrorCode&\29 +8433:icu_74::KeywordEnumeration::reset\28UErrorCode&\29 +8434:icu_74::KeywordEnumeration::next\28int*\2c\20UErrorCode&\29 +8435:icu_74::KeywordEnumeration::getDynamicClassID\28\29\20const +8436:icu_74::KeywordEnumeration::count\28UErrorCode&\29\20const +8437:icu_74::KeywordEnumeration::clone\28\29\20const +8438:icu_74::ICUServiceKey::~ICUServiceKey\28\29.1 +8439:icu_74::ICUServiceKey::isFallbackOf\28icu_74::UnicodeString\20const&\29\20const +8440:icu_74::ICUServiceKey::getDynamicClassID\28\29\20const +8441:icu_74::ICUServiceKey::currentDescriptor\28icu_74::UnicodeString&\29\20const +8442:icu_74::ICUServiceKey::canonicalID\28icu_74::UnicodeString&\29\20const +8443:icu_74::ICUService::unregister\28void\20const*\2c\20UErrorCode&\29 +8444:icu_74::ICUService::reset\28\29 +8445:icu_74::ICUService::registerInstance\28icu_74::UObject*\2c\20icu_74::UnicodeString\20const&\2c\20signed\20char\2c\20UErrorCode&\29 +8446:icu_74::ICUService::registerFactory\28icu_74::ICUServiceFactory*\2c\20UErrorCode&\29 +8447:icu_74::ICUService::reInitializeFactories\28\29 +8448:icu_74::ICUService::notifyListener\28icu_74::EventListener&\29\20const +8449:icu_74::ICUService::isDefault\28\29\20const +8450:icu_74::ICUService::getKey\28icu_74::ICUServiceKey&\2c\20icu_74::UnicodeString*\2c\20UErrorCode&\29\20const +8451:icu_74::ICUService::createSimpleFactory\28icu_74::UObject*\2c\20icu_74::UnicodeString\20const&\2c\20signed\20char\2c\20UErrorCode&\29 +8452:icu_74::ICUService::createKey\28icu_74::UnicodeString\20const*\2c\20UErrorCode&\29\20const +8453:icu_74::ICUService::clearCaches\28\29 +8454:icu_74::ICUService::acceptsListener\28icu_74::EventListener\20const&\29\20const +8455:icu_74::ICUResourceBundleFactory::~ICUResourceBundleFactory\28\29.1 +8456:icu_74::ICUResourceBundleFactory::handleCreate\28icu_74::Locale\20const&\2c\20int\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8457:icu_74::ICUResourceBundleFactory::getSupportedIDs\28UErrorCode&\29\20const +8458:icu_74::ICUResourceBundleFactory::getDynamicClassID\28\29\20const +8459:icu_74::ICUNotifier::removeListener\28icu_74::EventListener\20const*\2c\20UErrorCode&\29 +8460:icu_74::ICUNotifier::notifyChanged\28\29 +8461:icu_74::ICUNotifier::addListener\28icu_74::EventListener\20const*\2c\20UErrorCode&\29 +8462:icu_74::ICULocaleService::registerInstance\28icu_74::UObject*\2c\20icu_74::UnicodeString\20const&\2c\20signed\20char\2c\20UErrorCode&\29 +8463:icu_74::ICULocaleService::registerInstance\28icu_74::UObject*\2c\20icu_74::Locale\20const&\2c\20int\2c\20int\2c\20UErrorCode&\29 +8464:icu_74::ICULocaleService::registerInstance\28icu_74::UObject*\2c\20icu_74::Locale\20const&\2c\20int\2c\20UErrorCode&\29 +8465:icu_74::ICULocaleService::registerInstance\28icu_74::UObject*\2c\20icu_74::Locale\20const&\2c\20UErrorCode&\29 +8466:icu_74::ICULocaleService::getAvailableLocales\28\29\20const +8467:icu_74::ICULocaleService::createKey\28icu_74::UnicodeString\20const*\2c\20int\2c\20UErrorCode&\29\20const +8468:icu_74::ICULocaleService::createKey\28icu_74::UnicodeString\20const*\2c\20UErrorCode&\29\20const +8469:icu_74::ICULanguageBreakFactory::~ICULanguageBreakFactory\28\29.1 +8470:icu_74::ICULanguageBreakFactory::~ICULanguageBreakFactory\28\29 +8471:icu_74::ICULanguageBreakFactory::loadEngineFor\28int\2c\20char\20const*\29 +8472:icu_74::ICULanguageBreakFactory::loadDictionaryMatcherFor\28UScriptCode\29 +8473:icu_74::ICULanguageBreakFactory::getEngineFor\28int\2c\20char\20const*\29 +8474:icu_74::ICULanguageBreakFactory::addExternalEngine\28icu_74::ExternalBreakEngine*\2c\20UErrorCode&\29 +8475:icu_74::ICUBreakIteratorService::~ICUBreakIteratorService\28\29.1 +8476:icu_74::ICUBreakIteratorService::~ICUBreakIteratorService\28\29 +8477:icu_74::ICUBreakIteratorService::isDefault\28\29\20const +8478:icu_74::ICUBreakIteratorService::handleDefault\28icu_74::ICUServiceKey\20const&\2c\20icu_74::UnicodeString*\2c\20UErrorCode&\29\20const +8479:icu_74::ICUBreakIteratorService::cloneInstance\28icu_74::UObject*\29\20const +8480:icu_74::ICUBreakIteratorFactory::~ICUBreakIteratorFactory\28\29.1 +8481:icu_74::ICUBreakIteratorFactory::~ICUBreakIteratorFactory\28\29 +8482:icu_74::ICUBreakIteratorFactory::handleCreate\28icu_74::Locale\20const&\2c\20int\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8483:icu_74::GraphemeClusterVectorizer::vectorize\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20icu_74::UVector32&\2c\20UErrorCode&\29\20const +8484:icu_74::FCDNormalizer2::spanQuickCheckYes\28char16_t\20const*\2c\20char16_t\20const*\2c\20UErrorCode&\29\20const +8485:icu_74::FCDNormalizer2::normalize\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8486:icu_74::FCDNormalizer2::normalizeAndAppend\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20icu_74::UnicodeString&\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8487:icu_74::FCDNormalizer2::isInert\28int\29\20const +8488:icu_74::EmojiProps::isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +8489:icu_74::DictionaryBreakEngine::setCharacters\28icu_74::UnicodeSet\20const&\29 +8490:icu_74::DictionaryBreakEngine::handles\28int\2c\20char\20const*\29\20const +8491:icu_74::DictionaryBreakEngine::findBreaks\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8492:icu_74::DecomposeNormalizer2::spanQuickCheckYes\28char16_t\20const*\2c\20char16_t\20const*\2c\20UErrorCode&\29\20const +8493:icu_74::DecomposeNormalizer2::normalize\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8494:icu_74::DecomposeNormalizer2::normalizeUTF8\28unsigned\20int\2c\20icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +8495:icu_74::DecomposeNormalizer2::normalizeAndAppend\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20icu_74::UnicodeString&\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8496:icu_74::DecomposeNormalizer2::isNormalizedUTF8\28icu_74::StringPiece\2c\20UErrorCode&\29\20const +8497:icu_74::DecomposeNormalizer2::isInert\28int\29\20const +8498:icu_74::DecomposeNormalizer2::getQuickCheck\28int\29\20const +8499:icu_74::ConstArray2D::get\28int\2c\20int\29\20const +8500:icu_74::ConstArray1D::get\28int\29\20const +8501:icu_74::ComposeNormalizer2::spanQuickCheckYes\28char16_t\20const*\2c\20char16_t\20const*\2c\20UErrorCode&\29\20const +8502:icu_74::ComposeNormalizer2::quickCheck\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8503:icu_74::ComposeNormalizer2::normalize\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8504:icu_74::ComposeNormalizer2::normalizeUTF8\28unsigned\20int\2c\20icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +8505:icu_74::ComposeNormalizer2::normalizeAndAppend\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20icu_74::UnicodeString&\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8506:icu_74::ComposeNormalizer2::isNormalized\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8507:icu_74::ComposeNormalizer2::isNormalizedUTF8\28icu_74::StringPiece\2c\20UErrorCode&\29\20const +8508:icu_74::ComposeNormalizer2::isInert\28int\29\20const +8509:icu_74::ComposeNormalizer2::hasBoundaryBefore\28int\29\20const +8510:icu_74::ComposeNormalizer2::hasBoundaryAfter\28int\29\20const +8511:icu_74::ComposeNormalizer2::getQuickCheck\28int\29\20const +8512:icu_74::CodePointsVectorizer::vectorize\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20icu_74::UVector32&\2c\20UErrorCode&\29\20const +8513:icu_74::CjkBreakEngine::~CjkBreakEngine\28\29.1 +8514:icu_74::CjkBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8515:icu_74::CheckedArrayByteSink::Reset\28\29 +8516:icu_74::CheckedArrayByteSink::GetAppendBuffer\28int\2c\20int\2c\20char*\2c\20int\2c\20int*\29 +8517:icu_74::CheckedArrayByteSink::Append\28char\20const*\2c\20int\29 +8518:icu_74::CharacterIterator::firstPostInc\28\29 +8519:icu_74::CharacterIterator::first32PostInc\28\29 +8520:icu_74::CharStringByteSink::GetAppendBuffer\28int\2c\20int\2c\20char*\2c\20int\2c\20int*\29 +8521:icu_74::CharStringByteSink::Append\28char\20const*\2c\20int\29 +8522:icu_74::BytesDictionaryMatcher::~BytesDictionaryMatcher\28\29.1 +8523:icu_74::BytesDictionaryMatcher::~BytesDictionaryMatcher\28\29 +8524:icu_74::BytesDictionaryMatcher::matches\28UText*\2c\20int\2c\20int\2c\20int*\2c\20int*\2c\20int*\2c\20int*\29\20const +8525:icu_74::BurmeseBreakEngine::~BurmeseBreakEngine\28\29.1 +8526:icu_74::BurmeseBreakEngine::~BurmeseBreakEngine\28\29 +8527:icu_74::BreakIterator::getRuleStatusVec\28int*\2c\20int\2c\20UErrorCode&\29 +8528:icu_74::BreakEngineWrapper::~BreakEngineWrapper\28\29.1 +8529:icu_74::BreakEngineWrapper::~BreakEngineWrapper\28\29 +8530:icu_74::BreakEngineWrapper::handles\28int\2c\20char\20const*\29\20const +8531:icu_74::BreakEngineWrapper::findBreaks\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8532:icu_74::BMPSet::contains\28int\29\20const +8533:icu_74::Array1D::~Array1D\28\29.1 +8534:icu_74::Array1D::~Array1D\28\29 +8535:icu_74::Array1D::get\28int\29\20const +8536:hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +8537:hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +8538:hb_unicode_script_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8539:hb_unicode_general_category_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8540:hb_ucd_script\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8541:hb_ucd_mirroring\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8542:hb_ucd_general_category\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8543:hb_ucd_decompose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20void*\29 +8544:hb_ucd_compose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8545:hb_ucd_combining_class\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8546:hb_syllabic_clear_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8547:hb_paint_sweep_gradient_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8548:hb_paint_push_transform_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8549:hb_paint_push_clip_rectangle_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8550:hb_paint_image_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +8551:hb_paint_extents_push_transform\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8552:hb_paint_extents_push_group\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +8553:hb_paint_extents_push_clip_rectangle\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8554:hb_paint_extents_push_clip_glyph\28hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_font_t*\2c\20void*\29 +8555:hb_paint_extents_pop_transform\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +8556:hb_paint_extents_pop_group\28hb_paint_funcs_t*\2c\20void*\2c\20hb_paint_composite_mode_t\2c\20void*\29 +8557:hb_paint_extents_pop_clip\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +8558:hb_paint_extents_paint_sweep_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8559:hb_paint_extents_paint_image\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +8560:hb_paint_extents_paint_color\28hb_paint_funcs_t*\2c\20void*\2c\20int\2c\20unsigned\20int\2c\20void*\29 +8561:hb_outline_recording_pen_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8562:hb_outline_recording_pen_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +8563:hb_outline_recording_pen_line_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +8564:hb_outline_recording_pen_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8565:hb_outline_recording_pen_close_path\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +8566:hb_ot_paint_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +8567:hb_ot_map_t::lookup_map_t::cmp\28void\20const*\2c\20void\20const*\29 +8568:hb_ot_map_t::feature_map_t::cmp\28void\20const*\2c\20void\20const*\29 +8569:hb_ot_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +8570:hb_ot_get_variation_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8571:hb_ot_get_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +8572:hb_ot_get_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8573:hb_ot_get_glyph_v_origin\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8574:hb_ot_get_glyph_v_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8575:hb_ot_get_glyph_name\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +8576:hb_ot_get_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8577:hb_ot_get_glyph_from_name\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +8578:hb_ot_get_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +8579:hb_ot_get_font_v_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +8580:hb_ot_get_font_h_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +8581:hb_ot_draw_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +8582:hb_font_paint_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +8583:hb_font_get_variation_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8584:hb_font_get_nominal_glyphs_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +8585:hb_font_get_nominal_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8586:hb_font_get_nominal_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8587:hb_font_get_glyph_v_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8588:hb_font_get_glyph_v_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8589:hb_font_get_glyph_v_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +8590:hb_font_get_glyph_v_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8591:hb_font_get_glyph_v_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8592:hb_font_get_glyph_v_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8593:hb_font_get_glyph_name_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +8594:hb_font_get_glyph_name_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +8595:hb_font_get_glyph_h_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8596:hb_font_get_glyph_h_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8597:hb_font_get_glyph_h_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +8598:hb_font_get_glyph_h_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8599:hb_font_get_glyph_h_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8600:hb_font_get_glyph_h_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8601:hb_font_get_glyph_from_name_default\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +8602:hb_font_get_glyph_extents_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +8603:hb_font_get_glyph_extents_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +8604:hb_font_get_glyph_contour_point_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8605:hb_font_get_glyph_contour_point_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8606:hb_font_get_font_v_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +8607:hb_font_get_font_h_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +8608:hb_font_draw_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +8609:hb_draw_quadratic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8610:hb_draw_quadratic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8611:hb_draw_move_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +8612:hb_draw_line_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +8613:hb_draw_extents_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8614:hb_draw_extents_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8615:hb_draw_cubic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8616:hb_draw_close_path_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +8617:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +8618:hb_aat_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +8619:hb_aat_map_builder_t::feature_event_t::cmp\28void\20const*\2c\20void\20const*\29 +8620:hashStringTrieNode\28UElement\29 +8621:hashEntry\28UElement\29 +8622:hasFullCompositionExclusion\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8623:hasEmojiProperty\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8624:h2v2_upsample +8625:h2v2_merged_upsample_565D +8626:h2v2_merged_upsample_565 +8627:h2v2_merged_upsample +8628:h2v2_fancy_upsample +8629:h2v1_upsample +8630:h2v1_merged_upsample_565D +8631:h2v1_merged_upsample_565 +8632:h2v1_merged_upsample +8633:h2v1_fancy_upsample +8634:grayscale_convert +8635:gray_rgb_convert +8636:gray_rgb565_convert +8637:gray_rgb565D_convert +8638:gray_raster_render +8639:gray_raster_new +8640:gray_raster_done +8641:gray_move_to +8642:gray_line_to +8643:gray_cubic_to +8644:gray_conic_to +8645:get_sk_marker_list\28jpeg_decompress_struct*\29 +8646:get_sfnt_table +8647:get_interesting_appn +8648:getVo\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8649:getTrailCombiningClass\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8650:getScript\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8651:getNumericType\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8652:getNormQuickCheck\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8653:getLeadCombiningClass\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8654:getJoiningType\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8655:getJoiningGroup\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8656:getInSC\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8657:getInPC\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8658:getHangulSyllableType\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8659:getGeneralCategory\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8660:getCombiningClass\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8661:getBiDiPairedBracketType\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8662:getBiDiClass\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8663:fullsize_upsample +8664:ft_smooth_transform +8665:ft_smooth_set_mode +8666:ft_smooth_render +8667:ft_smooth_overlap_spans +8668:ft_smooth_lcd_spans +8669:ft_smooth_init +8670:ft_smooth_get_cbox +8671:ft_gzip_free +8672:ft_gzip_alloc +8673:ft_ansi_stream_io +8674:ft_ansi_stream_close +8675:fquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +8676:format_message +8677:fmt_fp +8678:fline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +8679:first_axis_intersection\28double\20const*\2c\20bool\2c\20double\2c\20double*\29 +8680:finish_pass1 +8681:finish_output_pass +8682:finish_input_pass +8683:final_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8684:fcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +8685:fconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +8686:fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8687:fast_swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8688:fast_swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8689:fast_swizzle_rgb_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8690:fast_swizzle_rgb_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8691:fast_swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8692:fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8693:fast_swizzle_gray_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8694:fast_swizzle_cmyk_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8695:fast_swizzle_cmyk_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8696:error_exit +8697:error_callback +8698:equalStringTrieNodes\28UElement\2c\20UElement\29 +8699:emscripten::internal::MethodInvoker\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20void\2c\20SkCanvas*\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&>::invoke\28void\20\28SkCanvas::*\20const&\29\28sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkPaint*\29 +8700:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +8701:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +8702:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\29 +8703:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\29\2c\20SkCanvas*\2c\20float\2c\20float\29 +8704:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPath\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20SkPath*\2c\20SkPaint*\29 +8705:emscripten::internal::MethodInvoker\20\28skia::textlayout::Paragraph::*\29\28unsigned\20int\29\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int>::invoke\28skia::textlayout::SkRange\20\28skia::textlayout::Paragraph::*\20const&\29\28unsigned\20int\29\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int\29 +8706:emscripten::internal::MethodInvoker::invoke\28skia::textlayout::PositionWithAffinity\20\28skia::textlayout::Paragraph::*\20const&\29\28float\2c\20float\29\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +8707:emscripten::internal::MethodInvoker::invoke\28int\20\28skia::textlayout::Paragraph::*\20const&\29\28unsigned\20long\29\20const\2c\20skia::textlayout::Paragraph\20const*\2c\20unsigned\20long\29 +8708:emscripten::internal::MethodInvoker::invoke\28bool\20\28SkPath::*\20const&\29\28float\2c\20float\29\20const\2c\20SkPath\20const*\2c\20float\2c\20float\29 +8709:emscripten::internal::MethodInvoker::invoke\28SkPath&\20\28SkPath::*\20const&\29\28bool\29\2c\20SkPath*\2c\20bool\29 +8710:emscripten::internal::Invoker::invoke\28void\20\28*\29\28unsigned\20long\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20unsigned\20long\29 +8711:emscripten::internal::Invoker::invoke\28void\20\28*\29\28emscripten::val\29\2c\20emscripten::_EM_VAL*\29 +8712:emscripten::internal::Invoker::invoke\28unsigned\20long\20\28*\29\28unsigned\20long\29\2c\20unsigned\20long\29 +8713:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont*\29 +8714:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\2c\20sk_sp*\2c\20int\2c\20int\29 +8715:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\29\2c\20sk_sp*\2c\20int\2c\20int\2c\20sk_sp*\29 +8716:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\29 +8717:emscripten::internal::Invoker\2c\20sk_sp\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20SimpleImageInfo\29\2c\20sk_sp*\2c\20SimpleImageInfo*\29 +8718:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\29 +8719:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +8720:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20sk_sp*\29 +8721:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +8722:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +8723:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29\2c\20float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +8724:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +8725:emscripten::internal::Invoker\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val>::invoke\28sk_sp\20\28*\29\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\2c\20emscripten::_EM_VAL*\29 +8726:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20int\2c\20float>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20int\2c\20float\29\2c\20unsigned\20long\2c\20int\2c\20float\29 +8727:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkPath>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkPath\29\2c\20unsigned\20long\2c\20SkPath*\29 +8728:emscripten::internal::Invoker\2c\20float\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28float\2c\20unsigned\20long\29\2c\20float\2c\20unsigned\20long\29 +8729:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20unsigned\20int>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20unsigned\20int\29\2c\20float\2c\20float\2c\20unsigned\20int\29 +8730:emscripten::internal::Invoker\2c\20float>::invoke\28sk_sp\20\28*\29\28float\29\2c\20float\29 +8731:emscripten::internal::Invoker\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style>::invoke\28sk_sp\20\28*\29\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29\2c\20SkPath*\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29 +8732:emscripten::internal::Invoker\2c\20SkBlurStyle\2c\20float\2c\20bool>::invoke\28sk_sp\20\28*\29\28SkBlurStyle\2c\20float\2c\20bool\29\2c\20SkBlurStyle\2c\20float\2c\20bool\29 +8733:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20float\2c\20float\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20float\2c\20float\2c\20sk_sp\29\2c\20unsigned\20long\2c\20float\2c\20float\2c\20sk_sp*\29 +8734:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp\29\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp*\29 +8735:emscripten::internal::Invoker\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\29\2c\20sk_sp*\29 +8736:emscripten::internal::Invoker\2c\20sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29 +8737:emscripten::internal::Invoker\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +8738:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20sk_sp\29\2c\20float\2c\20float\2c\20sk_sp*\29 +8739:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp*\29 +8740:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20SkTileMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\29\2c\20float\2c\20float\2c\20SkTileMode\2c\20sk_sp*\29 +8741:emscripten::internal::Invoker\2c\20SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp\29\2c\20SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp*\2c\20sk_sp*\29 +8742:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29 +8743:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20emscripten::val>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20emscripten::val\29\2c\20SimpleImageInfo*\2c\20emscripten::_EM_VAL*\29 +8744:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkBlendMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkBlendMode\2c\20sk_sp\29\2c\20unsigned\20long\2c\20SkBlendMode\2c\20sk_sp*\29 +8745:emscripten::internal::Invoker\2c\20sk_sp\20const&\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\20const&\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +8746:emscripten::internal::Invoker\2c\20float\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20sk_sp\2c\20sk_sp\29\2c\20float\2c\20sk_sp*\2c\20sk_sp*\29 +8747:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20int\29 +8748:emscripten::internal::Invoker\2c\20std::__2::allocator>>::invoke\28emscripten::val\20\28*\29\28std::__2::basic_string\2c\20std::__2::allocator>\29\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\29 +8749:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28emscripten::val\2c\20emscripten::val\2c\20float\29\2c\20emscripten::_EM_VAL*\2c\20emscripten::_EM_VAL*\2c\20float\29 +8750:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\2c\20float\29\2c\20SkPath*\2c\20SkPath*\2c\20float\29 +8751:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\29\2c\20SkPath*\2c\20SkPath*\2c\20SkPathOp\29 +8752:emscripten::internal::Invoker::invoke\28bool\20\28*\29\28unsigned\20long\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20SkPath*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29 +8753:emscripten::internal::Invoker\2c\20sk_sp>::invoke\28bool\20\28*\29\28sk_sp\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +8754:emscripten::internal::Invoker::invoke\28bool\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\29\2c\20SkPath*\2c\20SkPath*\29 +8755:emscripten::internal::Invoker::invoke\28SkVertices::Builder*\20\28*\29\28SkVertices::VertexMode&&\2c\20int&&\2c\20int&&\2c\20unsigned\20int&&\29\2c\20SkVertices::VertexMode\2c\20int\2c\20int\2c\20unsigned\20int\29 +8756:emscripten::internal::Invoker\2c\20int\2c\20int>::invoke\28SkRuntimeEffect::TracedShader\20\28*\29\28sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\29 +8757:emscripten::internal::Invoker::invoke\28SkPath\20\28*\29\28unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +8758:emscripten::internal::Invoker&&\2c\20float&&\2c\20float&&\2c\20float&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\2c\20float&&\2c\20float&&\2c\20float&&\29\2c\20sk_sp*\2c\20float\2c\20float\2c\20float\29 +8759:emscripten::internal::Invoker&&\2c\20float&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\2c\20float&&\29\2c\20sk_sp*\2c\20float\29 +8760:emscripten::internal::Invoker&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\29\2c\20sk_sp*\29 +8761:emscripten::internal::Invoker::invoke\28SkContourMeasureIter*\20\28*\29\28SkPath\20const&\2c\20bool&&\2c\20float&&\29\2c\20SkPath*\2c\20bool\2c\20float\29 +8762:emscripten::internal::Invoker::invoke\28SkCanvas*\20\28*\29\28float&&\2c\20float&&\29\2c\20float\2c\20float\29 +8763:emscripten::internal::FunctionInvoker\2c\20unsigned\20long\29\2c\20void\2c\20skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long>::invoke\28void\20\28**\29\28skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long\29\2c\20skia::textlayout::TypefaceFontProvider*\2c\20sk_sp*\2c\20unsigned\20long\29 +8764:emscripten::internal::FunctionInvoker\2c\20std::__2::allocator>\29\2c\20void\2c\20skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>>::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\29 +8765:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29 +8766:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\2c\20SkPaint\2c\20SkPaint\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20SimpleTextStyle*\2c\20SkPaint*\2c\20SkPaint*\29 +8767:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20SimpleTextStyle*\29 +8768:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +8769:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +8770:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +8771:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +8772:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +8773:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +8774:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkContourMeasure&\2c\20float\2c\20unsigned\20long\29\2c\20SkContourMeasure*\2c\20float\2c\20unsigned\20long\29 +8775:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont*\2c\20SkPaint*\29 +8776:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint*\29 +8777:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8778:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8779:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8780:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +8781:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont*\2c\20SkPaint*\29 +8782:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +8783:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29\2c\20SkCanvas*\2c\20SkPath*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29 +8784:emscripten::internal::FunctionInvoker\2c\20std::__2::allocator>\20\28*\29\28SkSL::DebugTrace&\29\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::DebugTrace&>::invoke\28std::__2::basic_string\2c\20std::__2::allocator>\20\28**\29\28SkSL::DebugTrace&\29\2c\20SkSL::DebugTrace*\29 +8785:emscripten::internal::FunctionInvoker\20\28*\29\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29\2c\20sk_sp\2c\20SkFontMgr&\2c\20unsigned\20long\2c\20int>::invoke\28sk_sp\20\28**\29\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29\2c\20SkFontMgr*\2c\20unsigned\20long\2c\20int\29 +8786:emscripten::internal::FunctionInvoker\20\28*\29\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20sk_sp\2c\20SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val>::invoke\28sk_sp\20\28**\29\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20SkFontMgr*\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\2c\20emscripten::_EM_VAL*\29 +8787:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29\2c\20sk_sp\2c\20sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29 +8788:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29\2c\20sk_sp\2c\20sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29 +8789:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8790:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29 +8791:emscripten::internal::FunctionInvoker\20\28*\29\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SkPicture*\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +8792:emscripten::internal::FunctionInvoker\20\28*\29\28SkPictureRecorder&\29\2c\20sk_sp\2c\20SkPictureRecorder&>::invoke\28sk_sp\20\28**\29\28SkPictureRecorder&\29\2c\20SkPictureRecorder*\29 +8793:emscripten::internal::FunctionInvoker\20\28*\29\28SkSurface&\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkSurface&\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkSurface&\2c\20unsigned\20long\29\2c\20SkSurface*\2c\20unsigned\20long\29 +8794:emscripten::internal::FunctionInvoker\20\28*\29\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29\2c\20sk_sp\2c\20SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28**\29\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29\2c\20SkSurface*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo*\29 +8795:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +8796:emscripten::internal::FunctionInvoker::invoke\28int\20\28**\29\28SkCanvas&\2c\20SkPaint\29\2c\20SkCanvas*\2c\20SkPaint*\29 +8797:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28skia::textlayout::Paragraph&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +8798:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28skia::textlayout::Paragraph&\2c\20float\2c\20float\29\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +8799:emscripten::internal::FunctionInvoker\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29\2c\20emscripten::val\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*>::invoke\28emscripten::val\20\28**\29\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29\2c\20sk_sp*\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29 +8800:emscripten::internal::FunctionInvoker\2c\20SkEncodedImageFormat\2c\20int\29\2c\20emscripten::val\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int>::invoke\28emscripten::val\20\28**\29\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\29\2c\20sk_sp*\2c\20SkEncodedImageFormat\2c\20int\29 +8801:emscripten::internal::FunctionInvoker\29\2c\20emscripten::val\2c\20sk_sp>::invoke\28emscripten::val\20\28**\29\28sk_sp\29\2c\20sk_sp*\29 +8802:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29\2c\20SkFont*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29 +8803:emscripten::internal::FunctionInvoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29\2c\20bool\2c\20sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*>::invoke\28bool\20\28**\29\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29\2c\20sk_sp*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29 +8804:emscripten::internal::FunctionInvoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20bool\2c\20sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int>::invoke\28bool\20\28**\29\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8805:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\29 +8806:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20float\2c\20float\2c\20bool\29 +8807:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20StrokeOpts\29\2c\20SkPath*\2c\20StrokeOpts*\29 +8808:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20SkCanvas*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8809:emscripten::internal::FunctionInvoker::invoke\28SkPath\20\28**\29\28SkPath\20const&\29\2c\20SkPath*\29 +8810:emscripten::internal::FunctionInvoker::invoke\28SkPath\20\28**\29\28SkContourMeasure&\2c\20float\2c\20float\2c\20bool\29\2c\20SkContourMeasure*\2c\20float\2c\20float\2c\20bool\29 +8811:emscripten::internal::FunctionInvoker::invoke\28SkPaint\20\28**\29\28SkPaint\20const&\29\2c\20SkPaint*\29 +8812:emscripten::internal::FunctionInvoker::invoke\28SimpleImageInfo\20\28**\29\28SkSurface&\29\2c\20SkSurface*\29 +8813:emscripten::internal::FunctionInvoker::invoke\28RuntimeEffectUniform\20\28**\29\28SkRuntimeEffect&\2c\20int\29\2c\20SkRuntimeEffect*\2c\20int\29 +8814:emit_message +8815:embind_init_Skia\28\29::$_9::__invoke\28SkAnimatedImage&\29 +8816:embind_init_Skia\28\29::$_99::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\29 +8817:embind_init_Skia\28\29::$_98::__invoke\28SkPath&\2c\20unsigned\20long\2c\20int\2c\20bool\29 +8818:embind_init_Skia\28\29::$_97::__invoke\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\29 +8819:embind_init_Skia\28\29::$_96::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20int\29 +8820:embind_init_Skia\28\29::$_95::__invoke\28SkPath&\2c\20unsigned\20long\2c\20float\2c\20float\29 +8821:embind_init_Skia\28\29::$_94::__invoke\28unsigned\20long\2c\20SkPath\29 +8822:embind_init_Skia\28\29::$_93::__invoke\28float\2c\20unsigned\20long\29 +8823:embind_init_Skia\28\29::$_92::__invoke\28unsigned\20long\2c\20int\2c\20float\29 +8824:embind_init_Skia\28\29::$_91::__invoke\28\29 +8825:embind_init_Skia\28\29::$_90::__invoke\28\29 +8826:embind_init_Skia\28\29::$_8::__invoke\28emscripten::val\29 +8827:embind_init_Skia\28\29::$_89::__invoke\28sk_sp\2c\20sk_sp\29 +8828:embind_init_Skia\28\29::$_88::__invoke\28SkPaint&\2c\20unsigned\20int\2c\20sk_sp\29 +8829:embind_init_Skia\28\29::$_87::__invoke\28SkPaint&\2c\20unsigned\20int\29 +8830:embind_init_Skia\28\29::$_86::__invoke\28SkPaint&\2c\20unsigned\20long\2c\20sk_sp\29 +8831:embind_init_Skia\28\29::$_85::__invoke\28SkPaint&\2c\20unsigned\20long\29 +8832:embind_init_Skia\28\29::$_84::__invoke\28SkPaint\20const&\29 +8833:embind_init_Skia\28\29::$_83::__invoke\28SkBlurStyle\2c\20float\2c\20bool\29 +8834:embind_init_Skia\28\29::$_82::__invoke\28float\2c\20float\2c\20sk_sp\29 +8835:embind_init_Skia\28\29::$_81::__invoke\28unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp\29 +8836:embind_init_Skia\28\29::$_80::__invoke\28unsigned\20long\2c\20float\2c\20float\2c\20sk_sp\29 +8837:embind_init_Skia\28\29::$_7::__invoke\28GrDirectContext&\2c\20unsigned\20long\29 +8838:embind_init_Skia\28\29::$_79::__invoke\28sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +8839:embind_init_Skia\28\29::$_78::__invoke\28sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29 +8840:embind_init_Skia\28\29::$_77::__invoke\28float\2c\20float\2c\20sk_sp\29 +8841:embind_init_Skia\28\29::$_76::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +8842:embind_init_Skia\28\29::$_75::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +8843:embind_init_Skia\28\29::$_74::__invoke\28sk_sp\29 +8844:embind_init_Skia\28\29::$_73::__invoke\28SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp\29 +8845:embind_init_Skia\28\29::$_72::__invoke\28float\2c\20float\2c\20sk_sp\29 +8846:embind_init_Skia\28\29::$_71::__invoke\28sk_sp\2c\20sk_sp\29 +8847:embind_init_Skia\28\29::$_70::__invoke\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\29 +8848:embind_init_Skia\28\29::$_6::__invoke\28GrDirectContext&\29 +8849:embind_init_Skia\28\29::$_69::__invoke\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29 +8850:embind_init_Skia\28\29::$_68::__invoke\28SkImageFilter\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8851:embind_init_Skia\28\29::$_67::__invoke\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8852:embind_init_Skia\28\29::$_66::__invoke\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29 +8853:embind_init_Skia\28\29::$_65::__invoke\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29 +8854:embind_init_Skia\28\29::$_64::__invoke\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29 +8855:embind_init_Skia\28\29::$_63::__invoke\28sk_sp\29 +8856:embind_init_Skia\28\29::$_62::__invoke\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29 +8857:embind_init_Skia\28\29::$_61::__invoke\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\29 +8858:embind_init_Skia\28\29::$_60::__invoke\28sk_sp\29 +8859:embind_init_Skia\28\29::$_5::__invoke\28GrDirectContext&\29 +8860:embind_init_Skia\28\29::$_59::__invoke\28sk_sp\29 +8861:embind_init_Skia\28\29::$_58::__invoke\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29 +8862:embind_init_Skia\28\29::$_57::__invoke\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +8863:embind_init_Skia\28\29::$_56::__invoke\28SkFontMgr&\2c\20int\29 +8864:embind_init_Skia\28\29::$_55::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20int\29 +8865:embind_init_Skia\28\29::$_54::__invoke\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29 +8866:embind_init_Skia\28\29::$_53::__invoke\28SkFont&\29 +8867:embind_init_Skia\28\29::$_52::__invoke\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8868:embind_init_Skia\28\29::$_51::__invoke\28SkFont&\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint*\29 +8869:embind_init_Skia\28\29::$_50::__invoke\28SkContourMeasure&\2c\20float\2c\20float\2c\20bool\29 +8870:embind_init_Skia\28\29::$_4::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +8871:embind_init_Skia\28\29::$_49::__invoke\28SkContourMeasure&\2c\20float\2c\20unsigned\20long\29 +8872:embind_init_Skia\28\29::$_48::__invoke\28unsigned\20long\29 +8873:embind_init_Skia\28\29::$_47::__invoke\28unsigned\20long\2c\20SkBlendMode\2c\20sk_sp\29 +8874:embind_init_Skia\28\29::$_46::__invoke\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8875:embind_init_Skia\28\29::$_45::__invoke\28SkCanvas&\2c\20SkPaint\29 +8876:embind_init_Skia\28\29::$_44::__invoke\28SkCanvas&\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29 +8877:embind_init_Skia\28\29::$_43::__invoke\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8878:embind_init_Skia\28\29::$_42::__invoke\28SkCanvas&\2c\20SimpleImageInfo\29 +8879:embind_init_Skia\28\29::$_41::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +8880:embind_init_Skia\28\29::$_40::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +8881:embind_init_Skia\28\29::$_3::__invoke\28unsigned\20long\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29 +8882:embind_init_Skia\28\29::$_39::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +8883:embind_init_Skia\28\29::$_38::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29 +8884:embind_init_Skia\28\29::$_37::__invoke\28SkCanvas&\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29 +8885:embind_init_Skia\28\29::$_36::__invoke\28SkCanvas&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +8886:embind_init_Skia\28\29::$_35::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +8887:embind_init_Skia\28\29::$_34::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +8888:embind_init_Skia\28\29::$_33::__invoke\28SkCanvas&\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint&\29 +8889:embind_init_Skia\28\29::$_32::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +8890:embind_init_Skia\28\29::$_31::__invoke\28SkCanvas&\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +8891:embind_init_Skia\28\29::$_30::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +8892:embind_init_Skia\28\29::$_2::__invoke\28SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29 +8893:embind_init_Skia\28\29::$_29::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +8894:embind_init_Skia\28\29::$_28::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8895:embind_init_Skia\28\29::$_27::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\20const*\2c\20bool\29 +8896:embind_init_Skia\28\29::$_26::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +8897:embind_init_Skia\28\29::$_25::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +8898:embind_init_Skia\28\29::$_24::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8899:embind_init_Skia\28\29::$_23::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8900:embind_init_Skia\28\29::$_22::__invoke\28SkCanvas&\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29 +8901:embind_init_Skia\28\29::$_21::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +8902:embind_init_Skia\28\29::$_20::__invoke\28SkCanvas&\2c\20unsigned\20int\2c\20SkBlendMode\29 +8903:embind_init_Skia\28\29::$_1::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +8904:embind_init_Skia\28\29::$_19::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkBlendMode\29 +8905:embind_init_Skia\28\29::$_18::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +8906:embind_init_Skia\28\29::$_17::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8907:embind_init_Skia\28\29::$_16::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +8908:embind_init_Skia\28\29::$_15::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +8909:embind_init_Skia\28\29::$_14::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +8910:embind_init_Skia\28\29::$_148::__invoke\28SkVertices::Builder&\29 +8911:embind_init_Skia\28\29::$_147::__invoke\28SkVertices::Builder&\29 +8912:embind_init_Skia\28\29::$_146::__invoke\28SkVertices::Builder&\29 +8913:embind_init_Skia\28\29::$_145::__invoke\28SkVertices::Builder&\29 +8914:embind_init_Skia\28\29::$_144::__invoke\28SkVertices&\2c\20unsigned\20long\29 +8915:embind_init_Skia\28\29::$_143::__invoke\28SkTypeface&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8916:embind_init_Skia\28\29::$_142::__invoke\28unsigned\20long\2c\20int\29 +8917:embind_init_Skia\28\29::$_141::__invoke\28\29 +8918:embind_init_Skia\28\29::$_140::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +8919:embind_init_Skia\28\29::$_13::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +8920:embind_init_Skia\28\29::$_139::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +8921:embind_init_Skia\28\29::$_138::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +8922:embind_init_Skia\28\29::$_137::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +8923:embind_init_Skia\28\29::$_136::__invoke\28SkSurface&\29 +8924:embind_init_Skia\28\29::$_135::__invoke\28SkSurface&\29 +8925:embind_init_Skia\28\29::$_134::__invoke\28SkSurface&\29 +8926:embind_init_Skia\28\29::$_133::__invoke\28SkSurface&\2c\20SimpleImageInfo\29 +8927:embind_init_Skia\28\29::$_132::__invoke\28SkSurface&\2c\20unsigned\20long\29 +8928:embind_init_Skia\28\29::$_131::__invoke\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29 +8929:embind_init_Skia\28\29::$_130::__invoke\28SkSurface&\29 +8930:embind_init_Skia\28\29::$_12::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +8931:embind_init_Skia\28\29::$_129::__invoke\28SkSurface&\29 +8932:embind_init_Skia\28\29::$_128::__invoke\28SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\29 +8933:embind_init_Skia\28\29::$_127::__invoke\28SkRuntimeEffect&\2c\20int\29 +8934:embind_init_Skia\28\29::$_126::__invoke\28SkRuntimeEffect&\2c\20int\29 +8935:embind_init_Skia\28\29::$_125::__invoke\28SkRuntimeEffect&\29 +8936:embind_init_Skia\28\29::$_124::__invoke\28SkRuntimeEffect&\29 +8937:embind_init_Skia\28\29::$_123::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +8938:embind_init_Skia\28\29::$_122::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8939:embind_init_Skia\28\29::$_121::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29 +8940:embind_init_Skia\28\29::$_120::__invoke\28sk_sp\2c\20int\2c\20int\29 +8941:embind_init_Skia\28\29::$_11::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +8942:embind_init_Skia\28\29::$_119::__invoke\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +8943:embind_init_Skia\28\29::$_118::__invoke\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +8944:embind_init_Skia\28\29::$_117::__invoke\28SkSL::DebugTrace&\29 +8945:embind_init_Skia\28\29::$_116::__invoke\28unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +8946:embind_init_Skia\28\29::$_115::__invoke\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +8947:embind_init_Skia\28\29::$_114::__invoke\28float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +8948:embind_init_Skia\28\29::$_113::__invoke\28float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +8949:embind_init_Skia\28\29::$_112::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +8950:embind_init_Skia\28\29::$_111::__invoke\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +8951:embind_init_Skia\28\29::$_110::__invoke\28unsigned\20long\2c\20sk_sp\29 +8952:embind_init_Skia\28\29::$_10::__invoke\28SkAnimatedImage&\29 +8953:embind_init_Skia\28\29::$_109::operator\28\29\28SkPicture&\29\20const::'lambda'\28SkImage*\2c\20void*\29::__invoke\28SkImage*\2c\20void*\29 +8954:embind_init_Skia\28\29::$_109::__invoke\28SkPicture&\29 +8955:embind_init_Skia\28\29::$_108::__invoke\28SkPicture&\2c\20unsigned\20long\29 +8956:embind_init_Skia\28\29::$_107::__invoke\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +8957:embind_init_Skia\28\29::$_106::__invoke\28SkPictureRecorder&\29 +8958:embind_init_Skia\28\29::$_105::__invoke\28SkPictureRecorder&\2c\20unsigned\20long\2c\20bool\29 +8959:embind_init_Skia\28\29::$_104::__invoke\28SkPath&\2c\20unsigned\20long\29 +8960:embind_init_Skia\28\29::$_103::__invoke\28SkPath&\2c\20unsigned\20long\29 +8961:embind_init_Skia\28\29::$_102::__invoke\28SkPath&\2c\20int\2c\20unsigned\20long\29 +8962:embind_init_Skia\28\29::$_101::__invoke\28SkPath&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\29 +8963:embind_init_Skia\28\29::$_100::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\29 +8964:embind_init_Skia\28\29::$_0::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +8965:embind_init_Paragraph\28\29::$_9::__invoke\28skia::textlayout::ParagraphBuilderImpl&\29 +8966:embind_init_Paragraph\28\29::$_8::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29 +8967:embind_init_Paragraph\28\29::$_7::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\2c\20SkPaint\2c\20SkPaint\29 +8968:embind_init_Paragraph\28\29::$_6::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\29 +8969:embind_init_Paragraph\28\29::$_4::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +8970:embind_init_Paragraph\28\29::$_3::__invoke\28emscripten::val\2c\20emscripten::val\2c\20float\29 +8971:embind_init_Paragraph\28\29::$_2::__invoke\28SimpleParagraphStyle\2c\20sk_sp\29 +8972:embind_init_Paragraph\28\29::$_19::__invoke\28skia::textlayout::FontCollection&\2c\20sk_sp\20const&\29 +8973:embind_init_Paragraph\28\29::$_18::__invoke\28\29 +8974:embind_init_Paragraph\28\29::$_17::__invoke\28skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long\29 +8975:embind_init_Paragraph\28\29::$_16::__invoke\28\29 +8976:dispose_external_texture\28void*\29 +8977:deleteJSTexture\28void*\29 +8978:deflate_slow +8979:deflate_fast +8980:defaultGetValue\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8981:defaultGetMaxValue\28IntProperty\20const&\2c\20UProperty\29 +8982:defaultContains\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8983:decompress_smooth_data +8984:decompress_onepass +8985:decompress_data +8986:decompose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +8987:decompose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +8988:decompose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +8989:decode_mcu_DC_refine +8990:decode_mcu_DC_first +8991:decode_mcu_AC_refine +8992:decode_mcu_AC_first +8993:decode_mcu +8994:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::Make\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20bool\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8995:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\2c\20GrShaderCaps\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::\28anonymous\20namespace\29::HullShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8996:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8997:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8998:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&>\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathTessellator::PathDrawList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8999:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29>\28skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20sk_sp\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9000:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Make\28SkArenaAlloc*\2c\20GrAAType\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9001:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerSkyline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9002:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerPow2&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9003:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make*\20SkArenaAlloc::make>\28\29::'lambda'\28void*\29>\28sk_sp&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9004:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc>\28\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TextureOpImpl::Desc&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9005:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TentPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9006:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::SimpleTriangleShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9007:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9008:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader\2c\20bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*\2c\20GrShaderCaps\20const&>\28bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*&&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::DrawAtlasPathShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9009:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&>\28SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::BoundingBoxShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9010:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20unsigned\20char&&\29::'lambda'\28void*\29>\28Sprite_D32_S32&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9011:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTriColorShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9012:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTCubic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9013:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTConic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9014:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\29::'lambda'\28void*\29>\28SkSpriteBlitter_Memcpy&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9015:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&>\28SkPixmap\20const&\2c\20SkArenaAlloc*&\2c\20sk_sp&\29::'lambda'\28void*\29>\28SkRasterPipelineSpriteBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9016:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkArenaAlloc*&\29::'lambda'\28void*\29>\28SkRasterPipelineBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9017:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkNullBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9018:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkImage_Base\20const*&&\2c\20SkMatrix\20const&\2c\20SkMipmapMode&\29::'lambda'\28void*\29>\28SkMipmapAccessor&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9019:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::PathData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9020:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::DrawableData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9021:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkGlyph&&\29::'lambda'\28void*\29>\28SkGlyph&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9022:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\29>>::Node*\20SkArenaAlloc::make&\29>>::Node\2c\20std::__2::function&\29>>\28std::__2::function&\29>&&\29::'lambda'\28void*\29>\28SkArenaAllocList&\29>>::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9023:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node\2c\20std::__2::function&\29>\2c\20skgpu::AtlasToken>\28std::__2::function&\29>&&\2c\20skgpu::AtlasToken&&\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9024:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node>\28\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9025:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Coverage_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9026:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28GrSimpleMesh&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9027:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29::'lambda'\28void*\29>\28GrResourceAllocator::Register&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9028:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPath\20const&\2c\20SkArenaAlloc*\20const&\29::'lambda'\28void*\29>\28GrInnerFanTriangulator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9029:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldLCDTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20GrDistanceFieldLCDTextGeoProc::DistanceAdjust\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9030:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29>\28GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9031:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrAppliedClip&&\29::'lambda'\28void*\29>\28GrAppliedClip&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9032:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28EllipseGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9033:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28DefaultGeoProc::Make\28SkArenaAlloc*\2c\20unsigned\20int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9034:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9035:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&\29 +9036:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9037:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9038:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +9039:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9040:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&\29 +9041:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9042:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9043:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9044:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +9045:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +9046:deallocate_buffer_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9047:ddquad_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9048:ddquad_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9049:ddline_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9050:ddline_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9051:ddcubic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9052:ddcubic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9053:ddconic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9054:ddconic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9055:data_destroy_use\28void*\29 +9056:data_create_use\28hb_ot_shape_plan_t\20const*\29 +9057:data_create_khmer\28hb_ot_shape_plan_t\20const*\29 +9058:data_create_indic\28hb_ot_shape_plan_t\20const*\29 +9059:data_create_hangul\28hb_ot_shape_plan_t\20const*\29 +9060:copy\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +9061:convert_bytes_to_data +9062:consume_markers +9063:consume_data +9064:computeTonalColors\28unsigned\20long\2c\20unsigned\20long\29 +9065:compose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9066:compose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9067:compose_hebrew\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9068:compare_ppem +9069:compare_offsets +9070:compare_myanmar_order\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +9071:compare_combining_class\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +9072:compareKeywordStructs\28void\20const*\2c\20void\20const*\2c\20void\20const*\29 +9073:compareEntries\28UElement\2c\20UElement\29 +9074:color_quantize3 +9075:color_quantize +9076:collect_features_use\28hb_ot_shape_planner_t*\29 +9077:collect_features_myanmar\28hb_ot_shape_planner_t*\29 +9078:collect_features_khmer\28hb_ot_shape_planner_t*\29 +9079:collect_features_indic\28hb_ot_shape_planner_t*\29 +9080:collect_features_hangul\28hb_ot_shape_planner_t*\29 +9081:collect_features_arabic\28hb_ot_shape_planner_t*\29 +9082:clip\28SkPath\20const&\2c\20SkHalfPlane\20const&\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +9083:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitStatement\28SkSL::Statement\20const&\29 +9084:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9085:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitExpression\28SkSL::Expression\20const&\29 +9086:charIterTextLength\28UText*\29 +9087:charIterTextExtract\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +9088:charIterTextClose\28UText*\29 +9089:charIterTextClone\28UText*\2c\20UText\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +9090:changesWhenNFKC_Casefolded\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +9091:changesWhenCasefolded\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +9092:cff_slot_init +9093:cff_slot_done +9094:cff_size_request +9095:cff_size_init +9096:cff_size_done +9097:cff_sid_to_glyph_name +9098:cff_set_var_design +9099:cff_set_mm_weightvector +9100:cff_set_mm_blend +9101:cff_set_instance +9102:cff_random +9103:cff_ps_has_glyph_names +9104:cff_ps_get_font_info +9105:cff_ps_get_font_extra +9106:cff_parse_vsindex +9107:cff_parse_private_dict +9108:cff_parse_multiple_master +9109:cff_parse_maxstack +9110:cff_parse_font_matrix +9111:cff_parse_font_bbox +9112:cff_parse_cid_ros +9113:cff_parse_blend +9114:cff_metrics_adjust +9115:cff_hadvance_adjust +9116:cff_glyph_load +9117:cff_get_var_design +9118:cff_get_var_blend +9119:cff_get_standard_encoding +9120:cff_get_ros +9121:cff_get_ps_name +9122:cff_get_name_index +9123:cff_get_mm_weightvector +9124:cff_get_mm_var +9125:cff_get_mm_blend +9126:cff_get_is_cid +9127:cff_get_interface +9128:cff_get_glyph_name +9129:cff_get_glyph_data +9130:cff_get_cmap_info +9131:cff_get_cid_from_glyph_index +9132:cff_get_advances +9133:cff_free_glyph_data +9134:cff_fd_select_get +9135:cff_face_init +9136:cff_face_done +9137:cff_driver_init +9138:cff_done_blend +9139:cff_decoder_prepare +9140:cff_decoder_init +9141:cff_cmap_unicode_init +9142:cff_cmap_unicode_char_next +9143:cff_cmap_unicode_char_index +9144:cff_cmap_encoding_init +9145:cff_cmap_encoding_done +9146:cff_cmap_encoding_char_next +9147:cff_cmap_encoding_char_index +9148:cff_builder_start_point +9149:cff_builder_init +9150:cff_builder_add_point1 +9151:cff_builder_add_point +9152:cff_builder_add_contour +9153:cff_blend_check_vector +9154:cf2_free_instance +9155:cf2_decoder_parse_charstrings +9156:cf2_builder_moveTo +9157:cf2_builder_lineTo +9158:cf2_builder_cubeTo +9159:caseBinaryPropertyContains\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +9160:bw_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +9161:bw_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9162:bw_pt_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9163:bw_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9164:bw_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9165:breakiterator_cleanup\28\29 +9166:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::SpotVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +9167:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::AmbientVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +9168:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9169:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9170:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9171:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9172:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9173:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9174:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9175:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9176:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9177:blur_y_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9178:blur_y_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9179:blur_y_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9180:blur_y_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9181:blur_x_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9182:blur_x_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9183:blur_x_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9184:blur_x_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9185:blit_row_s32a_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +9186:blit_row_s32_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +9187:blit_row_s32_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +9188:biDiGetMaxValue\28IntProperty\20const&\2c\20UProperty\29 +9189:argb32_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +9190:arabic_fallback_shape\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9191:alwaysSaveTypefaceBytes\28SkTypeface*\2c\20void*\29 +9192:alloc_sarray +9193:alloc_barray +9194:afm_parser_parse +9195:afm_parser_init +9196:afm_parser_done +9197:afm_compare_kern_pairs +9198:af_property_set +9199:af_property_get +9200:af_latin_metrics_scale +9201:af_latin_metrics_init +9202:af_latin_hints_init +9203:af_latin_hints_apply +9204:af_latin_get_standard_widths +9205:af_indic_metrics_init +9206:af_indic_hints_apply +9207:af_get_interface +9208:af_face_globals_free +9209:af_dummy_hints_init +9210:af_dummy_hints_apply +9211:af_cjk_metrics_init +9212:af_autofitter_load_glyph +9213:af_autofitter_init +9214:access_virt_sarray +9215:access_virt_barray +9216:aa_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9217:aa_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9218:aa_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9219:_hb_ot_font_destroy\28void*\29 +9220:_hb_glyph_info_is_default_ignorable\28hb_glyph_info_t\20const*\29 +9221:_hb_face_for_data_reference_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +9222:_hb_face_for_data_closure_destroy\28void*\29 +9223:_hb_clear_substitution_flags\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9224:_embind_initialize_bindings +9225:__wasm_call_ctors +9226:__stdio_write +9227:__stdio_seek +9228:__stdio_read +9229:__stdio_close +9230:__getTypeName +9231:__cxxabiv1::__vmi_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9232:__cxxabiv1::__vmi_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9233:__cxxabiv1::__vmi_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +9234:__cxxabiv1::__si_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9235:__cxxabiv1::__si_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9236:__cxxabiv1::__si_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +9237:__cxxabiv1::__class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9238:__cxxabiv1::__class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9239:__cxxabiv1::__class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +9240:__cxxabiv1::__class_type_info::can_catch\28__cxxabiv1::__shim_type_info\20const*\2c\20void*&\29\20const +9241:__cxx_global_array_dtor.87 +9242:__cxx_global_array_dtor.72 +9243:__cxx_global_array_dtor.6 +9244:__cxx_global_array_dtor.57 +9245:__cxx_global_array_dtor.5 +9246:__cxx_global_array_dtor.44 +9247:__cxx_global_array_dtor.42 +9248:__cxx_global_array_dtor.40 +9249:__cxx_global_array_dtor.4 +9250:__cxx_global_array_dtor.38 +9251:__cxx_global_array_dtor.36 +9252:__cxx_global_array_dtor.34 +9253:__cxx_global_array_dtor.32 +9254:__cxx_global_array_dtor.2 +9255:__cxx_global_array_dtor.17 +9256:__cxx_global_array_dtor.16 +9257:__cxx_global_array_dtor.15 +9258:__cxx_global_array_dtor.138 +9259:__cxx_global_array_dtor.135 +9260:__cxx_global_array_dtor.111 +9261:__cxx_global_array_dtor.11 +9262:__cxx_global_array_dtor.10 +9263:__cxx_global_array_dtor.1.2 +9264:__cxx_global_array_dtor.1.1 +9265:__cxx_global_array_dtor.1 +9266:__cxx_global_array_dtor +9267:__cxa_pure_virtual +9268:__cxa_is_pointer_type +9269:\28anonymous\20namespace\29::uprops_cleanup\28\29 +9270:\28anonymous\20namespace\29::ulayout_isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +9271:\28anonymous\20namespace\29::skhb_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +9272:\28anonymous\20namespace\29::skhb_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9273:\28anonymous\20namespace\29::skhb_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +9274:\28anonymous\20namespace\29::skhb_glyph_h_advance\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +9275:\28anonymous\20namespace\29::skhb_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +9276:\28anonymous\20namespace\29::skhb_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9277:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29::$_0::__invoke\28void*\29 +9278:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +9279:\28anonymous\20namespace\29::make_morphology\28\28anonymous\20namespace\29::MorphType\2c\20SkSize\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +9280:\28anonymous\20namespace\29::make_drop_shadow_graph\28SkPoint\2c\20SkSize\2c\20unsigned\20int\2c\20bool\2c\20sk_sp\2c\20std::__2::optional\20const&\29 +9281:\28anonymous\20namespace\29::extension_compare\28SkString\20const&\2c\20SkString\20const&\29 +9282:\28anonymous\20namespace\29::characterproperties_cleanup\28\29 +9283:\28anonymous\20namespace\29::_set_add\28USet*\2c\20int\29 +9284:\28anonymous\20namespace\29::_set_addString\28USet*\2c\20char16_t\20const*\2c\20int\29 +9285:\28anonymous\20namespace\29::_set_addRange\28USet*\2c\20int\2c\20int\29 +9286:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29.1 +9287:\28anonymous\20namespace\29::YUVPlanesRec::getCategory\28\29\20const +9288:\28anonymous\20namespace\29::YUVPlanesRec::diagnostic_only_getDiscardable\28\29\20const +9289:\28anonymous\20namespace\29::YUVPlanesRec::bytesUsed\28\29\20const +9290:\28anonymous\20namespace\29::YUVPlanesRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +9291:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29.1 +9292:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29 +9293:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29.1 +9294:\28anonymous\20namespace\29::TriangulatingPathOp::visitProxies\28std::__2::function\20const&\29\20const +9295:\28anonymous\20namespace\29::TriangulatingPathOp::programInfo\28\29 +9296:\28anonymous\20namespace\29::TriangulatingPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9297:\28anonymous\20namespace\29::TriangulatingPathOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9298:\28anonymous\20namespace\29::TriangulatingPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9299:\28anonymous\20namespace\29::TriangulatingPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9300:\28anonymous\20namespace\29::TriangulatingPathOp::name\28\29\20const +9301:\28anonymous\20namespace\29::TriangulatingPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9302:\28anonymous\20namespace\29::TransformedMaskSubRun::unflattenSize\28\29\20const +9303:\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9304:\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +9305:\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9306:\28anonymous\20namespace\29::TransformedMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9307:\28anonymous\20namespace\29::TransformedMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +9308:\28anonymous\20namespace\29::TransformedMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +9309:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29.1 +9310:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29 +9311:\28anonymous\20namespace\29::TextureOpImpl::visitProxies\28std::__2::function\20const&\29\20const +9312:\28anonymous\20namespace\29::TextureOpImpl::programInfo\28\29 +9313:\28anonymous\20namespace\29::TextureOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +9314:\28anonymous\20namespace\29::TextureOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9315:\28anonymous\20namespace\29::TextureOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9316:\28anonymous\20namespace\29::TextureOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9317:\28anonymous\20namespace\29::TextureOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9318:\28anonymous\20namespace\29::TextureOpImpl::name\28\29\20const +9319:\28anonymous\20namespace\29::TextureOpImpl::fixedFunctionFlags\28\29\20const +9320:\28anonymous\20namespace\29::TextureOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9321:\28anonymous\20namespace\29::TentPass::startBlur\28\29 +9322:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +9323:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +9324:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +9325:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29.1 +9326:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29 +9327:\28anonymous\20namespace\29::StaticVertexAllocator::unlock\28int\29 +9328:\28anonymous\20namespace\29::StaticVertexAllocator::lock\28unsigned\20long\2c\20int\29 +9329:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::currentScript\28\29\20const +9330:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::consume\28\29 +9331:\28anonymous\20namespace\29::SkUbrkGetLocaleByType::getLocaleByType\28UBreakIterator\20const*\2c\20ULocDataLocaleType\2c\20UErrorCode*\29 +9332:\28anonymous\20namespace\29::SkUbrkClone::clone\28UBreakIterator\20const*\2c\20UErrorCode*\29 +9333:\28anonymous\20namespace\29::SkShaderImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9334:\28anonymous\20namespace\29::SkShaderImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9335:\28anonymous\20namespace\29::SkShaderImageFilter::getTypeName\28\29\20const +9336:\28anonymous\20namespace\29::SkShaderImageFilter::flatten\28SkWriteBuffer&\29\20const +9337:\28anonymous\20namespace\29::SkShaderImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9338:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9339:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9340:\28anonymous\20namespace\29::SkMorphologyImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9341:\28anonymous\20namespace\29::SkMorphologyImageFilter::getTypeName\28\29\20const +9342:\28anonymous\20namespace\29::SkMorphologyImageFilter::flatten\28SkWriteBuffer&\29\20const +9343:\28anonymous\20namespace\29::SkMorphologyImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9344:\28anonymous\20namespace\29::SkMergeImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9345:\28anonymous\20namespace\29::SkMergeImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9346:\28anonymous\20namespace\29::SkMergeImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9347:\28anonymous\20namespace\29::SkMergeImageFilter::getTypeName\28\29\20const +9348:\28anonymous\20namespace\29::SkMergeImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9349:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9350:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9351:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9352:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::getTypeName\28\29\20const +9353:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::flatten\28SkWriteBuffer&\29\20const +9354:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9355:\28anonymous\20namespace\29::SkImageImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9356:\28anonymous\20namespace\29::SkImageImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9357:\28anonymous\20namespace\29::SkImageImageFilter::getTypeName\28\29\20const +9358:\28anonymous\20namespace\29::SkImageImageFilter::flatten\28SkWriteBuffer&\29\20const +9359:\28anonymous\20namespace\29::SkImageImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9360:\28anonymous\20namespace\29::SkFTGeometrySink::Quad\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +9361:\28anonymous\20namespace\29::SkFTGeometrySink::Move\28FT_Vector_\20const*\2c\20void*\29 +9362:\28anonymous\20namespace\29::SkFTGeometrySink::Line\28FT_Vector_\20const*\2c\20void*\29 +9363:\28anonymous\20namespace\29::SkFTGeometrySink::Cubic\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +9364:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +9365:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFamilyName\28SkString*\29\20const +9366:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +9367:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateFamilyNameIterator\28\29\20const +9368:\28anonymous\20namespace\29::SkEmptyTypeface::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +9369:\28anonymous\20namespace\29::SkEmptyTypeface::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +9370:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9371:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9372:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9373:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::getTypeName\28\29\20const +9374:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::flatten\28SkWriteBuffer&\29\20const +9375:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9376:\28anonymous\20namespace\29::SkCropImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9377:\28anonymous\20namespace\29::SkCropImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9378:\28anonymous\20namespace\29::SkCropImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9379:\28anonymous\20namespace\29::SkCropImageFilter::onAffectsTransparentBlack\28\29\20const +9380:\28anonymous\20namespace\29::SkCropImageFilter::getTypeName\28\29\20const +9381:\28anonymous\20namespace\29::SkCropImageFilter::flatten\28SkWriteBuffer&\29\20const +9382:\28anonymous\20namespace\29::SkCropImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9383:\28anonymous\20namespace\29::SkComposeImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9384:\28anonymous\20namespace\29::SkComposeImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9385:\28anonymous\20namespace\29::SkComposeImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9386:\28anonymous\20namespace\29::SkComposeImageFilter::getTypeName\28\29\20const +9387:\28anonymous\20namespace\29::SkComposeImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9388:\28anonymous\20namespace\29::SkColorFilterImageFilter::onIsColorFilterNode\28SkColorFilter**\29\20const +9389:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9390:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9391:\28anonymous\20namespace\29::SkColorFilterImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9392:\28anonymous\20namespace\29::SkColorFilterImageFilter::onAffectsTransparentBlack\28\29\20const +9393:\28anonymous\20namespace\29::SkColorFilterImageFilter::getTypeName\28\29\20const +9394:\28anonymous\20namespace\29::SkColorFilterImageFilter::flatten\28SkWriteBuffer&\29\20const +9395:\28anonymous\20namespace\29::SkColorFilterImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9396:\28anonymous\20namespace\29::SkBlurImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9397:\28anonymous\20namespace\29::SkBlurImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9398:\28anonymous\20namespace\29::SkBlurImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9399:\28anonymous\20namespace\29::SkBlurImageFilter::getTypeName\28\29\20const +9400:\28anonymous\20namespace\29::SkBlurImageFilter::flatten\28SkWriteBuffer&\29\20const +9401:\28anonymous\20namespace\29::SkBlurImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9402:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29.1 +9403:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29 +9404:\28anonymous\20namespace\29::SkBlendImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9405:\28anonymous\20namespace\29::SkBlendImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9406:\28anonymous\20namespace\29::SkBlendImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9407:\28anonymous\20namespace\29::SkBlendImageFilter::onAffectsTransparentBlack\28\29\20const +9408:\28anonymous\20namespace\29::SkBlendImageFilter::getTypeName\28\29\20const +9409:\28anonymous\20namespace\29::SkBlendImageFilter::flatten\28SkWriteBuffer&\29\20const +9410:\28anonymous\20namespace\29::SkBlendImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9411:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29.1 +9412:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29 +9413:\28anonymous\20namespace\29::SkBidiIterator_icu::getLevelAt\28int\29 +9414:\28anonymous\20namespace\29::SkBidiIterator_icu::getLength\28\29 +9415:\28anonymous\20namespace\29::SimpleTriangleShader::name\28\29\20const +9416:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9417:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9418:\28anonymous\20namespace\29::ShaperHarfBuzz::~ShaperHarfBuzz\28\29.1 +9419:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20float\2c\20SkShaper::RunHandler*\29\20const +9420:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +9421:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20bool\2c\20float\2c\20SkShaper::RunHandler*\29\20const +9422:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::~ShapeDontWrapOrReorder\28\29 +9423:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::wrap\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::BiDiRunIterator\20const&\2c\20SkShaper::LanguageRunIterator\20const&\2c\20SkShaper::ScriptRunIterator\20const&\2c\20SkShaper::FontRunIterator\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +9424:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29.1 +9425:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29 +9426:\28anonymous\20namespace\29::ShadowInvalidator::changed\28\29 +9427:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29.1 +9428:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29 +9429:\28anonymous\20namespace\29::ShadowCircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +9430:\28anonymous\20namespace\29::ShadowCircularRRectOp::programInfo\28\29 +9431:\28anonymous\20namespace\29::ShadowCircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9432:\28anonymous\20namespace\29::ShadowCircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9433:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9434:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9435:\28anonymous\20namespace\29::ShadowCircularRRectOp::name\28\29\20const +9436:\28anonymous\20namespace\29::ShadowCircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9437:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +9438:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +9439:\28anonymous\20namespace\29::SDFTSubRun::vertexStride\28SkMatrix\20const&\29\20const +9440:\28anonymous\20namespace\29::SDFTSubRun::vertexFiller\28\29\20const +9441:\28anonymous\20namespace\29::SDFTSubRun::unflattenSize\28\29\20const +9442:\28anonymous\20namespace\29::SDFTSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +9443:\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9444:\28anonymous\20namespace\29::SDFTSubRun::glyphs\28\29\20const +9445:\28anonymous\20namespace\29::SDFTSubRun::glyphCount\28\29\20const +9446:\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9447:\28anonymous\20namespace\29::SDFTSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9448:\28anonymous\20namespace\29::SDFTSubRun::doFlatten\28SkWriteBuffer&\29\20const +9449:\28anonymous\20namespace\29::SDFTSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +9450:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29.1 +9451:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29 +9452:\28anonymous\20namespace\29::RectsBlurRec::getCategory\28\29\20const +9453:\28anonymous\20namespace\29::RectsBlurRec::diagnostic_only_getDiscardable\28\29\20const +9454:\28anonymous\20namespace\29::RectsBlurRec::bytesUsed\28\29\20const +9455:\28anonymous\20namespace\29::RectsBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +9456:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29.1 +9457:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29 +9458:\28anonymous\20namespace\29::RRectBlurRec::getCategory\28\29\20const +9459:\28anonymous\20namespace\29::RRectBlurRec::diagnostic_only_getDiscardable\28\29\20const +9460:\28anonymous\20namespace\29::RRectBlurRec::bytesUsed\28\29\20const +9461:\28anonymous\20namespace\29::RRectBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +9462:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29.1 +9463:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29 +9464:\28anonymous\20namespace\29::PathSubRun::unflattenSize\28\29\20const +9465:\28anonymous\20namespace\29::PathSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9466:\28anonymous\20namespace\29::PathSubRun::doFlatten\28SkWriteBuffer&\29\20const +9467:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29.1 +9468:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29 +9469:\28anonymous\20namespace\29::MipMapRec::getCategory\28\29\20const +9470:\28anonymous\20namespace\29::MipMapRec::diagnostic_only_getDiscardable\28\29\20const +9471:\28anonymous\20namespace\29::MipMapRec::bytesUsed\28\29\20const +9472:\28anonymous\20namespace\29::MipMapRec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +9473:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29.1 +9474:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29 +9475:\28anonymous\20namespace\29::MiddleOutShader::name\28\29\20const +9476:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9477:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9478:\28anonymous\20namespace\29::MiddleOutShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9479:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29.1 +9480:\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const +9481:\28anonymous\20namespace\29::MeshOp::programInfo\28\29 +9482:\28anonymous\20namespace\29::MeshOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9483:\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9484:\28anonymous\20namespace\29::MeshOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9485:\28anonymous\20namespace\29::MeshOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9486:\28anonymous\20namespace\29::MeshOp::name\28\29\20const +9487:\28anonymous\20namespace\29::MeshOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9488:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29.1 +9489:\28anonymous\20namespace\29::MeshGP::onTextureSampler\28int\29\20const +9490:\28anonymous\20namespace\29::MeshGP::name\28\29\20const +9491:\28anonymous\20namespace\29::MeshGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9492:\28anonymous\20namespace\29::MeshGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9493:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29.1 +9494:\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +9495:\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9496:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +9497:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +9498:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +9499:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +9500:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMangledName\28char\20const*\29 +9501:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMainName\28\29 +9502:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +9503:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +9504:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +9505:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareFunction\28char\20const*\29 +9506:\28anonymous\20namespace\29::ImageFromPictureRec::~ImageFromPictureRec\28\29.1 +9507:\28anonymous\20namespace\29::ImageFromPictureRec::~ImageFromPictureRec\28\29 +9508:\28anonymous\20namespace\29::ImageFromPictureRec::getCategory\28\29\20const +9509:\28anonymous\20namespace\29::ImageFromPictureRec::bytesUsed\28\29\20const +9510:\28anonymous\20namespace\29::ImageFromPictureRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +9511:\28anonymous\20namespace\29::HQDownSampler::buildLevel\28SkPixmap\20const&\2c\20SkPixmap\20const&\29 +9512:\28anonymous\20namespace\29::GaussPass::startBlur\28\29 +9513:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +9514:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +9515:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +9516:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29.1 +9517:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29 +9518:\28anonymous\20namespace\29::FillRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +9519:\28anonymous\20namespace\29::FillRectOpImpl::programInfo\28\29 +9520:\28anonymous\20namespace\29::FillRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +9521:\28anonymous\20namespace\29::FillRectOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9522:\28anonymous\20namespace\29::FillRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9523:\28anonymous\20namespace\29::FillRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9524:\28anonymous\20namespace\29::FillRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9525:\28anonymous\20namespace\29::FillRectOpImpl::name\28\29\20const +9526:\28anonymous\20namespace\29::FillRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9527:\28anonymous\20namespace\29::EllipticalRRectEffect::onMakeProgramImpl\28\29\20const +9528:\28anonymous\20namespace\29::EllipticalRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9529:\28anonymous\20namespace\29::EllipticalRRectEffect::name\28\29\20const +9530:\28anonymous\20namespace\29::EllipticalRRectEffect::clone\28\29\20const +9531:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +9532:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +9533:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29.1 +9534:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29 +9535:\28anonymous\20namespace\29::DrawableSubRun::unflattenSize\28\29\20const +9536:\28anonymous\20namespace\29::DrawableSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9537:\28anonymous\20namespace\29::DrawableSubRun::doFlatten\28SkWriteBuffer&\29\20const +9538:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29.1 +9539:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29 +9540:\28anonymous\20namespace\29::DrawAtlasPathShader::onTextureSampler\28int\29\20const +9541:\28anonymous\20namespace\29::DrawAtlasPathShader::name\28\29\20const +9542:\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9543:\28anonymous\20namespace\29::DrawAtlasPathShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9544:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +9545:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9546:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29.1 +9547:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29 +9548:\28anonymous\20namespace\29::DrawAtlasOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +9549:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9550:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9551:\28anonymous\20namespace\29::DrawAtlasOpImpl::name\28\29\20const +9552:\28anonymous\20namespace\29::DrawAtlasOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9553:\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +9554:\28anonymous\20namespace\29::DirectMaskSubRun::unflattenSize\28\29\20const +9555:\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9556:\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +9557:\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9558:\28anonymous\20namespace\29::DirectMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9559:\28anonymous\20namespace\29::DirectMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +9560:\28anonymous\20namespace\29::DirectMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +9561:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29.1 +9562:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29 +9563:\28anonymous\20namespace\29::DefaultPathOp::visitProxies\28std::__2::function\20const&\29\20const +9564:\28anonymous\20namespace\29::DefaultPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9565:\28anonymous\20namespace\29::DefaultPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9566:\28anonymous\20namespace\29::DefaultPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9567:\28anonymous\20namespace\29::DefaultPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9568:\28anonymous\20namespace\29::DefaultPathOp::name\28\29\20const +9569:\28anonymous\20namespace\29::DefaultPathOp::fixedFunctionFlags\28\29\20const +9570:\28anonymous\20namespace\29::DefaultPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9571:\28anonymous\20namespace\29::CircularRRectEffect::onMakeProgramImpl\28\29\20const +9572:\28anonymous\20namespace\29::CircularRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9573:\28anonymous\20namespace\29::CircularRRectEffect::name\28\29\20const +9574:\28anonymous\20namespace\29::CircularRRectEffect::clone\28\29\20const +9575:\28anonymous\20namespace\29::CircularRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +9576:\28anonymous\20namespace\29::CircularRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +9577:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29.1 +9578:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29 +9579:\28anonymous\20namespace\29::CachedTessellationsRec::getCategory\28\29\20const +9580:\28anonymous\20namespace\29::CachedTessellationsRec::bytesUsed\28\29\20const +9581:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29.1 +9582:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29.1 +9583:\28anonymous\20namespace\29::CacheImpl::set\28SkImageFilterCacheKey\20const&\2c\20SkImageFilter\20const*\2c\20skif::FilterResult\20const&\29 +9584:\28anonymous\20namespace\29::CacheImpl::purge\28\29 +9585:\28anonymous\20namespace\29::CacheImpl::purgeByImageFilter\28SkImageFilter\20const*\29 +9586:\28anonymous\20namespace\29::CacheImpl::get\28SkImageFilterCacheKey\20const&\2c\20skif::FilterResult*\29\20const +9587:\28anonymous\20namespace\29::BoundingBoxShader::name\28\29\20const +9588:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +9589:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9590:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9591:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29.1 +9592:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29 +9593:\28anonymous\20namespace\29::AAHairlineOp::visitProxies\28std::__2::function\20const&\29\20const +9594:\28anonymous\20namespace\29::AAHairlineOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9595:\28anonymous\20namespace\29::AAHairlineOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9596:\28anonymous\20namespace\29::AAHairlineOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9597:\28anonymous\20namespace\29::AAHairlineOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9598:\28anonymous\20namespace\29::AAHairlineOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9599:\28anonymous\20namespace\29::AAHairlineOp::name\28\29\20const +9600:\28anonymous\20namespace\29::AAHairlineOp::fixedFunctionFlags\28\29\20const +9601:\28anonymous\20namespace\29::AAHairlineOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9602:YuvToRgbaRow +9603:YuvToRgba4444Row +9604:YuvToRgbRow +9605:YuvToRgb565Row +9606:YuvToBgraRow +9607:YuvToBgrRow +9608:YuvToArgbRow +9609:Write_CVT_Stretched +9610:Write_CVT +9611:WebPYuv444ToRgba_C +9612:WebPYuv444ToRgba4444_C +9613:WebPYuv444ToRgb_C +9614:WebPYuv444ToRgb565_C +9615:WebPYuv444ToBgra_C +9616:WebPYuv444ToBgr_C +9617:WebPYuv444ToArgb_C +9618:WebPRescalerImportRowShrink_C +9619:WebPRescalerImportRowExpand_C +9620:WebPRescalerExportRowShrink_C +9621:WebPRescalerExportRowExpand_C +9622:WebPMultRow_C +9623:WebPMultARGBRow_C +9624:WebPConvertRGBA32ToUV_C +9625:WebPConvertARGBToUV_C +9626:WebGLTextureImageGenerator::~WebGLTextureImageGenerator\28\29.1 +9627:WebGLTextureImageGenerator::~WebGLTextureImageGenerator\28\29 +9628:WebGLTextureImageGenerator::generateExternalTexture\28GrRecordingContext*\2c\20skgpu::Mipmapped\29 +9629:Vertish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +9630:Vertish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +9631:VerticalUnfilter_C +9632:VerticalFilter_C +9633:VertState::Triangles\28VertState*\29 +9634:VertState::TrianglesX\28VertState*\29 +9635:VertState::TriangleStrip\28VertState*\29 +9636:VertState::TriangleStripX\28VertState*\29 +9637:VertState::TriangleFan\28VertState*\29 +9638:VertState::TriangleFanX\28VertState*\29 +9639:VR4_C +9640:VP8LTransformColorInverse_C +9641:VP8LPredictor9_C +9642:VP8LPredictor8_C +9643:VP8LPredictor7_C +9644:VP8LPredictor6_C +9645:VP8LPredictor5_C +9646:VP8LPredictor4_C +9647:VP8LPredictor3_C +9648:VP8LPredictor2_C +9649:VP8LPredictor1_C +9650:VP8LPredictor13_C +9651:VP8LPredictor12_C +9652:VP8LPredictor11_C +9653:VP8LPredictor10_C +9654:VP8LPredictor0_C +9655:VP8LConvertBGRAToRGB_C +9656:VP8LConvertBGRAToRGBA_C +9657:VP8LConvertBGRAToRGBA4444_C +9658:VP8LConvertBGRAToRGB565_C +9659:VP8LConvertBGRAToBGR_C +9660:VP8LAddGreenToBlueAndRed_C +9661:VLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +9662:VLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +9663:VL4_C +9664:VFilter8i_C +9665:VFilter8_C +9666:VFilter16i_C +9667:VFilter16_C +9668:VE8uv_C +9669:VE4_C +9670:VE16_C +9671:UpsampleRgbaLinePair_C +9672:UpsampleRgba4444LinePair_C +9673:UpsampleRgbLinePair_C +9674:UpsampleRgb565LinePair_C +9675:UpsampleBgraLinePair_C +9676:UpsampleBgrLinePair_C +9677:UpsampleArgbLinePair_C +9678:UnresolvedCodepoints\28skia::textlayout::Paragraph&\29 +9679:UnicodeString_charAt\28int\2c\20void*\29 +9680:TransformWHT_C +9681:TransformUV_C +9682:TransformTwo_C +9683:TransformDC_C +9684:TransformDCUV_C +9685:TransformAC3_C +9686:ToSVGString\28SkPath\20const&\29 +9687:ToCmds\28SkPath\20const&\29 +9688:TT_Set_MM_Blend +9689:TT_RunIns +9690:TT_Load_Simple_Glyph +9691:TT_Load_Glyph_Header +9692:TT_Load_Composite_Glyph +9693:TT_Get_Var_Design +9694:TT_Get_MM_Blend +9695:TT_Forget_Glyph_Frame +9696:TT_Access_Glyph_Frame +9697:TM8uv_C +9698:TM4_C +9699:TM16_C +9700:Sync +9701:SquareCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +9702:Sprite_D32_S32::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9703:SkWuffsFrameHolder::onGetFrame\28int\29\20const +9704:SkWuffsCodec::~SkWuffsCodec\28\29.1 +9705:SkWuffsCodec::~SkWuffsCodec\28\29 +9706:SkWuffsCodec::onIncrementalDecode\28int*\29 +9707:SkWuffsCodec::onGetRepetitionCount\28\29 +9708:SkWuffsCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9709:SkWuffsCodec::onGetFrameInfo\28int\2c\20SkCodec::FrameInfo*\29\20const +9710:SkWuffsCodec::onGetFrameCount\28\29 +9711:SkWuffsCodec::getFrameHolder\28\29\20const +9712:SkWuffsCodec::getEncodedData\28\29\20const +9713:SkWriteICCProfile\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +9714:SkWebpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9715:SkWebpCodec::~SkWebpCodec\28\29.1 +9716:SkWebpCodec::~SkWebpCodec\28\29 +9717:SkWebpCodec::onGetValidSubset\28SkIRect*\29\20const +9718:SkWebpCodec::onGetRepetitionCount\28\29 +9719:SkWebpCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9720:SkWebpCodec::onGetFrameInfo\28int\2c\20SkCodec::FrameInfo*\29\20const +9721:SkWebpCodec::onGetFrameCount\28\29 +9722:SkWebpCodec::getFrameHolder\28\29\20const +9723:SkWebpCodec::FrameHolder::~FrameHolder\28\29.1 +9724:SkWebpCodec::FrameHolder::~FrameHolder\28\29 +9725:SkWebpCodec::FrameHolder::onGetFrame\28int\29\20const +9726:SkWeakRefCnt::internal_dispose\28\29\20const +9727:SkWbmpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9728:SkWbmpCodec::~SkWbmpCodec\28\29.1 +9729:SkWbmpCodec::~SkWbmpCodec\28\29 +9730:SkWbmpCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9731:SkWbmpCodec::onSkipScanlines\28int\29 +9732:SkWbmpCodec::onRewind\28\29 +9733:SkWbmpCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +9734:SkWbmpCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9735:SkWbmpCodec::getSampler\28bool\29 +9736:SkWbmpCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +9737:SkVertices::Builder*\20emscripten::internal::operator_new\28SkVertices::VertexMode&&\2c\20int&&\2c\20int&&\2c\20unsigned\20int&&\29 +9738:SkUserTypeface::~SkUserTypeface\28\29.1 +9739:SkUserTypeface::~SkUserTypeface\28\29 +9740:SkUserTypeface::onOpenStream\28int*\29\20const +9741:SkUserTypeface::onGetUPEM\28\29\20const +9742:SkUserTypeface::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +9743:SkUserTypeface::onGetFamilyName\28SkString*\29\20const +9744:SkUserTypeface::onFilterRec\28SkScalerContextRec*\29\20const +9745:SkUserTypeface::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +9746:SkUserTypeface::onCountGlyphs\28\29\20const +9747:SkUserTypeface::onComputeBounds\28SkRect*\29\20const +9748:SkUserTypeface::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +9749:SkUserTypeface::getGlyphToUnicodeMap\28int*\29\20const +9750:SkUserScalerContext::~SkUserScalerContext\28\29 +9751:SkUserScalerContext::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +9752:SkUserScalerContext::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +9753:SkUserScalerContext::generateImage\28SkGlyph\20const&\2c\20void*\29 +9754:SkUserScalerContext::generateFontMetrics\28SkFontMetrics*\29 +9755:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::~DrawableMatrixWrapper\28\29.1 +9756:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::~DrawableMatrixWrapper\28\29 +9757:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onGetBounds\28\29 +9758:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onDraw\28SkCanvas*\29 +9759:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onApproximateBytesUsed\28\29 +9760:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29 +9761:SkUnicode_icu::~SkUnicode_icu\28\29.1 +9762:SkUnicode_icu::~SkUnicode_icu\28\29 +9763:SkUnicode_icu::toUpper\28SkString\20const&\2c\20char\20const*\29 +9764:SkUnicode_icu::toUpper\28SkString\20const&\29 +9765:SkUnicode_icu::reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29 +9766:SkUnicode_icu::makeBreakIterator\28char\20const*\2c\20SkUnicode::BreakType\29 +9767:SkUnicode_icu::makeBreakIterator\28SkUnicode::BreakType\29 +9768:SkUnicode_icu::makeBidiIterator\28unsigned\20short\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +9769:SkUnicode_icu::makeBidiIterator\28char\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +9770:SkUnicode_icu::isWhitespace\28int\29 +9771:SkUnicode_icu::isTabulation\28int\29 +9772:SkUnicode_icu::isSpace\28int\29 +9773:SkUnicode_icu::isRegionalIndicator\28int\29 +9774:SkUnicode_icu::isIdeographic\28int\29 +9775:SkUnicode_icu::isHardBreak\28int\29 +9776:SkUnicode_icu::isEmoji\28int\29 +9777:SkUnicode_icu::isEmojiModifier\28int\29 +9778:SkUnicode_icu::isEmojiModifierBase\28int\29 +9779:SkUnicode_icu::isEmojiComponent\28int\29 +9780:SkUnicode_icu::isControl\28int\29 +9781:SkUnicode_icu::getWords\28char\20const*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +9782:SkUnicode_icu::getUtf8Words\28char\20const*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +9783:SkUnicode_icu::getSentences\28char\20const*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +9784:SkUnicode_icu::getBidiRegions\28char\20const*\2c\20int\2c\20SkUnicode::TextDirection\2c\20std::__2::vector>*\29 +9785:SkUnicode_icu::computeCodeUnitFlags\28char16_t*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +9786:SkUnicode_icu::computeCodeUnitFlags\28char*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +9787:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29.1 +9788:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29 +9789:SkUnicodeBidiRunIterator::endOfCurrentRun\28\29\20const +9790:SkUnicodeBidiRunIterator::currentLevel\28\29\20const +9791:SkUnicodeBidiRunIterator::consume\28\29 +9792:SkUnicodeBidiRunIterator::atEnd\28\29\20const +9793:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29.1 +9794:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29 +9795:SkTypeface_FreeTypeStream::onOpenStream\28int*\29\20const +9796:SkTypeface_FreeTypeStream::onMakeFontData\28\29\20const +9797:SkTypeface_FreeTypeStream::onMakeClone\28SkFontArguments\20const&\29\20const +9798:SkTypeface_FreeTypeStream::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +9799:SkTypeface_FreeType::onGlyphMaskNeedsCurrentColor\28\29\20const +9800:SkTypeface_FreeType::onGetVariationDesignPosition\28SkFontArguments::VariationPosition::Coordinate*\2c\20int\29\20const +9801:SkTypeface_FreeType::onGetVariationDesignParameters\28SkFontParameters::Variation::Axis*\2c\20int\29\20const +9802:SkTypeface_FreeType::onGetUPEM\28\29\20const +9803:SkTypeface_FreeType::onGetTableTags\28unsigned\20int*\29\20const +9804:SkTypeface_FreeType::onGetTableData\28unsigned\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20void*\29\20const +9805:SkTypeface_FreeType::onGetPostScriptName\28SkString*\29\20const +9806:SkTypeface_FreeType::onGetKerningPairAdjustments\28unsigned\20short\20const*\2c\20int\2c\20int*\29\20const +9807:SkTypeface_FreeType::onGetAdvancedMetrics\28\29\20const +9808:SkTypeface_FreeType::onFilterRec\28SkScalerContextRec*\29\20const +9809:SkTypeface_FreeType::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +9810:SkTypeface_FreeType::onCreateFamilyNameIterator\28\29\20const +9811:SkTypeface_FreeType::onCountGlyphs\28\29\20const +9812:SkTypeface_FreeType::onCopyTableData\28unsigned\20int\29\20const +9813:SkTypeface_FreeType::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +9814:SkTypeface_FreeType::getPostScriptGlyphNames\28SkString*\29\20const +9815:SkTypeface_FreeType::getGlyphToUnicodeMap\28int*\29\20const +9816:SkTypeface_Empty::~SkTypeface_Empty\28\29 +9817:SkTypeface_Custom::~SkTypeface_Custom\28\29.1 +9818:SkTypeface_Custom::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +9819:SkTypeface::onCopyTableData\28unsigned\20int\29\20const +9820:SkTypeface::onComputeBounds\28SkRect*\29\20const +9821:SkTrimPE::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9822:SkTrimPE::getTypeName\28\29\20const +9823:SkTriColorShader::type\28\29\20const +9824:SkTriColorShader::isOpaque\28\29\20const +9825:SkTriColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9826:SkTransformShader::type\28\29\20const +9827:SkTransformShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9828:SkTQuad::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +9829:SkTQuad::setBounds\28SkDRect*\29\20const +9830:SkTQuad::ptAtT\28double\29\20const +9831:SkTQuad::make\28SkArenaAlloc&\29\20const +9832:SkTQuad::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +9833:SkTQuad::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +9834:SkTQuad::dxdyAtT\28double\29\20const +9835:SkTQuad::debugInit\28\29 +9836:SkTCubic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +9837:SkTCubic::setBounds\28SkDRect*\29\20const +9838:SkTCubic::ptAtT\28double\29\20const +9839:SkTCubic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +9840:SkTCubic::make\28SkArenaAlloc&\29\20const +9841:SkTCubic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +9842:SkTCubic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +9843:SkTCubic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +9844:SkTCubic::dxdyAtT\28double\29\20const +9845:SkTCubic::debugInit\28\29 +9846:SkTCubic::controlsInside\28\29\20const +9847:SkTCubic::collapsed\28\29\20const +9848:SkTConic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +9849:SkTConic::setBounds\28SkDRect*\29\20const +9850:SkTConic::ptAtT\28double\29\20const +9851:SkTConic::make\28SkArenaAlloc&\29\20const +9852:SkTConic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +9853:SkTConic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +9854:SkTConic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +9855:SkTConic::dxdyAtT\28double\29\20const +9856:SkTConic::debugInit\28\29 +9857:SkSwizzler::onSetSampleX\28int\29 +9858:SkSwizzler::fillWidth\28\29\20const +9859:SkSweepGradient::getTypeName\28\29\20const +9860:SkSweepGradient::flatten\28SkWriteBuffer&\29\20const +9861:SkSweepGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +9862:SkSweepGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +9863:SkSurface_Raster::~SkSurface_Raster\28\29.1 +9864:SkSurface_Raster::~SkSurface_Raster\28\29 +9865:SkSurface_Raster::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +9866:SkSurface_Raster::onRestoreBackingMutability\28\29 +9867:SkSurface_Raster::onNewSurface\28SkImageInfo\20const&\29 +9868:SkSurface_Raster::onNewImageSnapshot\28SkIRect\20const*\29 +9869:SkSurface_Raster::onNewCanvas\28\29 +9870:SkSurface_Raster::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +9871:SkSurface_Raster::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +9872:SkSurface_Raster::imageInfo\28\29\20const +9873:SkSurface_Ganesh::~SkSurface_Ganesh\28\29.1 +9874:SkSurface_Ganesh::~SkSurface_Ganesh\28\29 +9875:SkSurface_Ganesh::replaceBackendTexture\28GrBackendTexture\20const&\2c\20GrSurfaceOrigin\2c\20SkSurface::ContentChangeMode\2c\20void\20\28*\29\28void*\29\2c\20void*\29 +9876:SkSurface_Ganesh::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +9877:SkSurface_Ganesh::onWait\28int\2c\20GrBackendSemaphore\20const*\2c\20bool\29 +9878:SkSurface_Ganesh::onNewSurface\28SkImageInfo\20const&\29 +9879:SkSurface_Ganesh::onNewImageSnapshot\28SkIRect\20const*\29 +9880:SkSurface_Ganesh::onNewCanvas\28\29 +9881:SkSurface_Ganesh::onIsCompatible\28GrSurfaceCharacterization\20const&\29\20const +9882:SkSurface_Ganesh::onGetRecordingContext\28\29\20const +9883:SkSurface_Ganesh::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +9884:SkSurface_Ganesh::onDiscard\28\29 +9885:SkSurface_Ganesh::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +9886:SkSurface_Ganesh::onCharacterize\28GrSurfaceCharacterization*\29\20const +9887:SkSurface_Ganesh::onCapabilities\28\29 +9888:SkSurface_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +9889:SkSurface_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +9890:SkSurface_Ganesh::imageInfo\28\29\20const +9891:SkSurface_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +9892:SkSurface::imageInfo\28\29\20const +9893:SkSurface::height\28\29\20const +9894:SkStrikeCache::~SkStrikeCache\28\29.1 +9895:SkStrikeCache::~SkStrikeCache\28\29 +9896:SkStrikeCache::findOrCreateScopedStrike\28SkStrikeSpec\20const&\29 +9897:SkStrike::~SkStrike\28\29.1 +9898:SkStrike::~SkStrike\28\29 +9899:SkStrike::strikePromise\28\29 +9900:SkStrike::roundingSpec\28\29\20const +9901:SkStrike::prepareForPath\28SkGlyph*\29 +9902:SkStrike::prepareForImage\28SkGlyph*\29 +9903:SkStrike::prepareForDrawable\28SkGlyph*\29 +9904:SkStrike::getDescriptor\28\29\20const +9905:SkSpriteBlitter_Memcpy::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9906:SkSpriteBlitter::~SkSpriteBlitter\28\29.1 +9907:SkSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +9908:SkSpriteBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +9909:SkSpriteBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +9910:SkSpriteBlitter::blitH\28int\2c\20int\2c\20int\29 +9911:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29.1 +9912:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29 +9913:SkSpecialImage_Raster::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +9914:SkSpecialImage_Raster::getSize\28\29\20const +9915:SkSpecialImage_Raster::backingStoreDimensions\28\29\20const +9916:SkSpecialImage_Raster::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +9917:SkSpecialImage_Raster::asImage\28\29\20const +9918:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29.1 +9919:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29 +9920:SkSpecialImage_Gpu::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +9921:SkSpecialImage_Gpu::getSize\28\29\20const +9922:SkSpecialImage_Gpu::backingStoreDimensions\28\29\20const +9923:SkSpecialImage_Gpu::asImage\28\29\20const +9924:SkSpecialImage::~SkSpecialImage\28\29 +9925:SkSpecialImage::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +9926:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29.1 +9927:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29 +9928:SkShaper::TrivialLanguageRunIterator::currentLanguage\28\29\20const +9929:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29.1 +9930:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29 +9931:SkShaper::TrivialBiDiRunIterator::currentLevel\28\29\20const +9932:SkShaderBlurAlgorithm::maxSigma\28\29\20const +9933:SkShaderBlurAlgorithm::blur\28SkSize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +9934:SkScan::HairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9935:SkScan::HairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9936:SkScan::HairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9937:SkScan::AntiHairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9938:SkScan::AntiHairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9939:SkScan::AntiHairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9940:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9941:SkScalingCodec::onGetScaledDimensions\28float\29\20const +9942:SkScalingCodec::onDimensionsSupported\28SkISize\20const&\29 +9943:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29.1 +9944:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29 +9945:SkScalerContext_FreeType::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +9946:SkScalerContext_FreeType::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +9947:SkScalerContext_FreeType::generateImage\28SkGlyph\20const&\2c\20void*\29 +9948:SkScalerContext_FreeType::generateFontMetrics\28SkFontMetrics*\29 +9949:SkScalerContext_FreeType::generateDrawable\28SkGlyph\20const&\29 +9950:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::~SkScalerContext_Empty\28\29 +9951:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +9952:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +9953:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateFontMetrics\28SkFontMetrics*\29 +9954:SkSampledCodec::onGetSampledDimensions\28int\29\20const +9955:SkSampledCodec::onGetAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +9956:SkSRGBColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +9957:SkSRGBColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +9958:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_3::__invoke\28double\2c\20double\29 +9959:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_2::__invoke\28double\2c\20double\29 +9960:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_1::__invoke\28double\2c\20double\29 +9961:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_0::__invoke\28double\2c\20double\29 +9962:SkSL::remove_break_statements\28std::__2::unique_ptr>&\29::RemoveBreaksWriter::visitStatementPtr\28std::__2::unique_ptr>&\29 +9963:SkSL::hoist_vardecl_symbols_into_outer_scope\28SkSL::Context\20const&\2c\20SkSL::Block\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::SymbolTable*\29::SymbolHoister::visitStatement\28SkSL::Statement\20const&\29 +9964:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29.1 +9965:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29 +9966:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29.1 +9967:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29 +9968:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +9969:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitExpressionPtr\28std::__2::unique_ptr>&\29 +9970:SkSL::count_returns_at_end_of_control_flow\28SkSL::FunctionDefinition\20const&\29::CountReturnsAtEndOfControlFlow::visitStatement\28SkSL::Statement\20const&\29 +9971:SkSL::\28anonymous\20namespace\29::VariableWriteVisitor::visitExpression\28SkSL::Expression\20const&\29 +9972:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9973:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitExpression\28SkSL::Expression\20const&\29 +9974:SkSL::\28anonymous\20namespace\29::ReturnsNonOpaqueColorVisitor::visitStatement\28SkSL::Statement\20const&\29 +9975:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitStatement\28SkSL::Statement\20const&\29 +9976:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9977:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitStatement\28SkSL::Statement\20const&\29 +9978:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitStatement\28SkSL::Statement\20const&\29 +9979:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9980:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitExpression\28SkSL::Expression\20const&\29 +9981:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9982:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +9983:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29.1 +9984:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29 +9985:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitExpression\28SkSL::Expression\20const&\29 +9986:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29.1 +9987:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29 +9988:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitStatement\28SkSL::Statement\20const&\29 +9989:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitExpression\28SkSL::Expression\20const&\29 +9990:SkSL::VectorType::isAllowedInUniform\28SkSL::Position*\29\20const +9991:SkSL::VectorType::isAllowedInES2\28\29\20const +9992:SkSL::VariableReference::clone\28SkSL::Position\29\20const +9993:SkSL::Variable::~Variable\28\29.1 +9994:SkSL::Variable::~Variable\28\29 +9995:SkSL::Variable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +9996:SkSL::Variable::mangledName\28\29\20const +9997:SkSL::Variable::layout\28\29\20const +9998:SkSL::Variable::description\28\29\20const +9999:SkSL::VarDeclaration::~VarDeclaration\28\29.1 +10000:SkSL::VarDeclaration::~VarDeclaration\28\29 +10001:SkSL::VarDeclaration::description\28\29\20const +10002:SkSL::TypeReference::clone\28SkSL::Position\29\20const +10003:SkSL::Type::minimumValue\28\29\20const +10004:SkSL::Type::maximumValue\28\29\20const +10005:SkSL::Type::isAllowedInUniform\28SkSL::Position*\29\20const +10006:SkSL::Type::fields\28\29\20const +10007:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29.1 +10008:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29 +10009:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::visitStatementPtr\28std::__2::unique_ptr>&\29 +10010:SkSL::Tracer::var\28int\2c\20int\29 +10011:SkSL::Tracer::scope\28int\29 +10012:SkSL::Tracer::line\28int\29 +10013:SkSL::Tracer::exit\28int\29 +10014:SkSL::Tracer::enter\28int\29 +10015:SkSL::TextureType::textureAccess\28\29\20const +10016:SkSL::TextureType::isMultisampled\28\29\20const +10017:SkSL::TextureType::isDepth\28\29\20const +10018:SkSL::TextureType::isArrayedTexture\28\29\20const +10019:SkSL::TernaryExpression::~TernaryExpression\28\29.1 +10020:SkSL::TernaryExpression::~TernaryExpression\28\29 +10021:SkSL::TernaryExpression::description\28SkSL::OperatorPrecedence\29\20const +10022:SkSL::TernaryExpression::clone\28SkSL::Position\29\20const +10023:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression&\29 +10024:SkSL::Swizzle::description\28SkSL::OperatorPrecedence\29\20const +10025:SkSL::Swizzle::clone\28SkSL::Position\29\20const +10026:SkSL::SwitchStatement::description\28\29\20const +10027:SkSL::SwitchCase::description\28\29\20const +10028:SkSL::StructType::slotType\28unsigned\20long\29\20const +10029:SkSL::StructType::isOrContainsUnsizedArray\28\29\20const +10030:SkSL::StructType::isOrContainsAtomic\28\29\20const +10031:SkSL::StructType::isOrContainsArray\28\29\20const +10032:SkSL::StructType::isInterfaceBlock\28\29\20const +10033:SkSL::StructType::isBuiltin\28\29\20const +10034:SkSL::StructType::isAllowedInUniform\28SkSL::Position*\29\20const +10035:SkSL::StructType::isAllowedInES2\28\29\20const +10036:SkSL::StructType::fields\28\29\20const +10037:SkSL::StructDefinition::description\28\29\20const +10038:SkSL::StringStream::~StringStream\28\29.1 +10039:SkSL::StringStream::~StringStream\28\29 +10040:SkSL::StringStream::write\28void\20const*\2c\20unsigned\20long\29 +10041:SkSL::StringStream::writeText\28char\20const*\29 +10042:SkSL::StringStream::write8\28unsigned\20char\29 +10043:SkSL::SingleArgumentConstructor::~SingleArgumentConstructor\28\29 +10044:SkSL::Setting::description\28SkSL::OperatorPrecedence\29\20const +10045:SkSL::Setting::clone\28SkSL::Position\29\20const +10046:SkSL::ScalarType::priority\28\29\20const +10047:SkSL::ScalarType::numberKind\28\29\20const +10048:SkSL::ScalarType::minimumValue\28\29\20const +10049:SkSL::ScalarType::maximumValue\28\29\20const +10050:SkSL::ScalarType::isAllowedInUniform\28SkSL::Position*\29\20const +10051:SkSL::ScalarType::isAllowedInES2\28\29\20const +10052:SkSL::ScalarType::bitWidth\28\29\20const +10053:SkSL::SamplerType::textureAccess\28\29\20const +10054:SkSL::SamplerType::isMultisampled\28\29\20const +10055:SkSL::SamplerType::isDepth\28\29\20const +10056:SkSL::SamplerType::isArrayedTexture\28\29\20const +10057:SkSL::SamplerType::dimensions\28\29\20const +10058:SkSL::ReturnStatement::description\28\29\20const +10059:SkSL::RP::VariableLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10060:SkSL::RP::VariableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10061:SkSL::RP::VariableLValue::isWritable\28\29\20const +10062:SkSL::RP::VariableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10063:SkSL::RP::UnownedLValueSlice::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10064:SkSL::RP::UnownedLValueSlice::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10065:SkSL::RP::UnownedLValueSlice::fixedSlotRange\28SkSL::RP::Generator*\29 +10066:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29.1 +10067:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29 +10068:SkSL::RP::SwizzleLValue::swizzle\28\29 +10069:SkSL::RP::SwizzleLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10070:SkSL::RP::SwizzleLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10071:SkSL::RP::SwizzleLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10072:SkSL::RP::ScratchLValue::~ScratchLValue\28\29.1 +10073:SkSL::RP::ScratchLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10074:SkSL::RP::ScratchLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10075:SkSL::RP::LValueSlice::~LValueSlice\28\29.1 +10076:SkSL::RP::LValueSlice::~LValueSlice\28\29 +10077:SkSL::RP::LValue::~LValue\28\29.1 +10078:SkSL::RP::ImmutableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10079:SkSL::RP::ImmutableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10080:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29.1 +10081:SkSL::RP::DynamicIndexLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10082:SkSL::RP::DynamicIndexLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10083:SkSL::RP::DynamicIndexLValue::isWritable\28\29\20const +10084:SkSL::RP::DynamicIndexLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10085:SkSL::ProgramVisitor::visitStatementPtr\28std::__2::unique_ptr>\20const&\29 +10086:SkSL::ProgramVisitor::visitExpressionPtr\28std::__2::unique_ptr>\20const&\29 +10087:SkSL::PrefixExpression::description\28SkSL::OperatorPrecedence\29\20const +10088:SkSL::PrefixExpression::clone\28SkSL::Position\29\20const +10089:SkSL::PostfixExpression::description\28SkSL::OperatorPrecedence\29\20const +10090:SkSL::PostfixExpression::clone\28SkSL::Position\29\20const +10091:SkSL::Poison::description\28SkSL::OperatorPrecedence\29\20const +10092:SkSL::Poison::clone\28SkSL::Position\29\20const +10093:SkSL::PipelineStage::Callbacks::getMainName\28\29 +10094:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29.1 +10095:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29 +10096:SkSL::Parser::Checkpoint::ForwardingErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +10097:SkSL::Nop::description\28\29\20const +10098:SkSL::MultiArgumentConstructor::~MultiArgumentConstructor\28\29 +10099:SkSL::ModifiersDeclaration::description\28\29\20const +10100:SkSL::MethodReference::description\28SkSL::OperatorPrecedence\29\20const +10101:SkSL::MethodReference::clone\28SkSL::Position\29\20const +10102:SkSL::MatrixType::slotCount\28\29\20const +10103:SkSL::MatrixType::rows\28\29\20const +10104:SkSL::MatrixType::isAllowedInES2\28\29\20const +10105:SkSL::LiteralType::minimumValue\28\29\20const +10106:SkSL::LiteralType::maximumValue\28\29\20const +10107:SkSL::Literal::getConstantValue\28int\29\20const +10108:SkSL::Literal::description\28SkSL::OperatorPrecedence\29\20const +10109:SkSL::Literal::compareConstant\28SkSL::Expression\20const&\29\20const +10110:SkSL::Literal::clone\28SkSL::Position\29\20const +10111:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_uintBitsToFloat\28double\2c\20double\2c\20double\29 +10112:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_trunc\28double\2c\20double\2c\20double\29 +10113:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tanh\28double\2c\20double\2c\20double\29 +10114:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tan\28double\2c\20double\2c\20double\29 +10115:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_step\28double\2c\20double\2c\20double\29 +10116:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sqrt\28double\2c\20double\2c\20double\29 +10117:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_smoothstep\28double\2c\20double\2c\20double\29 +10118:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sinh\28double\2c\20double\2c\20double\29 +10119:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sin\28double\2c\20double\2c\20double\29 +10120:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_saturate\28double\2c\20double\2c\20double\29 +10121:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_radians\28double\2c\20double\2c\20double\29 +10122:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_pow\28double\2c\20double\2c\20double\29 +10123:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mod\28double\2c\20double\2c\20double\29 +10124:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mix\28double\2c\20double\2c\20double\29 +10125:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_min\28double\2c\20double\2c\20double\29 +10126:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_max\28double\2c\20double\2c\20double\29 +10127:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_matrixCompMult\28double\2c\20double\2c\20double\29 +10128:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log\28double\2c\20double\2c\20double\29 +10129:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log2\28double\2c\20double\2c\20double\29 +10130:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_inversesqrt\28double\2c\20double\2c\20double\29 +10131:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_intBitsToFloat\28double\2c\20double\2c\20double\29 +10132:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fract\28double\2c\20double\2c\20double\29 +10133:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fma\28double\2c\20double\2c\20double\29 +10134:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floor\28double\2c\20double\2c\20double\29 +10135:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToUint\28double\2c\20double\2c\20double\29 +10136:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToInt\28double\2c\20double\2c\20double\29 +10137:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp\28double\2c\20double\2c\20double\29 +10138:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp2\28double\2c\20double\2c\20double\29 +10139:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_degrees\28double\2c\20double\2c\20double\29 +10140:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cosh\28double\2c\20double\2c\20double\29 +10141:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cos\28double\2c\20double\2c\20double\29 +10142:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_clamp\28double\2c\20double\2c\20double\29 +10143:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_ceil\28double\2c\20double\2c\20double\29 +10144:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atanh\28double\2c\20double\2c\20double\29 +10145:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan\28double\2c\20double\2c\20double\29 +10146:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan2\28double\2c\20double\2c\20double\29 +10147:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asinh\28double\2c\20double\2c\20double\29 +10148:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asin\28double\2c\20double\2c\20double\29 +10149:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acosh\28double\2c\20double\2c\20double\29 +10150:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acos\28double\2c\20double\2c\20double\29 +10151:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_abs\28double\2c\20double\2c\20double\29 +10152:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_notEqual\28double\2c\20double\29 +10153:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThan\28double\2c\20double\29 +10154:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThanEqual\28double\2c\20double\29 +10155:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThan\28double\2c\20double\29 +10156:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThanEqual\28double\2c\20double\29 +10157:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_equal\28double\2c\20double\29 +10158:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_any\28double\2c\20double\2c\20double\29 +10159:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_all\28double\2c\20double\2c\20double\29 +10160:SkSL::InterfaceBlock::~InterfaceBlock\28\29.1 +10161:SkSL::InterfaceBlock::description\28\29\20const +10162:SkSL::IndexExpression::~IndexExpression\28\29.1 +10163:SkSL::IndexExpression::~IndexExpression\28\29 +10164:SkSL::IndexExpression::description\28SkSL::OperatorPrecedence\29\20const +10165:SkSL::IndexExpression::clone\28SkSL::Position\29\20const +10166:SkSL::IfStatement::~IfStatement\28\29.1 +10167:SkSL::IfStatement::~IfStatement\28\29 +10168:SkSL::IfStatement::description\28\29\20const +10169:SkSL::GlobalVarDeclaration::description\28\29\20const +10170:SkSL::GenericType::slotType\28unsigned\20long\29\20const +10171:SkSL::GenericType::coercibleTypes\28\29\20const +10172:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29.1 +10173:SkSL::FunctionReference::description\28SkSL::OperatorPrecedence\29\20const +10174:SkSL::FunctionReference::clone\28SkSL::Position\29\20const +10175:SkSL::FunctionPrototype::description\28\29\20const +10176:SkSL::FunctionDefinition::description\28\29\20const +10177:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29.1 +10178:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29 +10179:SkSL::FunctionCall::description\28SkSL::OperatorPrecedence\29\20const +10180:SkSL::FunctionCall::clone\28SkSL::Position\29\20const +10181:SkSL::ForStatement::~ForStatement\28\29.1 +10182:SkSL::ForStatement::~ForStatement\28\29 +10183:SkSL::ForStatement::description\28\29\20const +10184:SkSL::FieldSymbol::description\28\29\20const +10185:SkSL::FieldAccess::clone\28SkSL::Position\29\20const +10186:SkSL::Extension::description\28\29\20const +10187:SkSL::ExtendedVariable::~ExtendedVariable\28\29.1 +10188:SkSL::ExtendedVariable::~ExtendedVariable\28\29 +10189:SkSL::ExtendedVariable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +10190:SkSL::ExtendedVariable::mangledName\28\29\20const +10191:SkSL::ExtendedVariable::layout\28\29\20const +10192:SkSL::ExtendedVariable::interfaceBlock\28\29\20const +10193:SkSL::ExtendedVariable::detachDeadInterfaceBlock\28\29 +10194:SkSL::ExpressionStatement::description\28\29\20const +10195:SkSL::Expression::getConstantValue\28int\29\20const +10196:SkSL::EmptyExpression::description\28SkSL::OperatorPrecedence\29\20const +10197:SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +10198:SkSL::DoStatement::description\28\29\20const +10199:SkSL::DiscardStatement::description\28\29\20const +10200:SkSL::DebugTracePriv::~DebugTracePriv\28\29.1 +10201:SkSL::DebugTracePriv::writeTrace\28SkWStream*\29\20const +10202:SkSL::DebugTracePriv::dump\28SkWStream*\29\20const +10203:SkSL::CountReturnsWithLimit::visitStatement\28SkSL::Statement\20const&\29 +10204:SkSL::ContinueStatement::description\28\29\20const +10205:SkSL::ConstructorStruct::clone\28SkSL::Position\29\20const +10206:SkSL::ConstructorSplat::getConstantValue\28int\29\20const +10207:SkSL::ConstructorSplat::clone\28SkSL::Position\29\20const +10208:SkSL::ConstructorScalarCast::clone\28SkSL::Position\29\20const +10209:SkSL::ConstructorMatrixResize::getConstantValue\28int\29\20const +10210:SkSL::ConstructorMatrixResize::clone\28SkSL::Position\29\20const +10211:SkSL::ConstructorDiagonalMatrix::getConstantValue\28int\29\20const +10212:SkSL::ConstructorDiagonalMatrix::clone\28SkSL::Position\29\20const +10213:SkSL::ConstructorCompoundCast::clone\28SkSL::Position\29\20const +10214:SkSL::ConstructorCompound::clone\28SkSL::Position\29\20const +10215:SkSL::ConstructorArrayCast::clone\28SkSL::Position\29\20const +10216:SkSL::ConstructorArray::clone\28SkSL::Position\29\20const +10217:SkSL::Compiler::CompilerErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +10218:SkSL::CodeGenerator::~CodeGenerator\28\29 +10219:SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +10220:SkSL::ChildCall::clone\28SkSL::Position\29\20const +10221:SkSL::BreakStatement::description\28\29\20const +10222:SkSL::Block::~Block\28\29.1 +10223:SkSL::Block::~Block\28\29 +10224:SkSL::Block::isEmpty\28\29\20const +10225:SkSL::Block::description\28\29\20const +10226:SkSL::BinaryExpression::~BinaryExpression\28\29.1 +10227:SkSL::BinaryExpression::~BinaryExpression\28\29 +10228:SkSL::BinaryExpression::description\28SkSL::OperatorPrecedence\29\20const +10229:SkSL::BinaryExpression::clone\28SkSL::Position\29\20const +10230:SkSL::ArrayType::slotType\28unsigned\20long\29\20const +10231:SkSL::ArrayType::slotCount\28\29\20const +10232:SkSL::ArrayType::isUnsizedArray\28\29\20const +10233:SkSL::ArrayType::isOrContainsUnsizedArray\28\29\20const +10234:SkSL::ArrayType::isOrContainsAtomic\28\29\20const +10235:SkSL::ArrayType::isBuiltin\28\29\20const +10236:SkSL::ArrayType::isAllowedInUniform\28SkSL::Position*\29\20const +10237:SkSL::AnyConstructor::getConstantValue\28int\29\20const +10238:SkSL::AnyConstructor::description\28SkSL::OperatorPrecedence\29\20const +10239:SkSL::AnyConstructor::compareConstant\28SkSL::Expression\20const&\29\20const +10240:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29::IsDynamicallyUniformExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +10241:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29::IsCompileTimeConstantVisitor::visitExpression\28SkSL::Expression\20const&\29 +10242:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29::HasSideEffectsVisitor::visitExpression\28SkSL::Expression\20const&\29 +10243:SkSL::Analysis::ContainsVariable\28SkSL::Expression\20const&\2c\20SkSL::Variable\20const&\29::ContainsVariableVisitor::visitExpression\28SkSL::Expression\20const&\29 +10244:SkSL::Analysis::ContainsRTAdjust\28SkSL::Expression\20const&\29::ContainsRTAdjustVisitor::visitExpression\28SkSL::Expression\20const&\29 +10245:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29.1 +10246:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29 +10247:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitStatement\28SkSL::Statement\20const&\29 +10248:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitExpression\28SkSL::Expression\20const&\29 +10249:SkSL::AliasType::textureAccess\28\29\20const +10250:SkSL::AliasType::slotType\28unsigned\20long\29\20const +10251:SkSL::AliasType::slotCount\28\29\20const +10252:SkSL::AliasType::rows\28\29\20const +10253:SkSL::AliasType::priority\28\29\20const +10254:SkSL::AliasType::isVector\28\29\20const +10255:SkSL::AliasType::isUnsizedArray\28\29\20const +10256:SkSL::AliasType::isStruct\28\29\20const +10257:SkSL::AliasType::isScalar\28\29\20const +10258:SkSL::AliasType::isMultisampled\28\29\20const +10259:SkSL::AliasType::isMatrix\28\29\20const +10260:SkSL::AliasType::isLiteral\28\29\20const +10261:SkSL::AliasType::isInterfaceBlock\28\29\20const +10262:SkSL::AliasType::isDepth\28\29\20const +10263:SkSL::AliasType::isArrayedTexture\28\29\20const +10264:SkSL::AliasType::isArray\28\29\20const +10265:SkSL::AliasType::dimensions\28\29\20const +10266:SkSL::AliasType::componentType\28\29\20const +10267:SkSL::AliasType::columns\28\29\20const +10268:SkSL::AliasType::coercibleTypes\28\29\20const +10269:SkRuntimeShader::~SkRuntimeShader\28\29.1 +10270:SkRuntimeShader::type\28\29\20const +10271:SkRuntimeShader::isOpaque\28\29\20const +10272:SkRuntimeShader::getTypeName\28\29\20const +10273:SkRuntimeShader::flatten\28SkWriteBuffer&\29\20const +10274:SkRuntimeShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10275:SkRuntimeEffect::~SkRuntimeEffect\28\29.1 +10276:SkRuntimeEffect::MakeFromSource\28SkString\2c\20SkRuntimeEffect::Options\20const&\2c\20SkSL::ProgramKind\29 +10277:SkRuntimeColorFilter::~SkRuntimeColorFilter\28\29.1 +10278:SkRuntimeColorFilter::~SkRuntimeColorFilter\28\29 +10279:SkRuntimeColorFilter::onIsAlphaUnchanged\28\29\20const +10280:SkRuntimeColorFilter::getTypeName\28\29\20const +10281:SkRuntimeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10282:SkRuntimeBlender::~SkRuntimeBlender\28\29.1 +10283:SkRuntimeBlender::~SkRuntimeBlender\28\29 +10284:SkRuntimeBlender::onAppendStages\28SkStageRec\20const&\29\20const +10285:SkRuntimeBlender::getTypeName\28\29\20const +10286:SkRgnClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10287:SkRgnClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10288:SkRgnClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10289:SkRgnClipBlitter::blitH\28int\2c\20int\2c\20int\29 +10290:SkRgnClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10291:SkRgnClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10292:SkRgnBuilder::~SkRgnBuilder\28\29.1 +10293:SkRgnBuilder::blitH\28int\2c\20int\2c\20int\29 +10294:SkResourceCache::SetTotalByteLimit\28unsigned\20long\29 +10295:SkResourceCache::GetTotalBytesUsed\28\29 +10296:SkResourceCache::GetTotalByteLimit\28\29 +10297:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29.1 +10298:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29 +10299:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::data\28int\29\20const +10300:SkRefCntSet::~SkRefCntSet\28\29.1 +10301:SkRefCntSet::incPtr\28void*\29 +10302:SkRefCntSet::decPtr\28void*\29 +10303:SkRectClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10304:SkRectClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10305:SkRectClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10306:SkRectClipBlitter::blitH\28int\2c\20int\2c\20int\29 +10307:SkRectClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10308:SkRectClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10309:SkRecorder::~SkRecorder\28\29.1 +10310:SkRecorder::~SkRecorder\28\29 +10311:SkRecorder::willSave\28\29 +10312:SkRecorder::onResetClip\28\29 +10313:SkRecorder::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10314:SkRecorder::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10315:SkRecorder::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10316:SkRecorder::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +10317:SkRecorder::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10318:SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10319:SkRecorder::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10320:SkRecorder::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10321:SkRecorder::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +10322:SkRecorder::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +10323:SkRecorder::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10324:SkRecorder::onDrawPaint\28SkPaint\20const&\29 +10325:SkRecorder::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10326:SkRecorder::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +10327:SkRecorder::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10328:SkRecorder::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +10329:SkRecorder::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10330:SkRecorder::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10331:SkRecorder::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10332:SkRecorder::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10333:SkRecorder::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +10334:SkRecorder::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10335:SkRecorder::onDrawBehind\28SkPaint\20const&\29 +10336:SkRecorder::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10337:SkRecorder::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +10338:SkRecorder::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +10339:SkRecorder::onDoSaveBehind\28SkRect\20const*\29 +10340:SkRecorder::onClipShader\28sk_sp\2c\20SkClipOp\29 +10341:SkRecorder::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10342:SkRecorder::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10343:SkRecorder::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10344:SkRecorder::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10345:SkRecorder::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +10346:SkRecorder::didTranslate\28float\2c\20float\29 +10347:SkRecorder::didSetM44\28SkM44\20const&\29 +10348:SkRecorder::didScale\28float\2c\20float\29 +10349:SkRecorder::didRestore\28\29 +10350:SkRecorder::didConcat44\28SkM44\20const&\29 +10351:SkRecordedDrawable::~SkRecordedDrawable\28\29.1 +10352:SkRecordedDrawable::~SkRecordedDrawable\28\29 +10353:SkRecordedDrawable::onMakePictureSnapshot\28\29 +10354:SkRecordedDrawable::onGetBounds\28\29 +10355:SkRecordedDrawable::onDraw\28SkCanvas*\29 +10356:SkRecordedDrawable::onApproximateBytesUsed\28\29 +10357:SkRecordedDrawable::getTypeName\28\29\20const +10358:SkRecordedDrawable::flatten\28SkWriteBuffer&\29\20const +10359:SkRecord::~SkRecord\28\29.1 +10360:SkRecord::~SkRecord\28\29 +10361:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29.1 +10362:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29 +10363:SkRasterPipelineSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +10364:SkRasterPipelineSpriteBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10365:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29.1 +10366:SkRasterPipelineBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10367:SkRasterPipelineBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10368:SkRasterPipelineBlitter::blitH\28int\2c\20int\2c\20int\29 +10369:SkRasterPipelineBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10370:SkRasterPipelineBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10371:SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10372:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_3::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10373:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_2::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10374:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_1::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10375:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_0::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10376:SkRadialGradient::getTypeName\28\29\20const +10377:SkRadialGradient::flatten\28SkWriteBuffer&\29\20const +10378:SkRadialGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10379:SkRadialGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +10380:SkRTree::~SkRTree\28\29.1 +10381:SkRTree::~SkRTree\28\29 +10382:SkRTree::search\28SkRect\20const&\2c\20std::__2::vector>*\29\20const +10383:SkRTree::insert\28SkRect\20const*\2c\20int\29 +10384:SkRTree::bytesUsed\28\29\20const +10385:SkPtrSet::~SkPtrSet\28\29 +10386:SkPngNormalDecoder::~SkPngNormalDecoder\28\29 +10387:SkPngNormalDecoder::setRange\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +10388:SkPngNormalDecoder::decode\28int*\29 +10389:SkPngNormalDecoder::decodeAllRows\28void*\2c\20unsigned\20long\2c\20int*\29 +10390:SkPngNormalDecoder::RowCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +10391:SkPngNormalDecoder::AllRowsCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +10392:SkPngInterlacedDecoder::~SkPngInterlacedDecoder\28\29.1 +10393:SkPngInterlacedDecoder::~SkPngInterlacedDecoder\28\29 +10394:SkPngInterlacedDecoder::setRange\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +10395:SkPngInterlacedDecoder::decode\28int*\29 +10396:SkPngInterlacedDecoder::decodeAllRows\28void*\2c\20unsigned\20long\2c\20int*\29 +10397:SkPngInterlacedDecoder::InterlacedRowCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +10398:SkPngEncoderImpl::~SkPngEncoderImpl\28\29.1 +10399:SkPngEncoderImpl::~SkPngEncoderImpl\28\29 +10400:SkPngEncoderImpl::onEncodeRows\28int\29 +10401:SkPngDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10402:SkPngCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10403:SkPngCodec::onRewind\28\29 +10404:SkPngCodec::onIncrementalDecode\28int*\29 +10405:SkPngCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +10406:SkPngCodec::getSampler\28bool\29 +10407:SkPngCodec::createColorTable\28SkImageInfo\20const&\29 +10408:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_2::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10409:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_1::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10410:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_0::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10411:SkPixelRef::~SkPixelRef\28\29.1 +10412:SkPictureShader::~SkPictureShader\28\29.1 +10413:SkPictureShader::~SkPictureShader\28\29 +10414:SkPictureShader::type\28\29\20const +10415:SkPictureShader::getTypeName\28\29\20const +10416:SkPictureShader::flatten\28SkWriteBuffer&\29\20const +10417:SkPictureShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10418:SkPictureRecorder*\20emscripten::internal::operator_new\28\29 +10419:SkPictureRecord::~SkPictureRecord\28\29.1 +10420:SkPictureRecord::willSave\28\29 +10421:SkPictureRecord::willRestore\28\29 +10422:SkPictureRecord::onResetClip\28\29 +10423:SkPictureRecord::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10424:SkPictureRecord::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10425:SkPictureRecord::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10426:SkPictureRecord::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +10427:SkPictureRecord::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10428:SkPictureRecord::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10429:SkPictureRecord::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10430:SkPictureRecord::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10431:SkPictureRecord::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +10432:SkPictureRecord::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +10433:SkPictureRecord::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10434:SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +10435:SkPictureRecord::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10436:SkPictureRecord::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10437:SkPictureRecord::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +10438:SkPictureRecord::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10439:SkPictureRecord::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10440:SkPictureRecord::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10441:SkPictureRecord::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +10442:SkPictureRecord::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10443:SkPictureRecord::onDrawBehind\28SkPaint\20const&\29 +10444:SkPictureRecord::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10445:SkPictureRecord::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +10446:SkPictureRecord::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +10447:SkPictureRecord::onDoSaveBehind\28SkRect\20const*\29 +10448:SkPictureRecord::onClipShader\28sk_sp\2c\20SkClipOp\29 +10449:SkPictureRecord::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10450:SkPictureRecord::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10451:SkPictureRecord::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10452:SkPictureRecord::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10453:SkPictureRecord::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +10454:SkPictureRecord::didTranslate\28float\2c\20float\29 +10455:SkPictureRecord::didSetM44\28SkM44\20const&\29 +10456:SkPictureRecord::didScale\28float\2c\20float\29 +10457:SkPictureRecord::didConcat44\28SkM44\20const&\29 +10458:SkPictureData::serialize\28SkWStream*\2c\20SkSerialProcs\20const&\2c\20SkRefCntSet*\2c\20bool\29\20const::DevNull::write\28void\20const*\2c\20unsigned\20long\29 +10459:SkPerlinNoiseShader::~SkPerlinNoiseShader\28\29.1 +10460:SkPerlinNoiseShader::~SkPerlinNoiseShader\28\29 +10461:SkPerlinNoiseShader::type\28\29\20const +10462:SkPerlinNoiseShader::getTypeName\28\29\20const +10463:SkPerlinNoiseShader::flatten\28SkWriteBuffer&\29\20const +10464:SkPerlinNoiseShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10465:SkPath::setIsVolatile\28bool\29 +10466:SkPath::setFillType\28SkPathFillType\29 +10467:SkPath::isVolatile\28\29\20const +10468:SkPath::getFillType\28\29\20const +10469:SkPath2DPathEffectImpl::~SkPath2DPathEffectImpl\28\29.1 +10470:SkPath2DPathEffectImpl::~SkPath2DPathEffectImpl\28\29 +10471:SkPath2DPathEffectImpl::next\28SkPoint\20const&\2c\20int\2c\20int\2c\20SkPath*\29\20const +10472:SkPath2DPathEffectImpl::getTypeName\28\29\20const +10473:SkPath2DPathEffectImpl::getFactory\28\29\20const +10474:SkPath2DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +10475:SkPath2DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +10476:SkPath1DPathEffectImpl::~SkPath1DPathEffectImpl\28\29.1 +10477:SkPath1DPathEffectImpl::~SkPath1DPathEffectImpl\28\29 +10478:SkPath1DPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10479:SkPath1DPathEffectImpl::next\28SkPath*\2c\20float\2c\20SkPathMeasure&\29\20const +10480:SkPath1DPathEffectImpl::getTypeName\28\29\20const +10481:SkPath1DPathEffectImpl::getFactory\28\29\20const +10482:SkPath1DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +10483:SkPath1DPathEffectImpl::begin\28float\29\20const +10484:SkPath1DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +10485:SkPath1DPathEffect::Make\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29 +10486:SkPath*\20emscripten::internal::operator_new\28\29 +10487:SkPairPathEffect::~SkPairPathEffect\28\29.1 +10488:SkPaint::setDither\28bool\29 +10489:SkPaint::setAntiAlias\28bool\29 +10490:SkPaint::getStrokeMiter\28\29\20const +10491:SkPaint::getStrokeJoin\28\29\20const +10492:SkPaint::getStrokeCap\28\29\20const +10493:SkPaint*\20emscripten::internal::operator_new\28\29 +10494:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29.1 +10495:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29 +10496:SkOTUtils::LocalizedStrings_SingleName::next\28SkTypeface::LocalizedString*\29 +10497:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29.1 +10498:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29 +10499:SkOTUtils::LocalizedStrings_NameTable::next\28SkTypeface::LocalizedString*\29 +10500:SkNoPixelsDevice::~SkNoPixelsDevice\28\29.1 +10501:SkNoPixelsDevice::~SkNoPixelsDevice\28\29 +10502:SkNoPixelsDevice::replaceClip\28SkIRect\20const&\29 +10503:SkNoPixelsDevice::pushClipStack\28\29 +10504:SkNoPixelsDevice::popClipStack\28\29 +10505:SkNoPixelsDevice::onClipShader\28sk_sp\29 +10506:SkNoPixelsDevice::isClipWideOpen\28\29\20const +10507:SkNoPixelsDevice::isClipRect\28\29\20const +10508:SkNoPixelsDevice::isClipEmpty\28\29\20const +10509:SkNoPixelsDevice::isClipAntiAliased\28\29\20const +10510:SkNoPixelsDevice::devClipBounds\28\29\20const +10511:SkNoPixelsDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10512:SkNoPixelsDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +10513:SkNoPixelsDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +10514:SkNoPixelsDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +10515:SkNoPixelsDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +10516:SkNoDrawCanvas::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10517:SkNoDrawCanvas::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10518:SkMipmap::~SkMipmap\28\29.1 +10519:SkMipmap::~SkMipmap\28\29 +10520:SkMipmap::onDataChange\28void*\2c\20void*\29 +10521:SkMemoryStream::~SkMemoryStream\28\29.1 +10522:SkMemoryStream::~SkMemoryStream\28\29 +10523:SkMemoryStream::setMemory\28void\20const*\2c\20unsigned\20long\2c\20bool\29 +10524:SkMemoryStream::seek\28unsigned\20long\29 +10525:SkMemoryStream::rewind\28\29 +10526:SkMemoryStream::read\28void*\2c\20unsigned\20long\29 +10527:SkMemoryStream::peek\28void*\2c\20unsigned\20long\29\20const +10528:SkMemoryStream::onFork\28\29\20const +10529:SkMemoryStream::onDuplicate\28\29\20const +10530:SkMemoryStream::move\28long\29 +10531:SkMemoryStream::isAtEnd\28\29\20const +10532:SkMemoryStream::getMemoryBase\28\29 +10533:SkMemoryStream::getLength\28\29\20const +10534:SkMemoryStream::getData\28\29\20const +10535:SkMatrixColorFilter::onIsAlphaUnchanged\28\29\20const +10536:SkMatrixColorFilter::onAsAColorMatrix\28float*\29\20const +10537:SkMatrixColorFilter::getTypeName\28\29\20const +10538:SkMatrixColorFilter::flatten\28SkWriteBuffer&\29\20const +10539:SkMatrixColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10540:SkMatrix::Trans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10541:SkMatrix::Trans_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10542:SkMatrix::Scale_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10543:SkMatrix::Scale_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10544:SkMatrix::ScaleTrans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10545:SkMatrix::Poly4Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +10546:SkMatrix::Poly3Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +10547:SkMatrix::Poly2Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +10548:SkMatrix::Persp_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10549:SkMatrix::Persp_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10550:SkMatrix::Identity_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10551:SkMatrix::Identity_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10552:SkMatrix::Affine_vpts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10553:SkMaskSwizzler::onSetSampleX\28int\29 +10554:SkMaskFilterBase::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +10555:SkMaskFilterBase::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +10556:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29.1 +10557:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29 +10558:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29.1 +10559:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29 +10560:SkLumaColorFilter::Make\28\29 +10561:SkLocalMatrixShader::~SkLocalMatrixShader\28\29.1 +10562:SkLocalMatrixShader::~SkLocalMatrixShader\28\29 +10563:SkLocalMatrixShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +10564:SkLocalMatrixShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +10565:SkLocalMatrixShader::makeAsALocalMatrixShader\28SkMatrix*\29\20const +10566:SkLocalMatrixShader::isOpaque\28\29\20const +10567:SkLocalMatrixShader::isConstant\28\29\20const +10568:SkLocalMatrixShader::getTypeName\28\29\20const +10569:SkLocalMatrixShader::flatten\28SkWriteBuffer&\29\20const +10570:SkLocalMatrixShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10571:SkLocalMatrixShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10572:SkLinearGradient::getTypeName\28\29\20const +10573:SkLinearGradient::flatten\28SkWriteBuffer&\29\20const +10574:SkLinearGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10575:SkLine2DPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10576:SkLine2DPathEffectImpl::nextSpan\28int\2c\20int\2c\20int\2c\20SkPath*\29\20const +10577:SkLine2DPathEffectImpl::getTypeName\28\29\20const +10578:SkLine2DPathEffectImpl::getFactory\28\29\20const +10579:SkLine2DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +10580:SkLine2DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +10581:SkJpegMetadataDecoderImpl::~SkJpegMetadataDecoderImpl\28\29.1 +10582:SkJpegMetadataDecoderImpl::~SkJpegMetadataDecoderImpl\28\29 +10583:SkJpegMetadataDecoderImpl::getISOGainmapMetadata\28bool\29\20const +10584:SkJpegMetadataDecoderImpl::getICCProfileData\28bool\29\20const +10585:SkJpegMetadataDecoderImpl::getExifMetadata\28bool\29\20const +10586:SkJpegMemorySourceMgr::skipInputBytes\28unsigned\20long\2c\20unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10587:SkJpegMemorySourceMgr::initSource\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10588:SkJpegDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10589:SkJpegCodec::~SkJpegCodec\28\29.1 +10590:SkJpegCodec::~SkJpegCodec\28\29 +10591:SkJpegCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10592:SkJpegCodec::onSkipScanlines\28int\29 +10593:SkJpegCodec::onRewind\28\29 +10594:SkJpegCodec::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +10595:SkJpegCodec::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +10596:SkJpegCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +10597:SkJpegCodec::onGetScaledDimensions\28float\29\20const +10598:SkJpegCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +10599:SkJpegCodec::onDimensionsSupported\28SkISize\20const&\29 +10600:SkJpegCodec::getSampler\28bool\29 +10601:SkJpegCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +10602:SkJpegBufferedSourceMgr::~SkJpegBufferedSourceMgr\28\29.1 +10603:SkJpegBufferedSourceMgr::~SkJpegBufferedSourceMgr\28\29 +10604:SkJpegBufferedSourceMgr::skipInputBytes\28unsigned\20long\2c\20unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10605:SkJpegBufferedSourceMgr::initSource\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10606:SkJpegBufferedSourceMgr::fillInputBuffer\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10607:SkImage_Raster::~SkImage_Raster\28\29.1 +10608:SkImage_Raster::~SkImage_Raster\28\29 +10609:SkImage_Raster::onReinterpretColorSpace\28sk_sp\29\20const +10610:SkImage_Raster::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +10611:SkImage_Raster::onPeekPixels\28SkPixmap*\29\20const +10612:SkImage_Raster::onMakeWithMipmaps\28sk_sp\29\20const +10613:SkImage_Raster::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +10614:SkImage_Raster::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10615:SkImage_Raster::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +10616:SkImage_Raster::onHasMipmaps\28\29\20const +10617:SkImage_Raster::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +10618:SkImage_Raster::notifyAddedToRasterCache\28\29\20const +10619:SkImage_Raster::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +10620:SkImage_LazyTexture::readPixelsProxy\28GrDirectContext*\2c\20SkPixmap\20const&\29\20const +10621:SkImage_LazyTexture::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10622:SkImage_Lazy::~SkImage_Lazy\28\29 +10623:SkImage_Lazy::onReinterpretColorSpace\28sk_sp\29\20const +10624:SkImage_Lazy::onRefEncoded\28\29\20const +10625:SkImage_Lazy::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +10626:SkImage_Lazy::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +10627:SkImage_Lazy::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10628:SkImage_Lazy::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +10629:SkImage_Lazy::onIsProtected\28\29\20const +10630:SkImage_Lazy::isValid\28GrRecordingContext*\29\20const +10631:SkImage_Lazy::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +10632:SkImage_GaneshBase::~SkImage_GaneshBase\28\29 +10633:SkImage_GaneshBase::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +10634:SkImage_GaneshBase::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +10635:SkImage_GaneshBase::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +10636:SkImage_GaneshBase::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10637:SkImage_GaneshBase::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +10638:SkImage_GaneshBase::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +10639:SkImage_GaneshBase::isValid\28GrRecordingContext*\29\20const +10640:SkImage_GaneshBase::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +10641:SkImage_GaneshBase::directContext\28\29\20const +10642:SkImage_Ganesh::~SkImage_Ganesh\28\29.1 +10643:SkImage_Ganesh::textureSize\28\29\20const +10644:SkImage_Ganesh::onReinterpretColorSpace\28sk_sp\29\20const +10645:SkImage_Ganesh::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +10646:SkImage_Ganesh::onIsProtected\28\29\20const +10647:SkImage_Ganesh::onHasMipmaps\28\29\20const +10648:SkImage_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +10649:SkImage_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +10650:SkImage_Ganesh::generatingSurfaceIsDeleted\28\29 +10651:SkImage_Ganesh::flush\28GrDirectContext*\2c\20GrFlushInfo\20const&\29\20const +10652:SkImage_Ganesh::asView\28GrRecordingContext*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29\20const +10653:SkImage_Ganesh::asFragmentProcessor\28GrRecordingContext*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29\20const +10654:SkImage_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +10655:SkImage_Base::notifyAddedToRasterCache\28\29\20const +10656:SkImage_Base::makeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +10657:SkImage_Base::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10658:SkImage_Base::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +10659:SkImage_Base::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +10660:SkImage_Base::makeColorSpace\28skgpu::graphite::Recorder*\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +10661:SkImage_Base::makeColorSpace\28GrDirectContext*\2c\20sk_sp\29\20const +10662:SkImage_Base::isTextureBacked\28\29\20const +10663:SkImage_Base::isLazyGenerated\28\29\20const +10664:SkImageShader::~SkImageShader\28\29.1 +10665:SkImageShader::~SkImageShader\28\29 +10666:SkImageShader::type\28\29\20const +10667:SkImageShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +10668:SkImageShader::isOpaque\28\29\20const +10669:SkImageShader::getTypeName\28\29\20const +10670:SkImageShader::flatten\28SkWriteBuffer&\29\20const +10671:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10672:SkImageGenerator::~SkImageGenerator\28\29 +10673:SkImageFilters::Compose\28sk_sp\2c\20sk_sp\29 +10674:SkImage::~SkImage\28\29 +10675:SkIcoDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10676:SkIcoCodec::~SkIcoCodec\28\29.1 +10677:SkIcoCodec::~SkIcoCodec\28\29 +10678:SkIcoCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10679:SkIcoCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10680:SkIcoCodec::onSkipScanlines\28int\29 +10681:SkIcoCodec::onIncrementalDecode\28int*\29 +10682:SkIcoCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +10683:SkIcoCodec::onGetScanlineOrder\28\29\20const +10684:SkIcoCodec::onGetScaledDimensions\28float\29\20const +10685:SkIcoCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +10686:SkIcoCodec::onDimensionsSupported\28SkISize\20const&\29 +10687:SkIcoCodec::getSampler\28bool\29 +10688:SkIcoCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +10689:SkGradientBaseShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +10690:SkGradientBaseShader::isOpaque\28\29\20const +10691:SkGradientBaseShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10692:SkGifDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10693:SkGaussianColorFilter::getTypeName\28\29\20const +10694:SkGaussianColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10695:SkGammaColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +10696:SkGammaColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +10697:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29.1 +10698:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29 +10699:SkFontStyleSet_Custom::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +10700:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29.1 +10701:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29 +10702:SkFontScanner_FreeType::scanFile\28SkStreamAsset*\2c\20int*\29\20const +10703:SkFontScanner_FreeType::scanFace\28SkStreamAsset*\2c\20int\2c\20int*\29\20const +10704:SkFontMgr_Custom::~SkFontMgr_Custom\28\29.1 +10705:SkFontMgr_Custom::~SkFontMgr_Custom\28\29 +10706:SkFontMgr_Custom::onMatchFamily\28char\20const*\29\20const +10707:SkFontMgr_Custom::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +10708:SkFontMgr_Custom::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +10709:SkFontMgr_Custom::onMakeFromStreamArgs\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29\20const +10710:SkFontMgr_Custom::onMakeFromFile\28char\20const*\2c\20int\29\20const +10711:SkFontMgr_Custom::onMakeFromData\28sk_sp\2c\20int\29\20const +10712:SkFontMgr_Custom::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +10713:SkFontMgr_Custom::onGetFamilyName\28int\2c\20SkString*\29\20const +10714:SkFont::setScaleX\28float\29 +10715:SkFont::setEmbeddedBitmaps\28bool\29 +10716:SkFont::isEmbolden\28\29\20const +10717:SkFont::getSkewX\28\29\20const +10718:SkFont::getSize\28\29\20const +10719:SkFont::getScaleX\28\29\20const +10720:SkFont*\20emscripten::internal::operator_new\2c\20float\2c\20float\2c\20float>\28sk_sp&&\2c\20float&&\2c\20float&&\2c\20float&&\29 +10721:SkFont*\20emscripten::internal::operator_new\2c\20float>\28sk_sp&&\2c\20float&&\29 +10722:SkFont*\20emscripten::internal::operator_new>\28sk_sp&&\29 +10723:SkFont*\20emscripten::internal::operator_new\28\29 +10724:SkFILEStream::~SkFILEStream\28\29.1 +10725:SkFILEStream::~SkFILEStream\28\29 +10726:SkFILEStream::seek\28unsigned\20long\29 +10727:SkFILEStream::rewind\28\29 +10728:SkFILEStream::read\28void*\2c\20unsigned\20long\29 +10729:SkFILEStream::onFork\28\29\20const +10730:SkFILEStream::onDuplicate\28\29\20const +10731:SkFILEStream::move\28long\29 +10732:SkFILEStream::isAtEnd\28\29\20const +10733:SkFILEStream::getPosition\28\29\20const +10734:SkFILEStream::getLength\28\29\20const +10735:SkEncoder::~SkEncoder\28\29 +10736:SkEmptyShader::getTypeName\28\29\20const +10737:SkEmptyPicture::~SkEmptyPicture\28\29 +10738:SkEmptyPicture::cullRect\28\29\20const +10739:SkEmptyFontMgr::onMatchFamily\28char\20const*\29\20const +10740:SkEdgeBuilder::~SkEdgeBuilder\28\29 +10741:SkEdgeBuilder::build\28SkPath\20const&\2c\20SkIRect\20const*\2c\20bool\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +10742:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29.1 +10743:SkDrawable::onMakePictureSnapshot\28\29 +10744:SkDrawBase::~SkDrawBase\28\29 +10745:SkDraw::paintMasks\28SkZip\2c\20SkPaint\20const&\29\20const +10746:SkDiscretePathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10747:SkDiscretePathEffectImpl::getTypeName\28\29\20const +10748:SkDiscretePathEffectImpl::getFactory\28\29\20const +10749:SkDiscretePathEffectImpl::computeFastBounds\28SkRect*\29\20const +10750:SkDiscretePathEffectImpl::CreateProc\28SkReadBuffer&\29 +10751:SkDevice::~SkDevice\28\29 +10752:SkDevice::strikeDeviceInfo\28\29\20const +10753:SkDevice::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10754:SkDevice::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10755:SkDevice::drawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20sk_sp\2c\20SkPaint\20const&\29 +10756:SkDevice::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +10757:SkDevice::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10758:SkDevice::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +10759:SkDevice::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10760:SkDevice::drawCoverageMask\28SkSpecialImage\20const*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +10761:SkDevice::drawBlurredRRect\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20float\29 +10762:SkDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +10763:SkDevice::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +10764:SkDevice::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +10765:SkDashImpl::~SkDashImpl\28\29.1 +10766:SkDashImpl::~SkDashImpl\28\29 +10767:SkDashImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10768:SkDashImpl::onAsPoints\28SkPathEffectBase::PointData*\2c\20SkPath\20const&\2c\20SkStrokeRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\29\20const +10769:SkDashImpl::onAsADash\28SkPathEffect::DashInfo*\29\20const +10770:SkDashImpl::getTypeName\28\29\20const +10771:SkDashImpl::flatten\28SkWriteBuffer&\29\20const +10772:SkCustomTypefaceBuilder::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +10773:SkCornerPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10774:SkCornerPathEffectImpl::getTypeName\28\29\20const +10775:SkCornerPathEffectImpl::getFactory\28\29\20const +10776:SkCornerPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +10777:SkCornerPathEffectImpl::CreateProc\28SkReadBuffer&\29 +10778:SkCornerPathEffect::Make\28float\29 +10779:SkContourMeasureIter*\20emscripten::internal::operator_new\28SkPath\20const&\2c\20bool&&\2c\20float&&\29 +10780:SkContourMeasure::~SkContourMeasure\28\29.1 +10781:SkContourMeasure::~SkContourMeasure\28\29 +10782:SkContourMeasure::isClosed\28\29\20const +10783:SkConicalGradient::getTypeName\28\29\20const +10784:SkConicalGradient::flatten\28SkWriteBuffer&\29\20const +10785:SkConicalGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10786:SkConicalGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +10787:SkComposePathEffect::~SkComposePathEffect\28\29 +10788:SkComposePathEffect::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10789:SkComposePathEffect::getTypeName\28\29\20const +10790:SkComposePathEffect::computeFastBounds\28SkRect*\29\20const +10791:SkComposeColorFilter::onIsAlphaUnchanged\28\29\20const +10792:SkComposeColorFilter::getTypeName\28\29\20const +10793:SkComposeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10794:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29.1 +10795:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29 +10796:SkColorSpaceXformColorFilter::getTypeName\28\29\20const +10797:SkColorSpaceXformColorFilter::flatten\28SkWriteBuffer&\29\20const +10798:SkColorSpaceXformColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10799:SkColorShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +10800:SkColorShader::isOpaque\28\29\20const +10801:SkColorShader::getTypeName\28\29\20const +10802:SkColorShader::flatten\28SkWriteBuffer&\29\20const +10803:SkColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10804:SkColorPalette::~SkColorPalette\28\29.1 +10805:SkColorPalette::~SkColorPalette\28\29 +10806:SkColorFilters::SRGBToLinearGamma\28\29 +10807:SkColorFilters::LinearToSRGBGamma\28\29 +10808:SkColorFilters::Lerp\28float\2c\20sk_sp\2c\20sk_sp\29 +10809:SkColorFilters::Compose\28sk_sp\20const&\2c\20sk_sp\29 +10810:SkColorFilterShader::~SkColorFilterShader\28\29.1 +10811:SkColorFilterShader::~SkColorFilterShader\28\29 +10812:SkColorFilterShader::isOpaque\28\29\20const +10813:SkColorFilterShader::getTypeName\28\29\20const +10814:SkColorFilterShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10815:SkColorFilterBase::onFilterColor4f\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkColorSpace*\29\20const +10816:SkColor4Shader::~SkColor4Shader\28\29.1 +10817:SkColor4Shader::~SkColor4Shader\28\29 +10818:SkColor4Shader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +10819:SkColor4Shader::isOpaque\28\29\20const +10820:SkColor4Shader::getTypeName\28\29\20const +10821:SkColor4Shader::flatten\28SkWriteBuffer&\29\20const +10822:SkColor4Shader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10823:SkCodecImageGenerator::~SkCodecImageGenerator\28\29.1 +10824:SkCodecImageGenerator::~SkCodecImageGenerator\28\29 +10825:SkCodecImageGenerator::onRefEncodedData\28\29 +10826:SkCodecImageGenerator::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +10827:SkCodecImageGenerator::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +10828:SkCodecImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +10829:SkCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10830:SkCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10831:SkCodec::onOutputScanline\28int\29\20const +10832:SkCodec::onGetScaledDimensions\28float\29\20const +10833:SkCodec::getEncodedData\28\29\20const +10834:SkCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +10835:SkCanvas::rotate\28float\2c\20float\2c\20float\29 +10836:SkCanvas::recordingContext\28\29\20const +10837:SkCanvas::recorder\28\29\20const +10838:SkCanvas::onPeekPixels\28SkPixmap*\29 +10839:SkCanvas::onNewSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +10840:SkCanvas::onImageInfo\28\29\20const +10841:SkCanvas::onGetProps\28SkSurfaceProps*\2c\20bool\29\20const +10842:SkCanvas::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10843:SkCanvas::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10844:SkCanvas::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10845:SkCanvas::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +10846:SkCanvas::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10847:SkCanvas::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10848:SkCanvas::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10849:SkCanvas::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10850:SkCanvas::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +10851:SkCanvas::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +10852:SkCanvas::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10853:SkCanvas::onDrawPaint\28SkPaint\20const&\29 +10854:SkCanvas::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10855:SkCanvas::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +10856:SkCanvas::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10857:SkCanvas::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +10858:SkCanvas::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10859:SkCanvas::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10860:SkCanvas::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10861:SkCanvas::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10862:SkCanvas::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +10863:SkCanvas::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10864:SkCanvas::onDrawBehind\28SkPaint\20const&\29 +10865:SkCanvas::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10866:SkCanvas::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +10867:SkCanvas::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +10868:SkCanvas::onDiscard\28\29 +10869:SkCanvas::onConvertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10870:SkCanvas::onAccessTopLayerPixels\28SkPixmap*\29 +10871:SkCanvas::isClipRect\28\29\20const +10872:SkCanvas::isClipEmpty\28\29\20const +10873:SkCanvas::getSaveCount\28\29\20const +10874:SkCanvas::getBaseLayerSize\28\29\20const +10875:SkCanvas::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10876:SkCanvas::drawPicture\28sk_sp\20const&\29 +10877:SkCanvas::drawCircle\28float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10878:SkCanvas*\20emscripten::internal::operator_new\28float&&\2c\20float&&\29 +10879:SkCanvas*\20emscripten::internal::operator_new\28\29 +10880:SkCachedData::~SkCachedData\28\29.1 +10881:SkCTMShader::~SkCTMShader\28\29 +10882:SkCTMShader::isConstant\28\29\20const +10883:SkCTMShader::getTypeName\28\29\20const +10884:SkCTMShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10885:SkCTMShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10886:SkBreakIterator_icu::~SkBreakIterator_icu\28\29.1 +10887:SkBreakIterator_icu::~SkBreakIterator_icu\28\29 +10888:SkBreakIterator_icu::status\28\29 +10889:SkBreakIterator_icu::setText\28char\20const*\2c\20int\29 +10890:SkBreakIterator_icu::setText\28char16_t\20const*\2c\20int\29 +10891:SkBreakIterator_icu::next\28\29 +10892:SkBreakIterator_icu::isDone\28\29 +10893:SkBreakIterator_icu::first\28\29 +10894:SkBreakIterator_icu::current\28\29 +10895:SkBmpStandardCodec::~SkBmpStandardCodec\28\29.1 +10896:SkBmpStandardCodec::~SkBmpStandardCodec\28\29 +10897:SkBmpStandardCodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10898:SkBmpStandardCodec::onInIco\28\29\20const +10899:SkBmpStandardCodec::getSampler\28bool\29 +10900:SkBmpStandardCodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10901:SkBmpRLESampler::onSetSampleX\28int\29 +10902:SkBmpRLESampler::fillWidth\28\29\20const +10903:SkBmpRLECodec::~SkBmpRLECodec\28\29.1 +10904:SkBmpRLECodec::~SkBmpRLECodec\28\29 +10905:SkBmpRLECodec::skipRows\28int\29 +10906:SkBmpRLECodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10907:SkBmpRLECodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +10908:SkBmpRLECodec::getSampler\28bool\29 +10909:SkBmpRLECodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10910:SkBmpMaskCodec::~SkBmpMaskCodec\28\29.1 +10911:SkBmpMaskCodec::~SkBmpMaskCodec\28\29 +10912:SkBmpMaskCodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10913:SkBmpMaskCodec::getSampler\28bool\29 +10914:SkBmpMaskCodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10915:SkBmpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10916:SkBmpCodec::~SkBmpCodec\28\29 +10917:SkBmpCodec::skipRows\28int\29 +10918:SkBmpCodec::onSkipScanlines\28int\29 +10919:SkBmpCodec::onRewind\28\29 +10920:SkBmpCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +10921:SkBmpCodec::onGetScanlineOrder\28\29\20const +10922:SkBlurMaskFilterImpl::getTypeName\28\29\20const +10923:SkBlurMaskFilterImpl::flatten\28SkWriteBuffer&\29\20const +10924:SkBlurMaskFilterImpl::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +10925:SkBlurMaskFilterImpl::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +10926:SkBlurMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +10927:SkBlurMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +10928:SkBlurMaskFilterImpl::asImageFilter\28SkMatrix\20const&\29\20const +10929:SkBlurMaskFilterImpl::asABlur\28SkMaskFilterBase::BlurRec*\29\20const +10930:SkBlockMemoryStream::~SkBlockMemoryStream\28\29.1 +10931:SkBlockMemoryStream::~SkBlockMemoryStream\28\29 +10932:SkBlockMemoryStream::seek\28unsigned\20long\29 +10933:SkBlockMemoryStream::rewind\28\29 +10934:SkBlockMemoryStream::read\28void*\2c\20unsigned\20long\29 +10935:SkBlockMemoryStream::peek\28void*\2c\20unsigned\20long\29\20const +10936:SkBlockMemoryStream::onFork\28\29\20const +10937:SkBlockMemoryStream::onDuplicate\28\29\20const +10938:SkBlockMemoryStream::move\28long\29 +10939:SkBlockMemoryStream::isAtEnd\28\29\20const +10940:SkBlockMemoryStream::getMemoryBase\28\29 +10941:SkBlockMemoryRefCnt::~SkBlockMemoryRefCnt\28\29.1 +10942:SkBlockMemoryRefCnt::~SkBlockMemoryRefCnt\28\29 +10943:SkBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10944:SkBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10945:SkBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10946:SkBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10947:SkBlitter::allocBlitMemory\28unsigned\20long\29 +10948:SkBlenderBase::asBlendMode\28\29\20const +10949:SkBlendShader::getTypeName\28\29\20const +10950:SkBlendShader::flatten\28SkWriteBuffer&\29\20const +10951:SkBlendShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10952:SkBlendModeColorFilter::onIsAlphaUnchanged\28\29\20const +10953:SkBlendModeColorFilter::onAsAColorMode\28unsigned\20int*\2c\20SkBlendMode*\29\20const +10954:SkBlendModeColorFilter::getTypeName\28\29\20const +10955:SkBlendModeColorFilter::flatten\28SkWriteBuffer&\29\20const +10956:SkBlendModeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10957:SkBlendModeBlender::onAppendStages\28SkStageRec\20const&\29\20const +10958:SkBlendModeBlender::getTypeName\28\29\20const +10959:SkBlendModeBlender::flatten\28SkWriteBuffer&\29\20const +10960:SkBlendModeBlender::asBlendMode\28\29\20const +10961:SkBitmapDevice::~SkBitmapDevice\28\29.1 +10962:SkBitmapDevice::~SkBitmapDevice\28\29 +10963:SkBitmapDevice::snapSpecial\28SkIRect\20const&\2c\20bool\29 +10964:SkBitmapDevice::setImmutable\28\29 +10965:SkBitmapDevice::replaceClip\28SkIRect\20const&\29 +10966:SkBitmapDevice::pushClipStack\28\29 +10967:SkBitmapDevice::popClipStack\28\29 +10968:SkBitmapDevice::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +10969:SkBitmapDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +10970:SkBitmapDevice::onPeekPixels\28SkPixmap*\29 +10971:SkBitmapDevice::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10972:SkBitmapDevice::onClipShader\28sk_sp\29 +10973:SkBitmapDevice::onAccessPixels\28SkPixmap*\29 +10974:SkBitmapDevice::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +10975:SkBitmapDevice::makeSpecial\28SkImage\20const*\29 +10976:SkBitmapDevice::makeSpecial\28SkBitmap\20const&\29 +10977:SkBitmapDevice::isClipWideOpen\28\29\20const +10978:SkBitmapDevice::isClipRect\28\29\20const +10979:SkBitmapDevice::isClipEmpty\28\29\20const +10980:SkBitmapDevice::isClipAntiAliased\28\29\20const +10981:SkBitmapDevice::getRasterHandle\28\29\20const +10982:SkBitmapDevice::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +10983:SkBitmapDevice::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +10984:SkBitmapDevice::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10985:SkBitmapDevice::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10986:SkBitmapDevice::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10987:SkBitmapDevice::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +10988:SkBitmapDevice::drawPaint\28SkPaint\20const&\29 +10989:SkBitmapDevice::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10990:SkBitmapDevice::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +10991:SkBitmapDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +10992:SkBitmapDevice::devClipBounds\28\29\20const +10993:SkBitmapDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +10994:SkBitmapDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10995:SkBitmapDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +10996:SkBitmapDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +10997:SkBitmapDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +10998:SkBitmapDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +10999:SkBitmapCache::Rec::~Rec\28\29.1 +11000:SkBitmapCache::Rec::~Rec\28\29 +11001:SkBitmapCache::Rec::postAddInstall\28void*\29 +11002:SkBitmapCache::Rec::getCategory\28\29\20const +11003:SkBitmapCache::Rec::canBePurged\28\29 +11004:SkBitmapCache::Rec::bytesUsed\28\29\20const +11005:SkBitmapCache::Rec::ReleaseProc\28void*\2c\20void*\29 +11006:SkBitmapCache::Rec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +11007:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29.1 +11008:SkBinaryWriteBuffer::write\28SkM44\20const&\29 +11009:SkBinaryWriteBuffer::writeTypeface\28SkTypeface*\29 +11010:SkBinaryWriteBuffer::writeString\28std::__2::basic_string_view>\29 +11011:SkBinaryWriteBuffer::writeStream\28SkStream*\2c\20unsigned\20long\29 +11012:SkBinaryWriteBuffer::writeScalar\28float\29 +11013:SkBinaryWriteBuffer::writeSampling\28SkSamplingOptions\20const&\29 +11014:SkBinaryWriteBuffer::writeRegion\28SkRegion\20const&\29 +11015:SkBinaryWriteBuffer::writeRect\28SkRect\20const&\29 +11016:SkBinaryWriteBuffer::writePoint\28SkPoint\20const&\29 +11017:SkBinaryWriteBuffer::writePointArray\28SkPoint\20const*\2c\20unsigned\20int\29 +11018:SkBinaryWriteBuffer::writePoint3\28SkPoint3\20const&\29 +11019:SkBinaryWriteBuffer::writePath\28SkPath\20const&\29 +11020:SkBinaryWriteBuffer::writePaint\28SkPaint\20const&\29 +11021:SkBinaryWriteBuffer::writePad32\28void\20const*\2c\20unsigned\20long\29 +11022:SkBinaryWriteBuffer::writeMatrix\28SkMatrix\20const&\29 +11023:SkBinaryWriteBuffer::writeImage\28SkImage\20const*\29 +11024:SkBinaryWriteBuffer::writeColor4fArray\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20unsigned\20int\29 +11025:SkBigPicture::~SkBigPicture\28\29.1 +11026:SkBigPicture::~SkBigPicture\28\29 +11027:SkBigPicture::playback\28SkCanvas*\2c\20SkPicture::AbortCallback*\29\20const +11028:SkBigPicture::cullRect\28\29\20const +11029:SkBigPicture::approximateOpCount\28bool\29\20const +11030:SkBigPicture::approximateBytesUsed\28\29\20const +11031:SkBidiICUFactory::errorName\28UErrorCode\29\20const +11032:SkBidiICUFactory::bidi_setPara\28UBiDi*\2c\20char16_t\20const*\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20UErrorCode*\29\20const +11033:SkBidiICUFactory::bidi_reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29\20const +11034:SkBidiICUFactory::bidi_openSized\28int\2c\20int\2c\20UErrorCode*\29\20const +11035:SkBidiICUFactory::bidi_getLevelAt\28UBiDi\20const*\2c\20int\29\20const +11036:SkBidiICUFactory::bidi_getLength\28UBiDi\20const*\29\20const +11037:SkBidiICUFactory::bidi_getDirection\28UBiDi\20const*\29\20const +11038:SkBidiICUFactory::bidi_close_callback\28\29\20const +11039:SkBezierCubic::Subdivide\28double\20const*\2c\20double\2c\20double*\29 +11040:SkBasicEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +11041:SkBasicEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +11042:SkBasicEdgeBuilder::addQuad\28SkPoint\20const*\29 +11043:SkBasicEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +11044:SkBasicEdgeBuilder::addLine\28SkPoint\20const*\29 +11045:SkBasicEdgeBuilder::addCubic\28SkPoint\20const*\29 +11046:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29 +11047:SkBBoxHierarchy::insert\28SkRect\20const*\2c\20SkBBoxHierarchy::Metadata\20const*\2c\20int\29 +11048:SkArenaAlloc::SkipPod\28char*\29 +11049:SkArenaAlloc::NextBlock\28char*\29 +11050:SkAnimatedImage::~SkAnimatedImage\28\29.1 +11051:SkAnimatedImage::~SkAnimatedImage\28\29 +11052:SkAnimatedImage::reset\28\29 +11053:SkAnimatedImage::onGetBounds\28\29 +11054:SkAnimatedImage::onDraw\28SkCanvas*\29 +11055:SkAnimatedImage::getRepetitionCount\28\29\20const +11056:SkAnimatedImage::getCurrentFrame\28\29 +11057:SkAnimatedImage::currentFrameDuration\28\29 +11058:SkAndroidCodecAdapter::onGetSupportedSubset\28SkIRect*\29\20const +11059:SkAndroidCodecAdapter::onGetSampledDimensions\28int\29\20const +11060:SkAndroidCodecAdapter::onGetAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +11061:SkAnalyticEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +11062:SkAnalyticEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +11063:SkAnalyticEdgeBuilder::addQuad\28SkPoint\20const*\29 +11064:SkAnalyticEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +11065:SkAnalyticEdgeBuilder::addLine\28SkPoint\20const*\29 +11066:SkAnalyticEdgeBuilder::addCubic\28SkPoint\20const*\29 +11067:SkAAClipBlitter::~SkAAClipBlitter\28\29.1 +11068:SkAAClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11069:SkAAClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11070:SkAAClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11071:SkAAClipBlitter::blitH\28int\2c\20int\2c\20int\29 +11072:SkAAClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11073:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_1::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +11074:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_0::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +11075:SkAAClip::Builder::Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11076:SkAAClip::Builder::Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11077:SkAAClip::Builder::Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11078:SkAAClip::Builder::Blitter::blitH\28int\2c\20int\2c\20int\29 +11079:SkAAClip::Builder::Blitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +11080:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29.1 +11081:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29 +11082:SkA8_Coverage_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11083:SkA8_Coverage_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11084:SkA8_Coverage_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11085:SkA8_Coverage_Blitter::blitH\28int\2c\20int\2c\20int\29 +11086:SkA8_Coverage_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11087:SkA8_Blitter::~SkA8_Blitter\28\29.1 +11088:SkA8_Blitter::~SkA8_Blitter\28\29 +11089:SkA8_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11090:SkA8_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11091:SkA8_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11092:SkA8_Blitter::blitH\28int\2c\20int\2c\20int\29 +11093:SkA8_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11094:SkA8Blitter_Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +11095:Sk2DPathEffect::nextSpan\28int\2c\20int\2c\20int\2c\20SkPath*\29\20const +11096:Sk2DPathEffect::flatten\28SkWriteBuffer&\29\20const +11097:SimpleVFilter16i_C +11098:SimpleVFilter16_C +11099:SimpleTextStyle*\20emscripten::internal::raw_constructor\28\29 +11100:SimpleTextStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleTextStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle\20const&\29 +11101:SimpleStrutStyle*\20emscripten::internal::raw_constructor\28\29 +11102:SimpleStrutStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleStrutStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle\20const&\29 +11103:SimpleParagraphStyle*\20emscripten::internal::raw_constructor\28\29 +11104:SimpleHFilter16i_C +11105:SimpleHFilter16_C +11106:SimpleFontStyle*\20emscripten::internal::raw_constructor\28\29 +11107:ShaderPDXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11108:ShaderPDXferProcessor::name\28\29\20const +11109:ShaderPDXferProcessor::makeProgramImpl\28\29\20const +11110:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11111:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11112:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11113:RuntimeEffectUniform*\20emscripten::internal::raw_constructor\28\29 +11114:RuntimeEffectRPCallbacks::toLinearSrgb\28void\20const*\29 +11115:RuntimeEffectRPCallbacks::fromLinearSrgb\28void\20const*\29 +11116:RuntimeEffectRPCallbacks::appendShader\28int\29 +11117:RuntimeEffectRPCallbacks::appendColorFilter\28int\29 +11118:RuntimeEffectRPCallbacks::appendBlender\28int\29 +11119:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29 +11120:RunBasedAdditiveBlitter::getRealBlitter\28bool\29 +11121:RunBasedAdditiveBlitter::flush_if_y_changed\28int\2c\20int\29 +11122:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11123:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11124:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11125:Round_Up_To_Grid +11126:Round_To_Half_Grid +11127:Round_To_Grid +11128:Round_To_Double_Grid +11129:Round_Super_45 +11130:Round_Super +11131:Round_None +11132:Round_Down_To_Grid +11133:RoundJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +11134:RoundCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +11135:Reset +11136:Read_CVT_Stretched +11137:Read_CVT +11138:RD4_C +11139:Project_y +11140:Project +11141:ProcessRows +11142:PredictorAdd9_C +11143:PredictorAdd8_C +11144:PredictorAdd7_C +11145:PredictorAdd6_C +11146:PredictorAdd5_C +11147:PredictorAdd4_C +11148:PredictorAdd3_C +11149:PredictorAdd2_C +11150:PredictorAdd1_C +11151:PredictorAdd13_C +11152:PredictorAdd12_C +11153:PredictorAdd11_C +11154:PredictorAdd10_C +11155:PredictorAdd0_C +11156:PrePostInverseBlitterProc\28SkBlitter*\2c\20int\2c\20bool\29 +11157:PorterDuffXferProcessor::onHasSecondaryOutput\28\29\20const +11158:PorterDuffXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11159:PorterDuffXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11160:PorterDuffXferProcessor::name\28\29\20const +11161:PorterDuffXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11162:PorterDuffXferProcessor::makeProgramImpl\28\29\20const +11163:ParseVP8X +11164:PackRGB_C +11165:PDLCDXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +11166:PDLCDXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11167:PDLCDXferProcessor::name\28\29\20const +11168:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +11169:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11170:PDLCDXferProcessor::makeProgramImpl\28\29\20const +11171:OT::match_glyph\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11172:OT::match_coverage\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11173:OT::match_class_cached\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11174:OT::match_class_cached2\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11175:OT::match_class_cached1\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11176:OT::match_class\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11177:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GSUB_impl::SubstLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +11178:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GPOS_impl::PosLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +11179:OT::cff1::accelerator_t::gname_t::cmp\28void\20const*\2c\20void\20const*\29 +11180:OT::Layout::Common::RangeRecord::cmp_range\28void\20const*\2c\20void\20const*\29 +11181:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +11182:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +11183:OT::CmapSubtableFormat4::accelerator_t::get_glyph_func\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +11184:Move_CVT_Stretched +11185:Move_CVT +11186:MiterJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +11187:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29.1 +11188:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29 +11189:MaskAdditiveBlitter::getWidth\28\29 +11190:MaskAdditiveBlitter::getRealBlitter\28bool\29 +11191:MaskAdditiveBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11192:MaskAdditiveBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11193:MaskAdditiveBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +11194:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11195:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11196:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11197:MapAlpha_C +11198:MapARGB_C +11199:MakeRenderTarget\28sk_sp\2c\20int\2c\20int\29 +11200:MakeRenderTarget\28sk_sp\2c\20SimpleImageInfo\29 +11201:MakePathFromVerbsPointsWeights\28unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +11202:MakePathFromSVGString\28std::__2::basic_string\2c\20std::__2::allocator>\29 +11203:MakePathFromOp\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\29 +11204:MakePathFromInterpolation\28SkPath\20const&\2c\20SkPath\20const&\2c\20float\29 +11205:MakePathFromCmds\28unsigned\20long\2c\20int\29 +11206:MakeOnScreenGLSurface\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\29 +11207:MakeImageFromGenerator\28SimpleImageInfo\2c\20emscripten::val\29 +11208:MakeGrContext\28\29 +11209:MakeAsWinding\28SkPath\20const&\29 +11210:LD4_C +11211:JpegDecoderMgr::returnFailure\28char\20const*\2c\20SkCodec::Result\29 +11212:JpegDecoderMgr::init\28\29 +11213:JpegDecoderMgr::SourceMgr::SkipInputData\28jpeg_decompress_struct*\2c\20long\29 +11214:JpegDecoderMgr::SourceMgr::InitSource\28jpeg_decompress_struct*\29 +11215:JpegDecoderMgr::SourceMgr::FillInputBuffer\28jpeg_decompress_struct*\29 +11216:JpegDecoderMgr::JpegDecoderMgr\28SkStream*\29 +11217:IsValidSimpleFormat +11218:IsValidExtendedFormat +11219:InverseBlitter::blitH\28int\2c\20int\2c\20int\29 +11220:Init +11221:HorizontalUnfilter_C +11222:HorizontalFilter_C +11223:Horish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +11224:Horish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +11225:HasAlpha8b_C +11226:HasAlpha32b_C +11227:HU4_C +11228:HLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +11229:HLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +11230:HFilter8i_C +11231:HFilter8_C +11232:HFilter16i_C +11233:HFilter16_C +11234:HE8uv_C +11235:HE4_C +11236:HE16_C +11237:HD4_C +11238:GradientUnfilter_C +11239:GradientFilter_C +11240:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11241:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11242:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const +11243:GrYUVtoRGBEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11244:GrYUVtoRGBEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11245:GrYUVtoRGBEffect::name\28\29\20const +11246:GrYUVtoRGBEffect::clone\28\29\20const +11247:GrXferProcessor::ProgramImpl::emitWriteSwizzle\28GrGLSLXPFragmentBuilder*\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20char\20const*\29\20const +11248:GrXferProcessor::ProgramImpl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11249:GrXferProcessor::ProgramImpl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +11250:GrWritePixelsTask::~GrWritePixelsTask\28\29.1 +11251:GrWritePixelsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +11252:GrWritePixelsTask::onExecute\28GrOpFlushState*\29 +11253:GrWritePixelsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11254:GrWaitRenderTask::~GrWaitRenderTask\28\29.1 +11255:GrWaitRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +11256:GrWaitRenderTask::onExecute\28GrOpFlushState*\29 +11257:GrWaitRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11258:GrTriangulator::~GrTriangulator\28\29 +11259:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29.1 +11260:GrTransferFromRenderTask::onExecute\28GrOpFlushState*\29 +11261:GrTransferFromRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11262:GrThreadSafeCache::Trampoline::~Trampoline\28\29.1 +11263:GrThreadSafeCache::Trampoline::~Trampoline\28\29 +11264:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29.1 +11265:GrTextureResolveRenderTask::onExecute\28GrOpFlushState*\29 +11266:GrTextureResolveRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11267:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +11268:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +11269:GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +11270:GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +11271:GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +11272:GrTextureProxy::~GrTextureProxy\28\29.2 +11273:GrTextureProxy::~GrTextureProxy\28\29.1 +11274:GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +11275:GrTextureProxy::instantiate\28GrResourceProvider*\29 +11276:GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +11277:GrTextureProxy::callbackDesc\28\29\20const +11278:GrTextureEffect::~GrTextureEffect\28\29.1 +11279:GrTextureEffect::~GrTextureEffect\28\29 +11280:GrTextureEffect::onMakeProgramImpl\28\29\20const +11281:GrTextureEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11282:GrTextureEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11283:GrTextureEffect::name\28\29\20const +11284:GrTextureEffect::clone\28\29\20const +11285:GrTextureEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11286:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11287:GrTexture::onGpuMemorySize\28\29\20const +11288:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29.1 +11289:GrTDeferredProxyUploader>::freeData\28\29 +11290:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29.1 +11291:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29 +11292:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::freeData\28\29 +11293:GrSurfaceProxy::getUniqueKey\28\29\20const +11294:GrSurface::~GrSurface\28\29 +11295:GrSurface::getResourceType\28\29\20const +11296:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29.1 +11297:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29 +11298:GrStrokeTessellationShader::name\28\29\20const +11299:GrStrokeTessellationShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11300:GrStrokeTessellationShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11301:GrStrokeTessellationShader::Impl::~Impl\28\29.1 +11302:GrStrokeTessellationShader::Impl::~Impl\28\29 +11303:GrStrokeTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11304:GrStrokeTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11305:GrSkSLFP::~GrSkSLFP\28\29.1 +11306:GrSkSLFP::~GrSkSLFP\28\29 +11307:GrSkSLFP::onMakeProgramImpl\28\29\20const +11308:GrSkSLFP::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11309:GrSkSLFP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11310:GrSkSLFP::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11311:GrSkSLFP::clone\28\29\20const +11312:GrSkSLFP::Impl::~Impl\28\29.1 +11313:GrSkSLFP::Impl::~Impl\28\29 +11314:GrSkSLFP::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11315:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +11316:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11317:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11318:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11319:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::getMangledName\28char\20const*\29 +11320:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +11321:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +11322:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +11323:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareFunction\28char\20const*\29 +11324:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11325:GrSimpleMesh*\20SkArenaAlloc::allocUninitializedArray\28unsigned\20long\29::'lambda'\28char*\29::__invoke\28char*\29 +11326:GrRingBuffer::FinishSubmit\28void*\29 +11327:GrResourceCache::CompareTimestamp\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29 +11328:GrRenderTask::~GrRenderTask\28\29 +11329:GrRenderTask::disown\28GrDrawingManager*\29 +11330:GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +11331:GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +11332:GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +11333:GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +11334:GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +11335:GrRenderTargetProxy::callbackDesc\28\29\20const +11336:GrRecordingContext::~GrRecordingContext\28\29.1 +11337:GrRecordingContext::abandoned\28\29 +11338:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29.1 +11339:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29 +11340:GrRRectShadowGeoProc::onTextureSampler\28int\29\20const +11341:GrRRectShadowGeoProc::name\28\29\20const +11342:GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11343:GrRRectShadowGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11344:GrQuadEffect::name\28\29\20const +11345:GrQuadEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11346:GrQuadEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11347:GrQuadEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11348:GrQuadEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11349:GrPorterDuffXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11350:GrPorterDuffXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11351:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29.1 +11352:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29 +11353:GrPerlinNoise2Effect::onMakeProgramImpl\28\29\20const +11354:GrPerlinNoise2Effect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11355:GrPerlinNoise2Effect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11356:GrPerlinNoise2Effect::name\28\29\20const +11357:GrPerlinNoise2Effect::clone\28\29\20const +11358:GrPerlinNoise2Effect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11359:GrPerlinNoise2Effect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11360:GrPathTessellationShader::Impl::~Impl\28\29 +11361:GrPathTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11362:GrPathTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11363:GrOpsRenderPass::~GrOpsRenderPass\28\29 +11364:GrOpsRenderPass::onExecuteDrawable\28std::__2::unique_ptr>\29 +11365:GrOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11366:GrOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11367:GrOpFlushState::~GrOpFlushState\28\29.1 +11368:GrOpFlushState::~GrOpFlushState\28\29 +11369:GrOpFlushState::writeView\28\29\20const +11370:GrOpFlushState::usesMSAASurface\28\29\20const +11371:GrOpFlushState::tokenTracker\28\29 +11372:GrOpFlushState::threadSafeCache\28\29\20const +11373:GrOpFlushState::strikeCache\28\29\20const +11374:GrOpFlushState::smallPathAtlasManager\28\29\20const +11375:GrOpFlushState::sampledProxyArray\28\29 +11376:GrOpFlushState::rtProxy\28\29\20const +11377:GrOpFlushState::resourceProvider\28\29\20const +11378:GrOpFlushState::renderPassBarriers\28\29\20const +11379:GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +11380:GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +11381:GrOpFlushState::putBackIndirectDraws\28int\29 +11382:GrOpFlushState::putBackIndices\28int\29 +11383:GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +11384:GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +11385:GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +11386:GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +11387:GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +11388:GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +11389:GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +11390:GrOpFlushState::dstProxyView\28\29\20const +11391:GrOpFlushState::colorLoadOp\28\29\20const +11392:GrOpFlushState::atlasManager\28\29\20const +11393:GrOpFlushState::appliedClip\28\29\20const +11394:GrOpFlushState::addInlineUpload\28std::__2::function&\29>&&\29 +11395:GrOp::~GrOp\28\29 +11396:GrOnFlushCallbackObject::postFlush\28skgpu::AtlasToken\29 +11397:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11398:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11399:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +11400:GrModulateAtlasCoverageEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11401:GrModulateAtlasCoverageEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11402:GrModulateAtlasCoverageEffect::name\28\29\20const +11403:GrModulateAtlasCoverageEffect::clone\28\29\20const +11404:GrMeshDrawOp::onPrepare\28GrOpFlushState*\29 +11405:GrMeshDrawOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11406:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11407:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11408:GrMatrixEffect::onMakeProgramImpl\28\29\20const +11409:GrMatrixEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11410:GrMatrixEffect::name\28\29\20const +11411:GrMatrixEffect::clone\28\29\20const +11412:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29.1 +11413:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29 +11414:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::$_0::__invoke\28void\20const*\2c\20void*\29 +11415:GrImageContext::~GrImageContext\28\29.1 +11416:GrImageContext::~GrImageContext\28\29 +11417:GrHardClip::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +11418:GrGpuResource::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +11419:GrGpuBuffer::~GrGpuBuffer\28\29 +11420:GrGpuBuffer::unref\28\29\20const +11421:GrGpuBuffer::getResourceType\28\29\20const +11422:GrGpuBuffer::computeScratchKey\28skgpu::ScratchKey*\29\20const +11423:GrGeometryProcessor::onTextureSampler\28int\29\20const +11424:GrGeometryProcessor::ProgramImpl::~ProgramImpl\28\29 +11425:GrGLVaryingHandler::~GrGLVaryingHandler\28\29 +11426:GrGLUniformHandler::~GrGLUniformHandler\28\29.1 +11427:GrGLUniformHandler::~GrGLUniformHandler\28\29 +11428:GrGLUniformHandler::samplerVariable\28GrResourceHandle\29\20const +11429:GrGLUniformHandler::samplerSwizzle\28GrResourceHandle\29\20const +11430:GrGLUniformHandler::internalAddUniformArray\28GrProcessor\20const*\2c\20unsigned\20int\2c\20SkSLType\2c\20char\20const*\2c\20bool\2c\20int\2c\20char\20const**\29 +11431:GrGLUniformHandler::getUniformCStr\28GrResourceHandle\29\20const +11432:GrGLUniformHandler::appendUniformDecls\28GrShaderFlags\2c\20SkString*\29\20const +11433:GrGLUniformHandler::addSampler\28GrBackendFormat\20const&\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20GrShaderCaps\20const*\29 +11434:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +11435:GrGLTextureRenderTarget::onSetLabel\28\29 +11436:GrGLTextureRenderTarget::onRelease\28\29 +11437:GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +11438:GrGLTextureRenderTarget::onAbandon\28\29 +11439:GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +11440:GrGLTextureRenderTarget::backendFormat\28\29\20const +11441:GrGLTexture::~GrGLTexture\28\29.1 +11442:GrGLTexture::~GrGLTexture\28\29 +11443:GrGLTexture::textureParamsModified\28\29 +11444:GrGLTexture::onStealBackendTexture\28GrBackendTexture*\2c\20std::__2::function*\29 +11445:GrGLTexture::getBackendTexture\28\29\20const +11446:GrGLSemaphore::~GrGLSemaphore\28\29.1 +11447:GrGLSemaphore::~GrGLSemaphore\28\29 +11448:GrGLSemaphore::setIsOwned\28\29 +11449:GrGLSemaphore::backendSemaphore\28\29\20const +11450:GrGLSLVertexBuilder::~GrGLSLVertexBuilder\28\29 +11451:GrGLSLVertexBuilder::onFinalize\28\29 +11452:GrGLSLUniformHandler::inputSamplerSwizzle\28GrResourceHandle\29\20const +11453:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +11454:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +11455:GrGLSLFragmentShaderBuilder::onFinalize\28\29 +11456:GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +11457:GrGLSLFragmentShaderBuilder::forceHighPrecision\28\29 +11458:GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +11459:GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +11460:GrGLRenderTarget::~GrGLRenderTarget\28\29 +11461:GrGLRenderTarget::onGpuMemorySize\28\29\20const +11462:GrGLRenderTarget::getBackendRenderTarget\28\29\20const +11463:GrGLRenderTarget::completeStencilAttachment\28GrAttachment*\2c\20bool\29 +11464:GrGLRenderTarget::canAttemptStencilAttachment\28bool\29\20const +11465:GrGLRenderTarget::backendFormat\28\29\20const +11466:GrGLRenderTarget::alwaysClearStencil\28\29\20const +11467:GrGLProgramDataManager::~GrGLProgramDataManager\28\29.1 +11468:GrGLProgramDataManager::~GrGLProgramDataManager\28\29 +11469:GrGLProgramDataManager::setMatrix4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11470:GrGLProgramDataManager::setMatrix4f\28GrResourceHandle\2c\20float\20const*\29\20const +11471:GrGLProgramDataManager::setMatrix3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11472:GrGLProgramDataManager::setMatrix3f\28GrResourceHandle\2c\20float\20const*\29\20const +11473:GrGLProgramDataManager::setMatrix2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11474:GrGLProgramDataManager::setMatrix2f\28GrResourceHandle\2c\20float\20const*\29\20const +11475:GrGLProgramDataManager::set4iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11476:GrGLProgramDataManager::set4i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\2c\20int\29\20const +11477:GrGLProgramDataManager::set4f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\2c\20float\29\20const +11478:GrGLProgramDataManager::set3iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11479:GrGLProgramDataManager::set3i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\29\20const +11480:GrGLProgramDataManager::set3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11481:GrGLProgramDataManager::set3f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\29\20const +11482:GrGLProgramDataManager::set2iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11483:GrGLProgramDataManager::set2i\28GrResourceHandle\2c\20int\2c\20int\29\20const +11484:GrGLProgramDataManager::set2f\28GrResourceHandle\2c\20float\2c\20float\29\20const +11485:GrGLProgramDataManager::set1iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11486:GrGLProgramDataManager::set1i\28GrResourceHandle\2c\20int\29\20const +11487:GrGLProgramDataManager::set1fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11488:GrGLProgramDataManager::set1f\28GrResourceHandle\2c\20float\29\20const +11489:GrGLProgramBuilder::~GrGLProgramBuilder\28\29.1 +11490:GrGLProgramBuilder::varyingHandler\28\29 +11491:GrGLProgramBuilder::caps\28\29\20const +11492:GrGLProgram::~GrGLProgram\28\29.1 +11493:GrGLOpsRenderPass::~GrGLOpsRenderPass\28\29 +11494:GrGLOpsRenderPass::onSetScissorRect\28SkIRect\20const&\29 +11495:GrGLOpsRenderPass::onEnd\28\29 +11496:GrGLOpsRenderPass::onDraw\28int\2c\20int\29 +11497:GrGLOpsRenderPass::onDrawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +11498:GrGLOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11499:GrGLOpsRenderPass::onDrawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +11500:GrGLOpsRenderPass::onDrawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +11501:GrGLOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11502:GrGLOpsRenderPass::onClear\28GrScissorState\20const&\2c\20std::__2::array\29 +11503:GrGLOpsRenderPass::onClearStencilClip\28GrScissorState\20const&\2c\20bool\29 +11504:GrGLOpsRenderPass::onBindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +11505:GrGLOpsRenderPass::onBindPipeline\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +11506:GrGLOpsRenderPass::onBindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +11507:GrGLOpsRenderPass::onBegin\28\29 +11508:GrGLOpsRenderPass::inlineUpload\28GrOpFlushState*\2c\20std::__2::function&\29>&\29 +11509:GrGLInterface::~GrGLInterface\28\29.1 +11510:GrGLInterface::~GrGLInterface\28\29 +11511:GrGLGpu::~GrGLGpu\28\29.1 +11512:GrGLGpu::xferBarrier\28GrRenderTarget*\2c\20GrXferBarrierType\29 +11513:GrGLGpu::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +11514:GrGLGpu::willExecute\28\29 +11515:GrGLGpu::waitSemaphore\28GrSemaphore*\29 +11516:GrGLGpu::submit\28GrOpsRenderPass*\29 +11517:GrGLGpu::stagingBufferManager\28\29 +11518:GrGLGpu::refPipelineBuilder\28\29 +11519:GrGLGpu::prepareTextureForCrossContextUsage\28GrTexture*\29 +11520:GrGLGpu::precompileShader\28SkData\20const&\2c\20SkData\20const&\29 +11521:GrGLGpu::pipelineBuilder\28\29 +11522:GrGLGpu::onWritePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +11523:GrGLGpu::onWrapRenderableBackendTexture\28GrBackendTexture\20const&\2c\20int\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +11524:GrGLGpu::onWrapCompressedBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +11525:GrGLGpu::onWrapBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\2c\20GrIOType\29 +11526:GrGLGpu::onWrapBackendRenderTarget\28GrBackendRenderTarget\20const&\29 +11527:GrGLGpu::onUpdateCompressedBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20void\20const*\2c\20unsigned\20long\29 +11528:GrGLGpu::onTransferPixelsTo\28GrTexture*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +11529:GrGLGpu::onTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\29 +11530:GrGLGpu::onTransferFromBufferToBuffer\28sk_sp\2c\20unsigned\20long\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +11531:GrGLGpu::onSubmitToGpu\28GrSyncCpu\29 +11532:GrGLGpu::onResolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +11533:GrGLGpu::onResetTextureBindings\28\29 +11534:GrGLGpu::onResetContext\28unsigned\20int\29 +11535:GrGLGpu::onRegenerateMipMapLevels\28GrTexture*\29 +11536:GrGLGpu::onReadPixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20unsigned\20long\29 +11537:GrGLGpu::onGetOpsRenderPass\28GrRenderTarget*\2c\20bool\2c\20GrAttachment*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const&\2c\20GrOpsRenderPass::LoadAndStoreInfo\20const&\2c\20GrOpsRenderPass::StencilLoadAndStoreInfo\20const&\2c\20skia_private::TArray\20const&\2c\20GrXferBarrierFlags\29 +11538:GrGLGpu::onDumpJSON\28SkJSONWriter*\29\20const +11539:GrGLGpu::onCreateTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +11540:GrGLGpu::onCreateCompressedTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20void\20const*\2c\20unsigned\20long\29 +11541:GrGLGpu::onCreateCompressedBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\29 +11542:GrGLGpu::onCreateBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +11543:GrGLGpu::onCreateBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +11544:GrGLGpu::onCopySurface\28GrSurface*\2c\20SkIRect\20const&\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +11545:GrGLGpu::onClearBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20std::__2::array\29 +11546:GrGLGpu::makeStencilAttachment\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\29 +11547:GrGLGpu::makeSemaphore\28bool\29 +11548:GrGLGpu::makeMSAAAttachment\28SkISize\2c\20GrBackendFormat\20const&\2c\20int\2c\20skgpu::Protected\2c\20GrMemoryless\29 +11549:GrGLGpu::insertSemaphore\28GrSemaphore*\29 +11550:GrGLGpu::getPreferredStencilFormat\28GrBackendFormat\20const&\29 +11551:GrGLGpu::finishOutstandingGpuWork\28\29 +11552:GrGLGpu::disconnect\28GrGpu::DisconnectType\29 +11553:GrGLGpu::deleteBackendTexture\28GrBackendTexture\20const&\29 +11554:GrGLGpu::compile\28GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\29 +11555:GrGLGpu::checkFinishProcs\28\29 +11556:GrGLGpu::addFinishedProc\28void\20\28*\29\28void*\29\2c\20void*\29 +11557:GrGLGpu::ProgramCache::~ProgramCache\28\29.1 +11558:GrGLGpu::ProgramCache::~ProgramCache\28\29 +11559:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20unsigned\20int\2c\20float\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29 +11560:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29 +11561:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29 +11562:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\29\29::'lambda'\28void\20const*\2c\20float\29::__invoke\28void\20const*\2c\20float\29 +11563:GrGLFunction::GrGLFunction\28void\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +11564:GrGLFunction::GrGLFunction\28void\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +11565:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +11566:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +11567:GrGLCaps::~GrGLCaps\28\29.1 +11568:GrGLCaps::surfaceSupportsReadPixels\28GrSurface\20const*\29\20const +11569:GrGLCaps::supportedWritePixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +11570:GrGLCaps::onSurfaceSupportsWritePixels\28GrSurface\20const*\29\20const +11571:GrGLCaps::onSupportsDynamicMSAA\28GrRenderTargetProxy\20const*\29\20const +11572:GrGLCaps::onSupportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +11573:GrGLCaps::onIsWindowRectanglesSupportedForRT\28GrBackendRenderTarget\20const&\29\20const +11574:GrGLCaps::onGetReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +11575:GrGLCaps::onGetDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\29\20const +11576:GrGLCaps::onGetDefaultBackendFormat\28GrColorType\29\20const +11577:GrGLCaps::onDumpJSON\28SkJSONWriter*\29\20const +11578:GrGLCaps::onCanCopySurface\28GrSurfaceProxy\20const*\2c\20SkIRect\20const&\2c\20GrSurfaceProxy\20const*\2c\20SkIRect\20const&\29\20const +11579:GrGLCaps::onAreColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +11580:GrGLCaps::onApplyOptionsOverrides\28GrContextOptions\20const&\29 +11581:GrGLCaps::maxRenderTargetSampleCount\28GrBackendFormat\20const&\29\20const +11582:GrGLCaps::makeDesc\28GrRenderTarget*\2c\20GrProgramInfo\20const&\2c\20GrCaps::ProgramDescOverrideFlags\29\20const +11583:GrGLCaps::isFormatTexturable\28GrBackendFormat\20const&\2c\20GrTextureType\29\20const +11584:GrGLCaps::isFormatSRGB\28GrBackendFormat\20const&\29\20const +11585:GrGLCaps::isFormatRenderable\28GrBackendFormat\20const&\2c\20int\29\20const +11586:GrGLCaps::isFormatCopyable\28GrBackendFormat\20const&\29\20const +11587:GrGLCaps::isFormatAsColorTypeRenderable\28GrColorType\2c\20GrBackendFormat\20const&\2c\20int\29\20const +11588:GrGLCaps::getWriteSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +11589:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrBackendFormat\20const&\29\20const +11590:GrGLCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +11591:GrGLCaps::getBackendFormatFromCompressionType\28SkTextureCompressionType\29\20const +11592:GrGLCaps::computeFormatKey\28GrBackendFormat\20const&\29\20const +11593:GrGLBuffer::~GrGLBuffer\28\29.1 +11594:GrGLBuffer::~GrGLBuffer\28\29 +11595:GrGLBuffer::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +11596:GrGLBuffer::onUpdateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +11597:GrGLBuffer::onUnmap\28GrGpuBuffer::MapType\29 +11598:GrGLBuffer::onSetLabel\28\29 +11599:GrGLBuffer::onRelease\28\29 +11600:GrGLBuffer::onMap\28GrGpuBuffer::MapType\29 +11601:GrGLBuffer::onClearToZero\28\29 +11602:GrGLBuffer::onAbandon\28\29 +11603:GrGLBackendTextureData::~GrGLBackendTextureData\28\29.1 +11604:GrGLBackendTextureData::~GrGLBackendTextureData\28\29 +11605:GrGLBackendTextureData::isSameTexture\28GrBackendTextureData\20const*\29\20const +11606:GrGLBackendTextureData::isProtected\28\29\20const +11607:GrGLBackendTextureData::getBackendFormat\28\29\20const +11608:GrGLBackendTextureData::equal\28GrBackendTextureData\20const*\29\20const +11609:GrGLBackendTextureData::copyTo\28SkAnySubclass&\29\20const +11610:GrGLBackendRenderTargetData::isProtected\28\29\20const +11611:GrGLBackendRenderTargetData::getBackendFormat\28\29\20const +11612:GrGLBackendRenderTargetData::equal\28GrBackendRenderTargetData\20const*\29\20const +11613:GrGLBackendRenderTargetData::copyTo\28SkAnySubclass&\29\20const +11614:GrGLBackendFormatData::toString\28\29\20const +11615:GrGLBackendFormatData::stencilBits\28\29\20const +11616:GrGLBackendFormatData::equal\28GrBackendFormatData\20const*\29\20const +11617:GrGLBackendFormatData::desc\28\29\20const +11618:GrGLBackendFormatData::copyTo\28SkAnySubclass&\29\20const +11619:GrGLBackendFormatData::compressionType\28\29\20const +11620:GrGLBackendFormatData::channelMask\28\29\20const +11621:GrGLBackendFormatData::bytesPerBlock\28\29\20const +11622:GrGLAttachment::~GrGLAttachment\28\29 +11623:GrGLAttachment::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +11624:GrGLAttachment::onSetLabel\28\29 +11625:GrGLAttachment::onRelease\28\29 +11626:GrGLAttachment::onAbandon\28\29 +11627:GrGLAttachment::backendFormat\28\29\20const +11628:GrFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11629:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11630:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +11631:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11632:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11633:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::name\28\29\20const +11634:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11635:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::clone\28\29\20const +11636:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11637:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const +11638:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::name\28\29\20const +11639:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::clone\28\29\20const +11640:GrFragmentProcessor::ProgramImpl::~ProgramImpl\28\29 +11641:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11642:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const +11643:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::name\28\29\20const +11644:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::clone\28\29\20const +11645:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11646:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const +11647:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::name\28\29\20const +11648:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11649:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::clone\28\29\20const +11650:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11651:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const +11652:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::name\28\29\20const +11653:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11654:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::clone\28\29\20const +11655:GrFixedClip::~GrFixedClip\28\29.1 +11656:GrFixedClip::~GrFixedClip\28\29 +11657:GrExternalTextureGenerator::onGenerateTexture\28GrRecordingContext*\2c\20SkImageInfo\20const&\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +11658:GrEagerDynamicVertexAllocator::lock\28unsigned\20long\2c\20int\29 +11659:GrDynamicAtlas::~GrDynamicAtlas\28\29.1 +11660:GrDynamicAtlas::~GrDynamicAtlas\28\29 +11661:GrDrawOp::usesStencil\28\29\20const +11662:GrDrawOp::usesMSAA\28\29\20const +11663:GrDrawOp::fixedFunctionFlags\28\29\20const +11664:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29.1 +11665:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29 +11666:GrDistanceFieldPathGeoProc::onTextureSampler\28int\29\20const +11667:GrDistanceFieldPathGeoProc::name\28\29\20const +11668:GrDistanceFieldPathGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11669:GrDistanceFieldPathGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11670:GrDistanceFieldPathGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11671:GrDistanceFieldPathGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11672:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29.1 +11673:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29 +11674:GrDistanceFieldLCDTextGeoProc::name\28\29\20const +11675:GrDistanceFieldLCDTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11676:GrDistanceFieldLCDTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11677:GrDistanceFieldLCDTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11678:GrDistanceFieldLCDTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11679:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29.1 +11680:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +11681:GrDistanceFieldA8TextGeoProc::name\28\29\20const +11682:GrDistanceFieldA8TextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11683:GrDistanceFieldA8TextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11684:GrDistanceFieldA8TextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11685:GrDistanceFieldA8TextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11686:GrDisableColorXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11687:GrDisableColorXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11688:GrDirectContext::~GrDirectContext\28\29.1 +11689:GrDirectContext::releaseResourcesAndAbandonContext\28\29 +11690:GrDirectContext::init\28\29 +11691:GrDirectContext::abandoned\28\29 +11692:GrDirectContext::abandonContext\28\29 +11693:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29.1 +11694:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29 +11695:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29.1 +11696:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29 +11697:GrCpuVertexAllocator::unlock\28int\29 +11698:GrCpuVertexAllocator::lock\28unsigned\20long\2c\20int\29 +11699:GrCpuBuffer::unref\28\29\20const +11700:GrCoverageSetOpXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11701:GrCoverageSetOpXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11702:GrCopyRenderTask::~GrCopyRenderTask\28\29.1 +11703:GrCopyRenderTask::onMakeSkippable\28\29 +11704:GrCopyRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +11705:GrCopyRenderTask::onExecute\28GrOpFlushState*\29 +11706:GrCopyRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11707:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11708:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11709:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const +11710:GrConvexPolyEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11711:GrConvexPolyEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11712:GrConvexPolyEffect::name\28\29\20const +11713:GrConvexPolyEffect::clone\28\29\20const +11714:GrContext_Base::~GrContext_Base\28\29.1 +11715:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29.1 +11716:GrContextThreadSafeProxy::isValidCharacterizationForVulkan\28sk_sp\2c\20bool\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20bool\2c\20bool\29 +11717:GrConicEffect::name\28\29\20const +11718:GrConicEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11719:GrConicEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11720:GrConicEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11721:GrConicEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11722:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29.1 +11723:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29 +11724:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11725:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11726:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const +11727:GrColorSpaceXformEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11728:GrColorSpaceXformEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11729:GrColorSpaceXformEffect::name\28\29\20const +11730:GrColorSpaceXformEffect::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11731:GrColorSpaceXformEffect::clone\28\29\20const +11732:GrCaps::~GrCaps\28\29 +11733:GrCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +11734:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29.1 +11735:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29 +11736:GrBitmapTextGeoProc::onTextureSampler\28int\29\20const +11737:GrBitmapTextGeoProc::name\28\29\20const +11738:GrBitmapTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11739:GrBitmapTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11740:GrBitmapTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11741:GrBitmapTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11742:GrBicubicEffect::onMakeProgramImpl\28\29\20const +11743:GrBicubicEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11744:GrBicubicEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11745:GrBicubicEffect::name\28\29\20const +11746:GrBicubicEffect::clone\28\29\20const +11747:GrBicubicEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11748:GrBicubicEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11749:GrAttachment::onGpuMemorySize\28\29\20const +11750:GrAttachment::getResourceType\28\29\20const +11751:GrAttachment::computeScratchKey\28skgpu::ScratchKey*\29\20const +11752:GrAtlasManager::~GrAtlasManager\28\29.1 +11753:GrAtlasManager::preFlush\28GrOnFlushResourceProvider*\29 +11754:GrAtlasManager::postFlush\28skgpu::AtlasToken\29 +11755:GrAATriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +11756:GetRectsForRange\28skia::textlayout::Paragraph&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +11757:GetRectsForPlaceholders\28skia::textlayout::Paragraph&\29 +11758:GetLineMetrics\28skia::textlayout::Paragraph&\29 +11759:GetLineMetricsAt\28skia::textlayout::Paragraph&\2c\20unsigned\20long\29 +11760:GetGlyphInfoAt\28skia::textlayout::Paragraph&\2c\20unsigned\20long\29 +11761:GetCoeffsFast +11762:GetCoeffsAlt +11763:GetClosestGlyphInfoAtCoordinate\28skia::textlayout::Paragraph&\2c\20float\2c\20float\29 +11764:FontMgrRunIterator::~FontMgrRunIterator\28\29.1 +11765:FontMgrRunIterator::~FontMgrRunIterator\28\29 +11766:FontMgrRunIterator::currentFont\28\29\20const +11767:FontMgrRunIterator::consume\28\29 +11768:ExtractGreen_C +11769:ExtractAlpha_C +11770:ExtractAlphaRows +11771:ExternalWebGLTexture::~ExternalWebGLTexture\28\29.1 +11772:ExternalWebGLTexture::~ExternalWebGLTexture\28\29 +11773:ExternalWebGLTexture::getBackendTexture\28\29 +11774:ExternalWebGLTexture::dispose\28\29 +11775:ExportAlphaRGBA4444 +11776:ExportAlpha +11777:Equals\28SkPath\20const&\2c\20SkPath\20const&\29 +11778:EmitYUV +11779:EmitSampledRGB +11780:EmitRescaledYUV +11781:EmitRescaledRGB +11782:EmitRescaledAlphaYUV +11783:EmitRescaledAlphaRGB +11784:EmitFancyRGB +11785:EmitAlphaYUV +11786:EmitAlphaRGBA4444 +11787:EmitAlphaRGB +11788:EllipticalRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11789:EllipticalRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11790:EllipticalRRectOp::name\28\29\20const +11791:EllipticalRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11792:EllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11793:EllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11794:EllipseOp::name\28\29\20const +11795:EllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11796:EllipseGeometryProcessor::name\28\29\20const +11797:EllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11798:EllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11799:EllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11800:Dual_Project +11801:DitherCombine8x8_C +11802:DispatchAlpha_C +11803:DispatchAlphaToGreen_C +11804:DisableColorXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11805:DisableColorXP::name\28\29\20const +11806:DisableColorXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11807:DisableColorXP::makeProgramImpl\28\29\20const +11808:Direct_Move_Y +11809:Direct_Move_X +11810:Direct_Move_Orig_Y +11811:Direct_Move_Orig_X +11812:Direct_Move_Orig +11813:Direct_Move +11814:DefaultGeoProc::name\28\29\20const +11815:DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11816:DefaultGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11817:DefaultGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11818:DefaultGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11819:DataFontLoader::loadSystemFonts\28SkFontScanner\20const*\2c\20skia_private::TArray\2c\20true>*\29\20const +11820:DataCacheElement_deleter\28void*\29 +11821:DIEllipseOp::~DIEllipseOp\28\29.1 +11822:DIEllipseOp::~DIEllipseOp\28\29 +11823:DIEllipseOp::visitProxies\28std::__2::function\20const&\29\20const +11824:DIEllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11825:DIEllipseOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11826:DIEllipseOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11827:DIEllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11828:DIEllipseOp::name\28\29\20const +11829:DIEllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11830:DIEllipseGeometryProcessor::name\28\29\20const +11831:DIEllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11832:DIEllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11833:DIEllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11834:DC8uv_C +11835:DC8uvNoTop_C +11836:DC8uvNoTopLeft_C +11837:DC8uvNoLeft_C +11838:DC4_C +11839:DC16_C +11840:DC16NoTop_C +11841:DC16NoTopLeft_C +11842:DC16NoLeft_C +11843:CustomXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11844:CustomXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11845:CustomXP::xferBarrierType\28GrCaps\20const&\29\20const +11846:CustomXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11847:CustomXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11848:CustomXP::name\28\29\20const +11849:CustomXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11850:CustomXP::makeProgramImpl\28\29\20const +11851:CustomTeardown +11852:CustomSetup +11853:CustomPut +11854:Current_Ppem_Stretched +11855:Current_Ppem +11856:Cr_z_zcfree +11857:Cr_z_zcalloc +11858:CoverageSetOpXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11859:CoverageSetOpXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11860:CoverageSetOpXP::name\28\29\20const +11861:CoverageSetOpXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11862:CoverageSetOpXP::makeProgramImpl\28\29\20const +11863:CopyPath\28SkPath\20const&\29 +11864:ConvertRGB24ToY_C +11865:ConvertBGR24ToY_C +11866:ConvertARGBToY_C +11867:ColorTableEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11868:ColorTableEffect::onMakeProgramImpl\28\29\20const +11869:ColorTableEffect::name\28\29\20const +11870:ColorTableEffect::clone\28\29\20const +11871:CircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +11872:CircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11873:CircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11874:CircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11875:CircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11876:CircularRRectOp::name\28\29\20const +11877:CircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11878:CircleOp::~CircleOp\28\29.1 +11879:CircleOp::~CircleOp\28\29 +11880:CircleOp::visitProxies\28std::__2::function\20const&\29\20const +11881:CircleOp::programInfo\28\29 +11882:CircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11883:CircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11884:CircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11885:CircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11886:CircleOp::name\28\29\20const +11887:CircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11888:CircleGeometryProcessor::name\28\29\20const +11889:CircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11890:CircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11891:CircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11892:CanInterpolate\28SkPath\20const&\2c\20SkPath\20const&\29 +11893:ButtCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +11894:ButtCapDashedCircleOp::visitProxies\28std::__2::function\20const&\29\20const +11895:ButtCapDashedCircleOp::programInfo\28\29 +11896:ButtCapDashedCircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11897:ButtCapDashedCircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11898:ButtCapDashedCircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11899:ButtCapDashedCircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11900:ButtCapDashedCircleOp::name\28\29\20const +11901:ButtCapDashedCircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11902:ButtCapDashedCircleGeometryProcessor::name\28\29\20const +11903:ButtCapDashedCircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11904:ButtCapDashedCircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11905:ButtCapDashedCircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11906:BluntJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +11907:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11908:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11909:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const +11910:BlendFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11911:BlendFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11912:BlendFragmentProcessor::name\28\29\20const +11913:BlendFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11914:BlendFragmentProcessor::clone\28\29\20const +11915:AutoCleanPng::infoCallback\28unsigned\20long\29 +11916:AutoCleanPng::decodeBounds\28\29 +11917:ApplyTrim\28SkPath&\2c\20float\2c\20float\2c\20bool\29 +11918:ApplyTransform\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11919:ApplyStroke\28SkPath&\2c\20StrokeOpts\29 +11920:ApplySimplify\28SkPath&\29 +11921:ApplyRewind\28SkPath&\29 +11922:ApplyReset\28SkPath&\29 +11923:ApplyRQuadTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29 +11924:ApplyRMoveTo\28SkPath&\2c\20float\2c\20float\29 +11925:ApplyRLineTo\28SkPath&\2c\20float\2c\20float\29 +11926:ApplyRCubicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11927:ApplyRConicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11928:ApplyRArcToArcSize\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +11929:ApplyQuadTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29 +11930:ApplyPathOp\28SkPath&\2c\20SkPath\20const&\2c\20SkPathOp\29 +11931:ApplyMoveTo\28SkPath&\2c\20float\2c\20float\29 +11932:ApplyLineTo\28SkPath&\2c\20float\2c\20float\29 +11933:ApplyDash\28SkPath&\2c\20float\2c\20float\2c\20float\29 +11934:ApplyCubicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11935:ApplyConicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11936:ApplyClose\28SkPath&\29 +11937:ApplyArcToTangent\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11938:ApplyArcToArcSize\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +11939:ApplyAlphaMultiply_C +11940:ApplyAlphaMultiply_16b_C +11941:ApplyAddPath\28SkPath&\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +11942:AlphaReplace_C +11943:$_3::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +11944:$_2::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 +11945:$_1::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +11946:$_0::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 diff --git a/canvaskit/canvaskit.wasm b/canvaskit/canvaskit.wasm new file mode 100644 index 0000000000000000000000000000000000000000..32aa3cae58a7432051fc105cc91fca4d95d1d011 GIT binary patch literal 6751354 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
a;o=f52D37}efgwXt1t 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%0A4{hw`wz1Mp0F>RS1{ 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

  • EuW9okk1)OLC;=t|R&j2u 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

    _LwA?BdCm6RFHn= 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

    }5b%!jjFTWWNYK_{%H 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

    &0*pwA z)-+<89mImkenW<7z$m%FsC`$fs zI)y9 zt0{HS2C`MWVqGEwjLReX8nDS?f05OV1-nt!`VDe^I zdP-B$rWJIg*B8-r(V_us_)u*|VO4fgM@ZG8DZDI)i&5#ksmeKAv_+bY+i5unIx1#V zDO?l=%mksya4-Qb$+Y;2pY=ddgFdHc1C*S0M2+xsYT8TbcsmZuaM>kT9OLF#xLx23 zk?C4q&1}u zk0nV&H#3$d!4syR^e8qRUl&D(H%E+jpx~j#gRpIHrg%^{*qb#xsHg1B1|GCb%-(F| zK@GGwyLb>1?agi;cB|OEMje)REoqL-7I%AX7@ZBeK`rAN^?>28AAu#wQJ#7Guw0cz zJi*A5`oIuF=eJC2V13rUH}-43^?<__Jr};9I! z*?T_w-?sj&EfYCAr^+BxRpd2z60HsOA9owB7)>O!dliY%R-kbY`QA$d<;t_=M{{9H z^;lda;FfWH8~DgRQgdJX?jj-;O3FT2Yqgq)o!R7A+&aKl3F&%Z;vZ7u_NY_hY{IG{ zIeH#t!J~>>A8jaeMK40fyyEvH|7VgLe-5ag>P1og?b4kMjO_c;Gpyk3M7`BgE#)ID zy@<2hC+vxi<2ifhNUIZ?k;_fPJTu;DJZS%((MkzULtDl9$jOGS4Ua8z~^iDEdOlzH%I48^_gb#4Sra29eRKy}^Vn^pl+Lu{J z<@3CewHCsk$1|Wo?E|rBq<`o9^-AzcjW19mZ*7q zOH8(9-Ndv?Ot(#S6Nzi{oHb0*>hpS)Sl>3=O>9(&jcpsciE>I?MMK**E3wr{9cqlO zJoPpp2AZv}CRnGU_Y571OVixE++eoQR}JRMMS`!wCB*zcCcvAEkpl$HvI>jO>`o4G z)N>|qq_>Zz^RPa~h?e3ZKuL7dg08mZcj@}bCjJmd+DlWaA3+Td20Th{7C}kq_I<1-E%z}LDm@)L!@on-C*}w12dy1Xrfco6dC}hU1_*HqxUgUN zyeaZ3#sC6*>`JJhQJ(pVMQ0Gc)9U9H-w3?oekjSTKMOS}Z?gCxiy}Y$B5?%9nn;>U z4yeRqSYMUtf)dK~%4t6@3eG4qHJ$~HkZK8~Tex+ZLcRJNa(uHL3CJDC118<$0r&F) z(J!_v{s8Hg(JKuRYE`J4-l_5c&QxoQ0lhwIt1`J8f+c8<2Z!3seE|y}W{fG0CfO3T zTicBFsRB3JbNG0Kf|0{lsrxUniuk14L@N7{jWUSbV{)kg z0}y)NFv4pbklossM42Q>fy2|m9(m6<|Ck7FET0m=;U{#0lT9nG)~g&zu(a~Nq)@rS z9dO9aCfjozKCZi6C^6NToJ&by0o)q9$);jpK`e9xs7c11N7A^C3s(RbXKALvqAk_`lgY7_w_3{~xB*^3GaCz6uu?YXHSO3< zIkkP+f1l{A@y}RN=%2yn$O<9(w{qmMs4sjw%w6XN9C~Z`Ps%GZMOT6y!0oef;l8$0XNriIQ+xDX~Xr^JQMdM>qv&c9NdQ}5l* z%SANRpLcju{j5$T9}x`nAM+OEC*01QK%$DzaHr9a|4A?^6DyI7!8eUYEN!d&v(tJj zp`=X3(Dhb^9H5Fel?P8z#x~ab>Wio^K6ib^kZQDVbao~mXpTW%s&fFSi9U$tn^zSL7r6Yx-Sx0HF4~`NJ5SYLMa4{ z4rrElYgpM@eIegZ6O%0a{qu?$Epe@0Sjvkp-_L>`u+m`KU!4kYv~fu7vW~pNSAHw$Zb|NO2S;2Cq#@<$(R~J%nHufYl1`GtbzrEyfO(j4O|0WYqZ=d5Z~|0n^7ff4nk*5fYqVi-7A?J8bj%^L2s z8BjDu@%zdOu2y5-0PU-ECv;E_EhLedOuEt9Ho*w?+gBDVr;Cod*Osl__Hc2X}; z>dTa$h^>j-k3Bw*J4-88?to+_ZF>tKpJh7rJdHNe7T9rUeknkPqb>wb0-^Zv$WEvkbg^lGW`v|MH7@sX;cP z)@gD#DA*U}7v!CMwZq5NAbw>rGOdP8T0@5Ni^y_8?r9^Iwi4i08xWI}<#!{Rl`=dK zhrL>qbe>wK27;Rfz8J9va+=d$003I>6M&4nr zET6Q-HTWt&PmNotrTaj35iixa&~@~rC@UXU)3xA&Ov4a>(ja$>me>AA)WtLl>`IYW zAc+GSbPslfT~MS;dk3$Ecif1Fo9lw(ZUK&nmarQyQjWq1q(n=N<8sxZ`dyv~h1$jMR<)1Y=O~FkI_A%^8-T^vT+smnUE1dvfsp#mw?s7L19g5*=U0V51Z&dZ|C{CtSN6L7FMla!=tX#{xqD5jYW~0fpXIPM(W*8;LISL~-zrqB>s^|l@NYbmahJNEoXvmnqW?h56 z2;Ab-io_W`4!9(44&R_^wpX?8EA;8`s_Czq-B&P_@T%>v+TB+K^y-!3?eM-9;xrqm0dCKuZ%R?_0g2C zu8Xqo6;4-@HKHZr82+IU@mb?2mPP4V&(gLcFkYUybDw!V=hP3C2oac1s6m9wRMVpuXgDvxo+$0Wix#R=W{&7Ne?yU7veznW=Af2 z?oP^x=9UhJ=CrpWD_SBvKAH=}n*yAlT*JOSXWpIB=lbHzFyC^$zp1c)-91U%u!dIL zvBlldHvDF5)2D_Jp7ncgmN3jmuA1INibe@bz;zLo(y9oY^Tb?I_BiT-`?{VS22VI` z&oC$r?k9$EvZ<zc7~dQgB$loDO)0MpyZVoxDzY6 zqQw#Bd?S=(U(S&HRJk@iKJqhwg~;B-t&bc~+i0Ci;)WPZUWJI^&L)gVSmQ`|xwI5$ z1hRH+iC(CLEzDzT(F{nnz#E-MnSD`#Kd?(CMTIWlg4hL`M$Y15a)rp^RfJ9?S`8tu z5tnqDVa@nIz~V{}8cSb+Qd{MfSE8pXU)~CL*pill3{y%TJBm@9nL&}gn?ut=x|TmS zJ%#XRMzt891tW;gIzW_=k#3<^>^pFv*_-=tMk;Sd&(34XXMrPC%cMtxKoCpM+T^5K z;!6)h?1Z-DXsrr)JbJ+Ap0Z_An=Rr^wFjOYmhj{XS3EU|3=zU`U9FEs5wTp_i~*sm zlgP24Z=y00u_Y`gzy~XQ*M$C*j~5qfuhgD?cqn$kuP|xxSlqj<@s>iH4(w6MtrOy* z8VS}N4Z1`6U8;Tn32Z?p^$|l?%b%{i63jNPV5g|d89pOd?%&Ti8fIrn`mx-&PoX_B zuYE>cPjz9cra`HB4aBa{ml&c_k&o7^iWlehlp9_xw-x|)OLG1#ZBbddYN&cC>IkbF zPcFTN;|tcHGordP|J!D7k3Xseu2PQV7&l-U;Sw~UW zvgJWXgwDf>UXzI4D>Cj%a(Gyb))c!o6?$x(D)CUb?W<;1gKhWp9_#E+9 z0jLF5Jpe^XKTZI(!3^95%pj(WW@NfqmlJyiBn8uo#Z*2V|0;} z2lF0Mnk)t>8w+FYDDM7KtPOgF25H2=mv`fYQuJs0sVmVnY4V8=o*;Q{c$p1suT@k+6n`c zcz!6>jQkh)t!3|AHzh*~Y{9@JRN-fhw&1I#ulWr6lOe5Dg?s3L_RD`xfb-5 zJHX0i0b}(c;?zEz)rUisb28}r!bSH(BDo|wC6cwVX(M~Dw*1ti_3!%V3vqV;IQ_<8 zm=$bWq6@j4eAKvljW%RoT|ojNTG^kiX*@&(gbc()*GjD&!j5 zR!C~|k{E_&5||6#W;mU>_uwNfVcoEmV`jIWPT0~bz8O@qtJ6)w=u6T?*7N@qzaWIj zlz)p=2E8dkFK^0|e>=(@$`?UdTcSgBfizGN^ln|)@#NxUkM7n-hskglH0%Bd_ec0p zyq?!&D{8dac>iwHc&2-0XQ?T>w3k=PJK)5W1y^*wLf2CQC7G+!Gx5;2=L%>kYuOo~ z=*y+RL{N%pgdVL>7qH;|O{%9NB^boiq@oo{Pkq2(lQmva&Fa&HxYt)(wm!=xca&rm zTA?C*ReX?X^hv0XQKptr2Td{I5x4$LGa&i*8n-9#iS$C4!itK}%xoNrYaqiug;{i=mnxBf#Mvy9-fh<`aN%HS+^&qBu4+$>(2`}1qf zqoG%q9=+`EYrlP|zvPRieGxJ)Ui$iJVXj?7Socp4-8d}=lYQ_yO}cBrHPR^AF@3b< zAy4M_;0yhCxjQ0=2{f#02mEM<76Hj3i+KsF);hw7jg~LRPuFT4j|o*}Wn0{s|r zg9@Q`F;dN3G3`dE4G~#UYg2Td-D$xJZX@g^IyTB4#T`Y_kR7B@&rXi7rUxXabwUED zajJ&|(Dg;>?o&}J|9QZ7gP?5Gild2GvaM-Ex0bD4FYiQCO0tuQoNt1$0gUduuV6$e z;Jg3^SpX72r&~dJJGa`9y@C@cv-hsU(IV|4fLuQH+4TU;GO4FmcfimrJFupp8(DZW zd9db@(6h-R1Kv{?=@%t)CH=N;`fW;Qg(slcd!D20TPuYPM$AEarZ3fB@Iwie)f3bakYBxM6RVI9#AZByFF|24ms`W zOHw|3`T`ARoCtquHxYRDuB-4&DeAxkO6tTkN`uTA>aM`-?F=Q?;mhwIVF!%tI};sn zTt49in%bQ~k7TILIqGF!PvC4 zIJ?)h2#ap0s}(e+#J)i*-k1HqqcjP+Y+FPz9mn_R=V6p`HCLRKT8&cphAcCUDSWC` z0dO&OskdQi0hUS!_%ILtubPpMaR_%CK99QPhlU@-t*h_lBNOv^e9 z8|BO{bP6pV)+SWRyxPgSm4dAYj_9s-RKF}@=C^%R$+lLbn^KA312Gu=~+on%& z=QJ~I3)hEqMZP`##!bnC+?Q`nE{T7Ko4mFq z`jisT6LCCPro|gJCC4r8lK5d=?+y)H2m2%l7A(QzSep()*jRwe!I)rCu8Xnu^Z{Ee z+vC#ijL|FAYIImj_E;_ZbZQ;Yz<3qw&puc$&=;}?(;_VuQqCxA?(glDW0_NkaEy&+ z;v}kTC0ElIq@dbK^K8>m**~oIwIfpZ{y#J2^p@B|?V5!^$iBJKv~YBN}Bd}sLU-{{L#ix&N zkL=&+OF#UHqXcDSpU%ez6A#-OyRAoyF+N?~W(019u-s`>NtfpK=F-Dg%K5kvXkBLzpwpKJpTuxv=N#E}jfSB0t$a^#bek z0oP>2U2KRk%(YuMKQsDa&5Oca`PrU*fi;S8HS}V3gWH$g&M1pZ#!R?ldxUT|zYuOX zSkiOl)eVzcq-YqPHW~Y$Mr+K}+?>3nCeCt(mCtzgfDh=_g7~z2U>Ki+I1CTE+^3n8 z`?RzKn)_~GGw_W2hFRyRg}y~*duEVy|8OypbA52QSn;~cb9UZ%`qmvRz0AjT_xpP< z&nLnSL5xwp!rzPQq~_}R)dX(`)qu^sF-2YQ55X1(rW# zMTqOW;f43)qql^*Cc1U~6Ex~BI*|6P=+^O1(4KpS^U-b5Ycz820fn~|V>~ff$8NLT ze}{fX{SArDB2bK~_V@*xNIlQ*aVQKKDycm*oxRP(rBlU66gI1GK*|vH@!PdM4-?xonrmXhJ^T&6N8+x;Z{vG{8u}4+-}S z7sK}EF6Q5#1y`^dX)MEvpyW<*5_K^~n3J@Z5vfLvR|=~wM|dcnf}f>GwG5zPJ=^6F z2f>}?|!IH;Kc@X9f0!ti|~^7E(V!4U!nrElO1K+^~X@I7hL z;pJ)fDCMiUL~t>`;@(Xd1*oGM_{8VNO>C48qQ!rrF3U;$Ag8oN zhW|!?)CB&qJ9rMSnFUhAAJA-2T5hJj8vxRI6a6DjG@bo+U2ZFgaFPq-0v@B$vc^i+ z-J~J|9JNG+AkbK3W$mej_MB>}J@1VZE#8)re^!e&GBnxWIl4uQSH)X-XzQnTOMy20 z8XuqFyy^Ve3s4qaV67gk)%K-qK!{0o;7lwpGGQ(P?>Qru2tu z?c}x)u@Jh8oho)AFFBNL zEk^ohqJ@HhjbvU-BJ(%~93dl}5jqA(4<}M#biKQnaMJM$q+>T8j#Y!*SFBEP!U(EeN;VXNEuk0)Q;^aCjVZ|NA z3NOJglwdbsM9mH0t>~4oVxWX;t%Qj?e%JM z^MWCxvaF^flN&o`1Ln1jYQe^2?=8iovl$-1%Esi{TZ&bl!coh&nG|VWrG95QIrPL3 z|CXucT3XK*+jiMQCt_%dVM>covTG6P9`U2#O!0nZN-6d#hVB|)brI# zp08T+yr=JZ|9rJ2z%?|nF?LV1=FqoG0q+x z&qt(F+N`xu*J;3^@xl$`nX#P&m@1GcL3r!3k*`d(3~#4Ad4^lF&I|+mus=S zEphfYD`iT1aGTs8bX=N!?Lvnm0uJa&6t^idRLcVDRENbSR9zC2cCXDpR>@~}SQ6)JQ2 zE8#&WTnNy9hii)5a_#nPXRlY7N7_g4*2~_P$F`x~)}vJ1Nvw(-v=FmR`Gy6nN%0OS zu}SOKQ@pemB{dI&mE)G^Alrk5n+?cBE*p_RTsF&&#TyFBFegZuL$-6-+JUCTUY~v& z+x%^IPv-{6ZTPq3sQM&ZKh5#fw5Lrx&GIzVeK*5XtNSkJsnLC>jgUsV?-ZA*O*UZ$ zAx-6PJ*t#!ASL@26uUkm9?aGX=quEM935j!+l{9;hTNzoY;@k2kR8I*Vx;j!b{Hlh zg`|A+<4z|Ek5paug8@oxfQ3w&Nz)}rQLw8UQ*eC5pzWY?=WQ`g z9HdZuQYIW(q1Cz!dd>T#6K!AK>L0Wx)JgI{(=kJ>JEd$hl{xQ!((^-X6O17_un#36 zk8oxw?18B?>;c(g@_%YC7Fi*=9nwV<0$opTXjyrQs7mc))FByxH9ZvdBN{BZKSW2k z^-R%`_u-L0Y*UpOVl3FH>9B>?6qT2231kE0h%(DFM}7MB_(;;gWe1Nrg*BQ=QR@An z*?$~QGu*eF))DlzsFv3Fv46V6>JYJioA>~WGYY>X0<}MFD`|+->`ErP>*gm;Qd#Nq z3*eb18u}-R6IB$|E`^a2AcYK1v?49%EV=n#E{16W20rHbCfZdjbXA2#s=X{sjTxqctJEwmxD5aGgg3D3g$i<=$w7L&RkDx!A1D z|JoS@{$+LyvIF-)cNz^z|*ep6hWNNDpL?(Tud(QCTEflN(jbt7y#2T+r_V-hT zvZy|hGc1QPc6o}l6FxCdig|?0^iK)-=r&W7Z+gVDG*iPQH1nydnO&&@~}NLXvE8N=8B&gCTxxDqAEd#-;#$ zW^lcvohf4IZ*IiXk}VM*mUn({MAF7EX8kpQF+;Ki843^`VgdK*$CyIG&V?~8x;qEP z%sKSq#TWotYp7V0tqFq>YVjrA{))|@+8_)+0Rw}fkllU0TqUBJD3D4K8%tsp7HmNr zoFRy{XmXh>3|s30kDUzb*A&jkgiq*KaaD>GNgJ`*u+(seLn3`dsV1>)oT4&noC1VK zEiM*pNP3EsmPXCXgj^A6de{KYy`#;f#bSi^fkLU69UAy5W0l%K&ZgXdY=|lMAIh}z#&ICDn$KPDl3H1jE)F{q7IoUf z$_5R#&_4EvK-!@n(rzpQIW@;55jd zrjPf4$h_s`SIe^{AC0pYOK7=e3=PK?706+^aIHB4Y#)?yo>>1W1R&H|0jiT)bZQ>I1ZjpL8bzIz!U+EhGf6HlKlp0V4yLM% z0GRTk>*;49V;?64hJH&8Iape1Gszz&8+%G98_TKlA{kMj?I z1|g~aCUn#tte&(5P|H1!ydGBH8 zzhieOJhighgjVWUDMFBRU<@;{Ey6aT&zR+b1y}-3eWPzE7@hTcKGXqNI`zg9=*M_R zkxZ9N)#u4{_OKRVp*M?p+oesuVQGEZm6>_Yzeu%nE={$glbWsD(xmPO3Ezj_q>bb8 zZbS8;$g}_{Q6znzEwgOpWV6h6XkQ~z(KAfQkPjubItkEr*UENkA+qzky~G`vbg6sL zNxfVv=r9!B+#G)3r&8hx%H#hip`!NEYgft&m%U6G(#7PKv4@QltBmu6$IW_VTY!+& zR5YkiV>msDd@WD?f;;esAv?pf+BT=H@|E*YL_krN%HH!SZr4Wcl#K z{}eFSQ9JFTUa$p}gm3Z@y&%P;QQoKN=Dgne za)YCz%+1Hf%P6muI!oku$qWp)NZs?wV=Vt#A7MM%vZ_U%+;cLzB%Ud6 z=Z%bl8Gp$hXD=&{S{jNC2)2UUW<5x<$tN=fwd5E1R;p-lW7qOsJWy*7CS%g4f5wUA7$Z22OT@%_S8LqYQ> z5MV;u<4ve-IZvo3nqouFuMs)G0n$Zrc26Jz9v*hKmm;7BwZ$2W8cpF)SO<@*CVVnau5x;zxn z0WgjZC#yEPfFtH?boid>wm%UkO!yA%y$1TJn`Iwtyol$n(p+Iv7MAGTvRcAEG1D^l=64t zWnSnz%cXJex%^vF@v*dJtyx(*ut~aj$dzxY%(4S(Un*bCyM(P+f{-~AV*V8T{@WQ8^HCpd-5TAs5kke=6! z-V}>!R+i}wv`cC55-Jsy&rBqtxA5Qcp?Xe!90nAIJHsb?YKqT5A=qcX0QGCXsoi~8 z1NT4+b_9`ak`JX7bIWhHbjc6|+8?8B1{%h$3Z82|iodZcmA6j;l+vUg3i5 z5|P*5SbqKJ$3Aw`_4M25oAdaMroi_PaEktdC-* z9_v?v1@>uOd!xPJK#quj4l(u{-sY}^_+K+#M^BUw9%`|O`82cwOA)1rC z68RHzefqQThr77T(F^Vg*F8Ko*OI&`l|#O14wj|`Mtz&IDlOp#k&#sN9cIRaD(GRa z;>8yycdClxe}@a2FiET8c(`u&DvnXbW~<^Md^kn2!TBM z3Vb;+AS&>ycTnJBDCl6g;wKS~SWe0^Bo#QL0`WCcpjdeMY8`~gR_&;CJ7B2bDcwQ* zfovOPN2b0-mrJx9%Kvn_O4XU!RWx+;MA1SoC}-5_QSFs3C#6&(D5g3W1V0(1wT~G} z>0K>}I$FLZ`Z-F+)$WIZ4+p8xk}jaVDZ^woy1-35F&A)yzPdO$p!EkF&Lqh{93;P$ zQ{MMq;_U5-ZN5Ya%&$sASFe+ZOXelb8*k^Mt`Z=~=0Lz3) z-GE9UBw@y~bjvT-0WO;JcP?Vm)!cp>r@l?2a$PN4U7TDiLe8uOBvP!J$S=z)`Gr?D zvSa5{VDn}1O@f8H_0fMY_*h7<@2FjHuaADN!=@cJ9*prtjA_gLmMziGcnLRO5?>WY z9uyY(s3LyTmu+AI(M^m5x=5HCIf>*5*F5i^w_Pg0ltV6b8#z4A;I||#&1=;}X0(<`!u*}`d z;u|iBuj7u6Ul3!Pm0RnaAU=;4mQTFLzz2Km*~ZMi4o_(YLOj4-pwm=rWGo+j_nSCDR!;Vc@I_l`K9FN{xH1cFNnGc?8jvHRpl#zX?}wDqqw z4>lv}pehy-;RQ&_hW3O>jGrHGZKCHfrli7=OvdCw1{FJDsFxZ;su@@HswS0{#g3=qm@EpQDhE){9BF$ZcZo<* z&%a*i&^E@4Xuk%S+7HCm%8u&eUWv@)_Ct;a&jCh40=h*6VruXo>8A4a$-x7r##rE+ z*IotTGnDizEGd{^r71Es0X**jRrCGjZPwJjHZwio8L+ zo0b=9#Pd>;!@?aPFN_^W+3gn% zu+Jf*g1Od3+RQ#yM}k*thRmHj-Njx+>QEsZXH9FZZF*04gW50pUrH;c^%Gp(b@$RNjNn z-y%96)^wu{kYN@SktNOUuTyEF3#5~MVH73QK%FV1CuWNJ?4A-UGMjp+#7(u#0pp?>9mnR6(-GSAaEZ zia|YVFf&;zyqrxcP*RUn&_kY$R1B#ST02Z61IPfiuo&vzi&RG+$qacprUWM&Xe|G7=APTY^UY>QRs#AINgkiIloieveg(D-jo|jK3?GT=}jU5(p zyP)>g%Olbla@-^+G=B~`pgKNiQNhwlmT4%UJbTl~U)3%OI7gcd4EFT{8Uy1|AcL+- zn2NwSM{D~D!Uk18%~TB}(xfWc8i*?D4V0L~vHu){$~ucKW`f=Zl|hT4SC#obAx)dL zJr8I>0#u0VGb`heLS<}d1U6(qKa3yVz(daVm7lkbwJJV24b(XMz!MgCjsZ1OjSg?>HZ3Q5QFtN)1pmsBBi?Ox^(U3J8}H zAtO~PqAFzEyiCRsKE-@xJ8Zn^aG9Wbs?h~|pK4PJwR_05*9tM(2}`O)^=uX=RwIG| z`N_*t8|K2xJ;g=`ldg($>V7k)Y%*yKrL;d3&0TX25TS2sO%l9z~0-ue-=IRx3v2ELpj- zFO5s7u})?{nsxvqSM*Rd=41=1@8n0%Lxw30Fc}XU<=nCL1Z+*q_ZGCKj%GAA*?dXP z7%Lp9B?lE9V})Cs0}oa>oZbuf3!vc#XwCfwFS7)uBD+9 zki=SXIn(U0GVL_Ph>#tQy`!_$;QFW+u8(jjPf4Q_GB9A+dTtFwpJZR7uEY#|(12%A z!}&Rz#!Os))7GGeS54#U^x{o3y_q>=+9hWeE>O7?Mq2+6mL_5To0ncQ8f&^%ip>n% z1=BP|d=fPoB;RFnJC;U{=&-AlL0Lyw1Ngj^$&@|PrV8qpBOmGIADR<_5ACWCs|w|< zlV^nNUVEv8AM7pjXiZGFlv1vcKY&uOy(gd zWhzo*gSyw&O7u9mvA77hFm5)$6Eo!@Di0c873D$Mo{6EW$yYA5eadG>6=Q)uw^N14 z+^s?%0%{^qp&Rw3onfcuC*`d&c??aE4^=tQsD5+z4G>N1-Jv6COe|@7c2h!ZabJ7r zlc;>3HGx}E58%3=5TH=7F=Yi4CY3Jg5`!t;_UCV959!Bu7O+wgG1Q_+dxm!EXpsd7 zir8pjrqzzhr%zTB{=a=b!C)3}AbrR@ajJ?52wgV#Wiv8venAQ5QP>jglF-xUas*GQ z4@T5|nqy#W>gWuE5}QW&vx0Iy(3)6~tx3N*{7YPBJKDmJn>EX5m9Yt%J&pWYmz;>m&C5$t9BiJ0G5vLJzd1;F*i;SM0dPk0Sp?&rXoWw7t z2T({RVE}NB@t-cEGS1@z#$U6 zHu^u&mQ0bjiEd?Z9?&8ut~YdCs-`!nyDyFw>@_=^Mi+R->r8BdSPQ_dcE!@k$PG>f`3CDd4M0>kJ3 zRLyG0*QztQIno*83y}znJ@LXJPVTmK*$tn@ujiSuTnSc0<=W@>EPN|Yl&VQw!( zZQvgBmLQ8*sESVvAgfwr6hiA}ZYlKn} zUhYcC6gAhXnEUcCJ}{JhOCeFP0(`(W_?c+sefh`-hRSz+5Yv*KK50SuXCD}%D7Mn0 zH3kE#vurTLOVu;DuFEHXgdQZf(ei!~S|Y zpJJ+<$o`JW107cjN)G;-p_=B@vV*K0Vq8drW;(6cG3#ETy$v{ z{EgP4q3qt8?ZBa$YUR=2^O{7N;FV&o7Ha3BH}D-BpxKCA`k*|a59Kjc1I{|)*3LNu;vwTW-Hp8G<%z#8qF~~e< z&qW+{*u~iVd>5*cg@r1jub#%e^P%9Uu3x*jOK3$w+I=MmyCK z4Y6H-#<$zWrnt^C0(D$ODt`pBPfi)Kw=Nb1Cp<{4Zval=XfC>>kL0IB@*&N8YlG9sTy$l(sQExP zr?n`s8jCtU#b-w`^YL$@z>M#d-ooG5PD^3kA2UcAGN|*Y4NOCDnd_jkOZ94cm^kM31T?Tv;G~ITvAOW4$U!fCqAd5Y(kGRCK@Pu zo}1G3xl@d&*`7gA5LZ3Kb;T90TwD#ixN5>km_(!VMy>DZ)Sc=@{qNKe8#NgG8%5u$ zhn3LOjYfx|2dK=fsr%V!f^&Z&(8nEC6>msKM_rhUz@LOh>pBK^>ZylFws;!y&;Wj&S zY%YoGXYA3_;>O9%@H3Tx|_8$6gUHR58G1(y?voB-Pqggqdw)msXzQZg| z#W2>ie>y<%-=ruwV=l|4N&tR0cbJR2C`&Yj`buXO(1Vnsd1t3~0+`Ib1YhT^B)$aZGwNjP1d6m6SZP z;N^K{O6mwuHj!$cQ37d|?4uW)Kniv3qg5w5%>?DA3fF$Y*61S2Si@AE6%h=h;VPVc zxU133P%v&eMu${O7#0>EQ?D3CIx@k6*R7!P9q%1d44a^lmz(UG6;5ZDNc>dlPl^k& z{NrEl(_4fM|6udd59AqQt?BycGL#Gt1DEx(n=g2?nZh>X&omRqQuauebGJ4D<6@&0 z=$jHes7}7j8IiuUfl1OUx=FKDQZPozWm<(t3#4e1jNx3CSbMC+&g(|MA{8T;106a} z;aXHA2SQxFM4&(&=2t7vJdXcAYFnhX)8j)InIx3Lu}8BMHYwIEZ_(nF)~0(pt9<=Q zx7@W>?(?8Rt2kfvDJ@Wms|70T(tay6EPXa*Sc@EEHA{mBORpL{+eM9tJs5a-_+xZW zNgSySA&#^H$j#a~TQFnPXh{y8qe&O^-mQL5fQhI@qhVjMLiQ6`)~0MOPt>@L1V!i8 zRkcW*-3v6H6e_}V)@ehqVSNF9h%M0x+0bmC>=U@PK(eDESxijiSEYpGD>b(S5wdb% zB*!tFBNoH4b454!KA7}(KF*4gNy@!XH(ED%^6@!we`r|KF39SdM7Er5`^tyxo!O(3 zf{LF21?}**O!9+E9v}kKd)Q-@8B5dwefz)|J~DmviBIm2sOk>$!zmT0< zEm)GiD^rq?ZE43?m+%Z>5V!%q)g(HT_}AMoC@fe&*Q!I0Xfk00slz(>RVBwBdYSzVq) zea@5G*_YeeRSTC)_C5-qgZ7$?Vm=q){6Fb)iU}j`%TlQ|;vX4c^CL?KAN31_s zv$3K@Wo=iizcOZ1XZ?~a)i|1Ayc+B0qrm!C4BE0(LqX-=;8lV3gBoM~lo42e>QtDj zzhMv<5sKe`1vUq3+i*;!(}-7+5fYk|;;}1yCDgD#1;ABYz$><+b3E zPNO|puJI4xz~VQ1Bn4#3YKt^Ufw;@^RkdN0q`>k?>au+CJZJfuMsBxT#;w(uWw^C= zSx?p_dphU+Xw3S&PY*EbntZ}?aicMy8m5|4H(d*CZ$!j*mBUJV0_K`cXWIN2*3KTe zUlPe`+nkB-w)Rv59PQ%dCU~5o!!yOujcXg_bd?6J;sb#8b1MznE{~4G({KK(XHgnh zs`t0YjB+4rC@0rfMmf0j0{?Q#fnGFG7BmLWEfvFa&o0d^I!i@oG{xwQgOX4QL}$`G zbZ%0;Qu3V6Qn|6WJJdq52u!3^(U}OntKY%C(C^TOq=Im9Z6lp`Ivdb7mQgJ(@R1BO z?jA+~k>v;5Bgt$zO@5fQaF#}}S2VUh+EZkf^@;TP`*H9+7xYaN(MY!7oyxc3k(d`DTmi|6O zO_z|nip!Ty8n-ZIU2b5WX1Sn(!wPcfI}s5iuz7I<)SE5QMh=FyjYOjCuN!s(ry%Mk zmg~!Ry${IHepV~dsDUp}MdhPz52@YL3JP%238q0X1t5t7W%EtwIxzJ>MjUE_a>meP zP(Ql`)t%z7sk^g`71o#AIhJ9<18ZYTw29*IL|Is4HQ`YgbC1D+Z*rn#svCKNcIUXD zo^HU5fS3m+JQ8W@Dy#f`AEnSIqXZvH;P0s31N>c9*5>Xg_1qX^A@`o8x#ir0m|xp3 z4S-R8QAfy9aUe?!kgrvdG9{mv8AeW~q4a?!ilKqMHr>I;idv9n0u3bYfrW-uy-5U; zF7shYl8a@MHg%KcESD3HsqP{eS?C%WHhC>lJkv86>a8M0evnPV1a5t6I?wOCKDZi& zEaRUfymA0$93HP!*5mIK-LiEiGXCYTs;p@wD3KrwV?P-^4?8(ziMhu5i+zzOYf>Zz z5Pm4*5|GaS*GEzL(w!EfV(kJB5R(Cg~R5<13BwSYJ8E21{X)7pvaPJwheNA(p*;tR?AZ zElxaUyi@mHA~h5Wg5X12aMy6&!h$@J)s;>RXq=c%O%sRV@td1gmtP*0es)e<}GQ7QoiD<`poVesin<53^r z9^-WTO}64^8i&J*VZww`{;8I+C`S`Z5IWbAilOp_(mIC9Z=IqS*WfB>E3D2g85j05 zTqACweN-5fL(VO>*%l9|2b87#1=+gZ3M`lnnDmdeCl*hLRd~*j0{c~1I-7lFwAEP! zNE&FsVBs}G9$K_&53{>=LGwAAOI8S36|ji=x_Z2B@bOxIwAKNbVPC_v%3jTL zRh}UjlRDwmqYcm;7QNSUoI)={>6r=oUA5XhIE6rX*D@gTRr=iw7Z6A2YCT_d0;E3< z=7U#AT|Tp~{CO80f=mto@|%LUAx~U%Febe>S#v6+Z8G)uY4%uUX-OLoiI28v`7%8t|kt<6POI$zhv#@9*GbPE(i zl25IW^s;W!j9U%XVKq8T9op+G3m}dAXC0Ohrk26kT5|2`CUv%4OAw(MoXidQJVSpW zF`G|7Ng`V)y3Q)NVyb(_!DVj%%&GfeFy?cR^|p8`I%M|Lg%&5!Pi;nD;Kas}Y3SCG zIfeUL5-g-Y8Ao}*WUvv2{6-4#T0NY-vxydA7`r7wFttE0^*#aancE?QXW_hr~Na_b>i>OE=XX2f&^p+oI`yT z&b#fuI5|zfR6K2z;TU)t(s@htCxV&-YF#C+xLVCsVrF@}TgrV%rPL4O7X;(Ur7#XvFb;KL{9J(X zWPtG@gOQ=w&wDi+L4$>1lqXWR*oW-}PVV^iho3j@RtX}b))Aw4S{ag?b_rKsC={0s&*$3vEs#V z;N37{)!g=x#M!NtZTyzRFFXTpqg2J={>}8n1V+$j3T%av7r%qFwy1>$}I!Ap@;)h^o;vea{(9_J{JHb_00uP zN*{M)kEw=nZEaF{myl%x%-9{2({C3zaw`S;Am@AbO$&lhfT|SVLsYp}ly|k+2J3f> zHe{Wk*gY_;)AWYYdBzCXx+`XUan;H<+c1**z8+6$X{x<+K4Y)V%}l`tPtEs^g!Tle;^r*fk9O8b1!nQ+ zuyLlA?-?;rlFSwGYPd|Wv39~5Ua|8=p#Z2wu04!0s(Uz9HY$olt4mSa=3FbsC6lsk zLhvb`|8zX~vvV@%V@XAc{d_FgBKsA$c0HhT(LS(>1l4?NQs!j`?y_;mbU~;IsiyG)@RR{f(QNh^iA~cKW5jD+%&Hy~MF}(%Mfvu+(}(ifI3rpb z#iZOQiobTGZ|;x@*^nD)>xv=_!TfUlC|arn_gdKBG?d_J>d2Nftyy_cnq5{rrE1-+ zK+`5AD^P;ZYMV4sQ=w!+;P1e5XuPvdHP8%S**;`p;uL)=v}I|ilv)nEshptbf+$MY zb+hkX(sZ)V%2l!+qbkmO)20Xbf;W394cE5Ko8I6_H;GU2a&2;h&zmOlm?yzMvfzAI zpBmd;-esb&JgAUdS(PiO)+D)V&4)p?CdpN6l2EO~85L5k(Pi=UK{7NlyF*L-HR7-D zb9>UU&Q|Bt&*0G5s-lpEQSlD7^)$9;RQNR6a2o7>oG? zq)YKv>391{51#fr;Z;7^fOKto66K+Z8K+Y;`Ee&6+QCP9+QBiOCVMtLLMlVhBTQv5 zH<9g_CWgP%iRAF!FSsGQ`*eli9x(W25S^v|Nh7}}WV_ZuSG*vg-v{XO;5AC^t0TRK zcwv6O0`HZYEkrSBAH$(9fsa=Rq#{2`e;fruJ~n9c1~nPQD?0O5Muk8HOmXx2T(iVC3W*1Y9B!KT{zvvI9ZiN zYs6|@Af6Ptaz-!>!+&;0v~h;}rciI7n05a&Et9!sK7p7y-+#DBrN~Sz>hO2&&S>2G zZsf!0QgDn&3bo`eZYuIrz9)BbB?=BeF;EyA5U!7&k|uZgsO>ysq=Sa&oKL+H!GX@%sApdrN{LwDtkNk*`pBCh-jintzuU4c~ezh+9 zm$$^Wn+rVNoNFHy%n*2A3LChHAFOH6sqP(N8=3E<12j3V{UbQ8swv>-EtG;+~mE@=+!Cn~9j9RUIeK zs$-7NowHhrrUc+Q`*bhyK4;7%ezcc(+!96ouADN4AYqt^k>f+uDATWC=ASh!n&&T? zn4Sj(3H1O5=lszMCElh)Yy!r*U9F94NtWkNB+bg5KF^;F%2yG=VZ})Gpj$N-2qCvH zyszqfGj;T2pigbvQxWJQx80$2lYn6}G8^Em(JPE#|yL#-O+XbW`7)(Fw-OB>v*Ecd$~Z&*9HZ-Ddk_gBPe!I7^A2`B1UXg1SXms z(CGESA*lX)UupCfJ=l10sz1K;1NEF1(6I!8VS$5kQbscc@Y_d1F zilr}6^4+g~{iPx$q)dV@9@lo^f@RmdcHExm%Tp9xBNr;WyZG%k~DkpZ5j^T6>tueBU1qly+?wO4!@)2i~t) z5fb?iuV52#*3v}sBo~WO;phZ)-x|NPxwO`%ndnA2F}_>oR#U^&YA-G?pU_`!s{I__p0y0YdP!}yFo0eJ&kuy15n*Qr zm<>C*ug9MAixz2*tW9%Can?mhijRc(yQqrb(e4<8=jaU9L+7)dYd6}W>I5{@k^T;Y zsA`~qDV7*7jhg~m$_CUS6hJOHmV(PAx27A>5JUF}*DcYnnhULMTT}X zj1`f>E$VeGWT@HQlAk0Y3Zo*~%9B?;n-gzfQV=Izk0G&PvH3!dkv|aqQbFFGtY{r>!Wvx_f=7(7;O5AmwXb7 zZ4yh$mc=3Q7$8sS{aTV-4b;XP?Ao#Z_VcdG(#PY!Nqr8;8Ebw5dvX*1l`~^Yq=j{s;8kBlOH!eTSdR5+60CncKC= zS5V<|L~2Y-8b2<-e~7-LgsSg;&~e9XwDlbkAEEC~0a|$%`dwW9YGUql3cnlqROy%_ zs_m}WHZu(lbj0qK=#%>Jo@($_E_CxVYw-2_%($Iw@ZnD~Kj(cm_yDBeiyjKA+~_`( zPTH3?l+Y;88cO8@jJ@DV_YZuW+XttYe(;?>`F zDfR_PS6yo%Cn;M}EhTdK0M1F|_$K~k5P9QYGLf5yh>jj0a{Met`SOO!xP(#bBmhhf zXoeLm{IXX8VOIbAR1TY|sGN9Ivw7^W;aQnO8?^H=c1>Ikd88I6{9v#RO6G%rEjGz- zkGnsJ9a3?3Bm4(^W5BLzMbOFes+AoPAm-OQB4Bydipg1V_bQl9P@t!A?8FbMS-rm| zH_4BpS>aFPZ%L;whQxz(x>noJ={l`pk4b0dD}a}|${)DbUAMAsbKMHVuVPNmty{(2 zh`Y1J^vytYE-8&}`7eWk)&C_ku$z`4Wj3Tz-`}jz3nSzMo6^0;yl~}e-2D)A{9}>P z7%vs~A{sL;PhiC$x66mV!A(@2{5%Xc`>Qy@H&S+|%H>6}$tg^6pX|2zWK&i(@wA3E za#5JNmhNc+GW(-(t)*dku=zJ^saqodhItm;cfl{46D{v@!Zhx8IR$^jxUCZyLBo-g zC>(3`q5nA<_f6a8ISg_pO6L8~rX%o`%WqB8LN}VZcev-(p2k}N#60teu)}6+(yT_z zUMwc1T9K|+j^sRLtaFx=z>alHnO6%Z1P)fq?oVsFdxY2#FY*cu^*FqsvhDtdstJ3- z3_hwkLHxR|-3|rYSqH6yOPxi~H<`nUwP7}$Nm=c+jXx|O5`!NKesE1TQds#X9tGq4 z8a0Gmb#%quv9Kii5MbFmIN)9mD9Oiic;_g4i{gHyGQ1B2 z2a%7;>6)+;{yK}kkxLxX&|JAz1X3y+9h8rLS5X-_uk6@PKC=}TR*=owR6E*MrtqY; zGgzf__=4Ad1h~S&@J7CBYxEjmMA7h`sMdvB)Vg}27qzY#csgP?7ie~mx?%Ff;EHhd z14WhZet(~!-K+1c8?Ij33uI^dzWkeCvT!8twi~+HuUnGc2uZUk{e*NSWy~)Ol2Nb% z2}SObkv1v}$+rXss8H*6xNPoj;*dHo7Za$VQo}vRt}J11 z2g=1iV4B~K0kDy7aZ%#mX}MYpLelcH$7sz)5vCetmnlJIJ4EXMD?bv`U3K(~0;I~j zKVzqQ;^Bn~e^IQqzDaI@blV5GKgGE#m?i19U*h2;ak0>Oy6p}g&JbpMfctlIk1LS) zxpdo|+#gRjp~t4%KB^D6XR)F@j?lXixrn{I_p^{HY&9+a{?pt+)oJ<1f5qL++oV=r$I1`@>`z*RV)?W_RAE0AB8gt%a44FYyfXuKg*6xU@)Z`v*Tr( z(_^qtnw=F|fE2N{0el5&;*hiJb$eWsINDLuKZXlvS51~Hu&d?~cGa9bQDnJyF9#pP z%x%|lFJss?bXCvjtDi<5z#nz;5TAFTAGxk1>HuvFUl zc9w2k+eM6Z&m8(+ARFz0WxK6Y1+_U`MEoy6{me?}j9`fm+zyfECqnTPq4o-1vJCxq@A zE>IubMPVa@N6kVuY}xSV?&lRSPUe~)Wg8kOz2+|Wn!DT?iAJMg?Y)1nOXXXBpj?_= zOS4i*9_C!lGgreEKgSnPS0Hkw%zDZOo4(X=XM1tTh3c62s&?xM99>@;uV%4)B@IXm zY7dEF^9Itw<_*RsWadXGC&D!32kdAldppB+iVxrs0mW7;a`_ie?m37Wb;S>$B=C&0c?+&hiG>H=4t9>MW*v_@0Aw=rzD2 zxiHY9lGIW{26UEZS3;B>HKF`ozs>@KtaO~EiohUwLSBZ`{^mfQKY|Lzyt}lRTAwD2 z-l0B2QIj$zjp8+hJ9%A=fjbYVG3Qj2DMSGyfqtP7C-|zlV(kNSOs19G1wPKwWBz~g z-UiC9>bmp1AMdN)dsTI-RFX=na=7nWZ3|kO)})Ck6OE}0639Vq(-|^N4?@>*4kCm9QUO|MC}^B_HBWK|LN~l@47aPbB`{a*!+NVax1? zl!C)0v*)AA%oXnkzK3bl%8GWNZkNJO)fx4T?9hvFc4DrfslX!gajHOBtQWn zfei==h(Jgn1wsNaa1gkGkbn<_f+Q&jodG&jfjzcN&JjMze>3n&4L&R!34ag|&-^b3 zf70(0d{R-ECThc<)bS^E{7D^uQpcav@h5fsNgaPu$Dh>k#{y(_Da`Q40%X>BGW?OH z3<`tER@4O%IdzGn8Fk?#f)L@f7g({qDH=%0!a@E|(nWrU;HGIHnwU=ci};KA)4AWZ z8kmiFNws5oQSIn<@)N_tBWD-T9e*q{t3cpa=mb!XiPKq>9t{~XXZ9W(TrOz^k5hM* zlGRP}Y4t3No1D^Un)cSgQooK#$h%^WHO=MC)?4+OkonF*YZKG8C{Bj|#|y^#(643- z)s*p%&{p+nG&%W^ak@$$N0ZYZK_%DW%_3c!Pc#!~Mp3YS_r_wDXc6V+Sp*9~r<{J{ zxR@XUDQEC}>#yzn9tqzTx(@04E6218h2_}esm4MhD&woV`%5soykU}TgBc%Z4SV^B zyi}F&*^uxo8lc>JnZLBTHK);ac`DR{rve+Re+i?-8^+rz`w_Dzz`y$3`RkljX!yh0 z5i79eS7Nxc<4+hxLn8|W+muaU`BeIMv>S*IfBqh((x=rbX2)m3RZj7=>}gtt5sq9K ze|6T9=1f?m23cp}bQL(GAE!pHDgta*A(o%Cer^Q~3g(PYsHP`CE-W@`DpK6%V!2Aw zw1DIHMh=`)-`Af3@fUrkz zT+@{VuVTT7VjRS`Cp1IfY}(oyQHdN8$s=cK=~Ac&R4+aDZDkC4$x)QiMLj@OEuX?p zDtGaUg53R545Ph<4Kb(0(|O3ca?)vFvICR1G!z zsjlc8luYXI<3?Ny7x&Wr!9v>FlWW`Hhl^UZ8y3Y&kq ze=OES$L3#zWZV2}+jCw_31pD{Db3ecJ(^Xop#BjdIbeTG*B4|?E+3;835XoP{(^y> zFJB1X_sdst-;2@D?4_hZ6<-a9J<^^q9zaeF)qs$VO#~Vd!*KGj0lylOk65yoBy<9` zkUgnHO%eP95eLL`2ad|}Bs88b*oo^Zrbs`>a??U^K_FZ%*Bf!0e2(-MTDuT;(K7FnHNTU4+L{cE5CG)Es4-v zc!S73Yz>9-6IY-Uw;1UIctE9b`v*p(zL%7VbHxWkb1lW$T&wUs&l~JDSyCoo#Iws{ zwAgSfWXf)u!L0V2Ih<%nWG_(oTe%*D30HnmAc0M|j4_*$XlO`$%%iiD_zn`^;GRz} z1ivV`{f9Z$#S04!0V{XViKhy5V%xn2woFNFkN~2FQpF6D^6?kjV(2>BWLOkavkj_G zx*hI6D^&5YH2{u46|Y)LJO(1@+!>&HJ6bp(8seF~1h7)J7!mdi_(T+-stQeL zYc3PoaAgKfwQ*=vI@3!08O1Xkfve8Bc!m?OCCCYQk8a%w_$mmiuC2BF23M8PF)jF1 z_#zqG%qXoM#MuCo%mjoPvD&?G(ihE(L=qY4{8vQ)VH($rocM8KiEq(hRbMkQ)N9ee zIiDA7MSw`c68Tr!ab1z~6#M}Z2sTOZqwDjuihV?+zMPKGb zWaEQ&I&soEgUOcjMjkUxVJH+Sp4I%YhYG;DAmR0kt_P49-emXAX_5 zK!4+M(1#NO85M#tm`jp$97eN7k80)LBS@GH-zf?yW$!?d;-hmOF|f2kULUbnzD6r$ zrmVFMBqRmV6WH(bKm#c!1$?Yz> zA{mpSOcJu~>3tbfpGdLm3-%bKC1KJA*{%6i@1-e?2$+0E^Z2%3w4QDN5_-eHg?Dz| zi#_dPVUxL=nuw_Dk|lX|nP6%Cv{jBu`Z0F_D?=2vn|^MMF2uHK&}Ld;fM6QHko{H~ zbwwKoBcvb@9;k=nXD%c}-x2+;7KV#P^-=pmK4as)Z;n^f_c5`UW=ooO?2s zEpBC=FsW+^HDzU37Se6p5eY1|9qU40S*~dnTt#JWH}4EgtCUHbv%i>z(n%+*G`-$3AgkN=(rVGf`!0918XB{@`u4WaB^FR$zs1I8vw8W(tk z9R?dioNNbTzGkpsjttw?WH@5WIrYw-I2NDf9M>2&%V5;_@{DVO+lVOTy*y&b~|5cVa&&mD1~*A_&-t z>+|MR1*m`L)gY#Au}jJ{`+|y!%B9aR;^@)8TWuTD=}VuN`GYzzJTPcJE-j0W1X#P^ z8rlu|3~WJhzs2svr6^9ryi(RBKP#(XrP<%Pik&IM*=HsEF|G9i5UEllEEpo=>Mhgb zq-3N>h+ea#s#kzTwgiEt^LXmVl;h!5BSGRV+Lvk&{~i$!ntl z$vqk-Z`hkEM~*s@?S+&<3UtY$m=;(s)G`PFsrHa+2kqZ?;ZhblB!iW(6Ki8wc81*J#X$7-Ed zomI}x7t^G1IDR{ncDDz$Ftwp*n?nra@UXGPwsF4fY9SY7R&KhSN=;;Dc4u;Cbj5Z- zCkABXLXdpqn7-LnZY)jz;m&TMAz$CAiGdNZR z+yE#+Ov{cZ(*-9iVi>CxO+PHho8?K~utIWz?66-zm_T5_HbjlKeYeN5^9OouTH?$S zxO+!1NMs*>6_4Q?Mg_%IvMLHS>s!>z|KjvaQaFO=I+x0v_u4q?9kGxCeB;h~Nc0f0 z_Pyb#C-PoRIixcev)l)mDxJ{Id|;f#6@yL)rHa=;$eNyE0zw$NL~E@X5|`A&yCwDp zoN1DKGtLGdj6sQHQ4bWt55u4bO5rCwm{cSG3BBp+O*cG%Y2aOWAc_-HX?Q>|B;Iv+ zz=IV7Sa`_wkcWp&de{^mHtS(?c-W$cE#ZNXVoXSv%Z!zDUZ^{_x*u`7&#qh+Vmdf- zvU#x342z45#c1G5Gy(emD%-A9Duy{%;|4%=s%DMJ6%5OZLtqYR#;R51%#($+3jxzbT^t10< znO))5VDc8_|0En4cUy_jFml8eH+Lc-U)1eZ5KT3jAMTC85S3t0GpK3BJ> z2uixPpX5R6NqS>HX@{l*5o@2(ODboG?)`4X=9}ereTQH0P1MtcE?yx3k!hPetnj=s zF0PQ+y_RaUTIKClz+c4+;QNM@bOT`M5P0`_GBbS9#xJI_ z%fGeAnA_WV_WC&CwAhh!6rI@T12BfJpbLy1ZVP;~LBR4bjK}J_oiOWimq88h@)QXN34!lhY5|Ng% zxD$6>RkMi}0|$lyuvpPHg{VT+$-0VOnjhyn_mo)oaK27cYM2mo)Ky(`0bQX-Dn(6J zTjB1CbRIJlXlhR=JdAR{ze5g3wP4)TG>&iy6hMDq51g1O5NcyTWERQ zkpZ6=4gV&MEg+;@aEJzMCHtdSD|(Kq=Bvbjn0Sa49&O4GPs#xrP^1-r5?2*q!if2v z(MafoDZ_*m5mM_S+N#nO;Li?`q73hqH<2?f`QDthIB!g!A1G)3sg8K$iM)gXsGeyM zPlboo>nF00T>aK41TqokHPv;41%iAZ47r10)`5b{tbo!@7fUSMjI$MyA)aJ!%bPcq zUtjt+|K^q(kO#)!mM1rrzx?^%xaU?q@;14N(Lp@;2k=+Hlm=jonCE4*n~H5|0~gL( zDN7A+@*cH-0Eo173=>;aj0^4rvKNd=fYvV8>M&g{!B5IjQ04=slOTm)+6}nCz>+xV zZm;e%?O{nz{&YJ?XC_>O483+4^8t-@v`G{JTlkf?vrnZgje%1l8Tut{K@L)28Y)b7 zSAC;I6Bz`VnSEJIoyj0`>n0^1U=|s4bEY>=H^)Oa1y6aWs+*a*Ny4C;l(AYj15q^O zJ;Z7}jZho9u+5GTf+CT;oGpNm46eXp12ByF8vazHBJvHxiWK{UWpa?=!G4-O$r=cm zhI>U2D+Ui-fVPP6eU=DNw6)R|1{?WMARiuV5GxFJ+XtHjX1Fle)HwnLhDn5P-mG#J zkPlTK3i!+HS8+q5ujTlPdd;IC*D4wi!=G3n4^Pfqikgz*kilZX5Nh3k2b}T%Cze_J zaB8gvC+sT@rcfd+eTmx9Cls`DJ;GL4Bs9NfCW8PctR8~XFt!*`7`EWa+$V}w zfD?6&z=~ZX=H`7Ksn;WvuG~M(>AS= z#wi{mxuI%c(18(|s%yM0bScke}Pg{DSPpB#Xwe)Gx?0lHwC6jC6#}Lvj zi{F*wXkfb96RGO;oh%03e928Ywvn*}flqNck+ zfTe8trc1TT4dN+^l9BqPu1l=^c|1Z0tg=$O_X%I#3rp10vP22G;?;lyN*AoRNBkAK zZkDcXjUI>d$UsK654pz!#P2>0B0*o5e_Ra_v1!YmPFRpoK%X%VqVyJtwl{Vqm1r7A zcBBYx077t7z%nlPtI>=CB15F9TB<5c3oe+w>(vx#jbxtSss>r0cF<}OoQDG#4&3pumZnhrHAOPbNVT(}oTu53*KSDto zs@@u5zGM$ELLYQUWD`yS@I}ySQXkCk*TAc3C&A2Al2M*dDv`5l{|HrAjtS$jkMxs# zXF^-{>2Zs2hUMo&bxr*Af@aGT>?9qvPR#bSbVf=};X->X$=v1p^Qoyc%HFxomwOHI zCdt_a@h(b_+UH&S){0~s%utbQ$!Hs6R20h>YbnZ9vKl8ZnEAs@0{LXF<6kkIPUTEU zr$yCW!~`=`-KEY#Vvedb{M=DhgyN7~4OMp;oEbB#=_*xc1n#R{dc0a~5hfXaIQ364 zUiL`SrcO)!AQE|i`3UugY6f_^qeoOTZO~P}9Zxs)?|^kRT6&GSCjnm>Efq7=0h1Ai z9aJRznIt4E+-3Tt_@%LWZqNY@>-L+nYF2zqOw(JVAA$yiFmP^5ozElc#R1WqA@(Kb z4*Y|_&N%x58-n|6hqjKg9l9^nMpO->7qtK2qDJo1@#ewksVmDF&G2}sc-4KiT5XiC z%S+|f{lh7YTZfXucu7A3bU_(00}D0F1@DLmU#3|(Ne<%6!eX&2DZVVfAHut6IKu3# zEf`pIvj`6U7t>~)R*kpVKyjlmvj#(LLiLdmNr1J{Dm*GQuj5Wy%t{I~3&N@(E$bzV z`lm<2UL|_rlaUkyqx`^_z<@127m>%A;4QGz;3GkwU>@Zr>5Zr)rdO7a-GPE>Buf64 zZ0h21%(HLNLI86ZCXZtM!%Ws;Yj~Wmd$`x2HAxk(cK!C~jkHKMMB5xv*}iR=2=Fq^ z3BdA)k`0k&?BD{KVMCtIB{3=4O~dXU=V;nj}R_#iaZLG(WkHva7?r!wi3ii97~r+R*+>v5~OM9 z(5NSfE6nqX(z%;enOrGAnZ>XnlufpLoc+?P%~aT%@HTM_UZt{6NGYEgT2H>9BjH$R`EAiTe`kam^d41AxXq!wr&{ykh8LAiP8C#h3^c$F<1qZ zy;YoJ+q#kb)+~7VggJQ!!kC~n%x;``zdAx$9ARlK*#}?E9mL z69Q7I(fo^qFn!51aQ#5Cai3&WkdZ7m>VR=BIJXeR$Tb$ZmT^xW@xF4QW(+q==1Pl7Q8*~aY>mX!v} zwqOkwiOVjrA`QF5iZtvJf|hz{(9#-9Fp#=u1YKf(G5V;eZcMubI4;B3##q=LFbVc7 z#Zew@iGC(lR!Y}R`C&$v-;rP}>EA-k|Y2GRtTP^h&K8zehsrWe5 z3JGnqL+q+dRrrXe79lVo8>c2?mEKZ1tjHL4^WnVpFlNzb(K<8`h(D=LYSp=xjnQ*0 z8_UnNG>v=m9oe6RF2yb#bDJ}h zq<}+M1yrYM0A0ewy-+*tVYcd=^kGs%Y?wGDXi|eq zH{?K1UnHpFVy_oPABp{8_rznKmTIA4YxElN98){QeIUX4t;SkxJMQbxV>+#&dx zM{v~|f}mVw0;3H5iLE1n_Dyqtlj6a%TnNS__JL4}1mwy9gdtgIYjhD)V5+&z>`#$=B7AYUyj=y~txD@U zbF92W&;N%%%ahJF)=Ci*DisaMWhGt*bJi`@W;foII>(&MnN?@S>?&k&da@a|!kd~= zfzM|)yPkpySlyJ1l~K#^>}sn6^T@(Z@~^ga;|8c;jtxdKF+D5)cVgqwHY_D4+W-&+ zN}d5;UI;l#3vFGvO4gR;9!H+yLIRQDb)<4I#?p-Nq3!%cX+^LW189i>;L$<(XWRXb zbzkeRr)L5w`hGhIYNOqECIDz@!`W~E#D@_Mz-9*UkqyFUO*SugBunQ2E5{PJ5ecj7 zKBE6Kc$-Mv?T_TVgfFA^T{3{E+1NgwvqKF49|TbTiw9FCx|Jo9Rl7#Uvd_F?8HeN} zml2yTBVH4-A|%#m&)JS+%f?YU>zT$8XN6V9(O5PJDj_jUelGFD{aInR{U8au%$bwa zyX^7tofgHsp;pVTDdg*+(QgD!JXr(!?o2MZ+@H18nwQeb%+M}o1+B2r2a!mDtK zAqI-JqP5C<&7#VNa25sLrOFI zN2*vnz~kVsSTsbu{*AAM^8zXM;%E&OwZb;u>a@Uce1gnemDyV7;Q(ow&1FP4qg+06 z9BgC-sSPN>>Zx_ejmxPWLu^~`=CZqgpzy(s;G*;Z>o$Wts!4B&Sab|D)v9RfynfP* zCz)t2tA|-Dzmc+A&P)tJNOv*Be?=rMontv3aW0M@l~Yers7)>C#d==@Jrc!=!th^y z^AWmxJ>4|{Ddi2VB_QqFM)r{wpzRHMrG*6sLS8#M%vdo1mKWU9*3hK<>3>bZFfkQ; zjkfilvfzDQutihWLY7UGljA`0M>GM#nX_^l=hpY~$-v`o;B!La zg|;RYi3=@&0OIJRZmz1rLE@!UwYgsv<5U$oUlp2<7P`sXzu`>npYIo%4+_nyLT6rD zq3q-dK*0;lTdHSMJYcqh3oKrvQsW5@!n@9Y8cSMEuyXURG1b7Kx)2{$0tJjtk#73OQkk7;D{jwH^zrYM&I4$$iv}K{MCp=r+6laOpBU;`c5f1 zwK93la*>2-_I_3YtA*me6VGmKQ`2I(sUC}{SLU&8PsAhdFX8X#FO_aLqq%KT(Ak6t z67IdTL#qngiJAfUe8H#<&TI14l2)x30|{=r+Aw0&e+@G_zyN3#zlb!5!xqgV5@{3> zH5pJ!RTvzG{8z_9E18aXO_M4Q9svi%&{P;>UG7IeSV=d6Iz4a@h;~Hw=Yd`X6@zQP zWIgTnChVfAJQ=(?bi$stbIhIX!>w(NR>F&33SMlM3GfOSW3iT2b{=jkq}Fae>--lx zXVrPIaD^Me-^R|1SPX!29l({_6wks|Dj7hJYYJtEl57ie7e#;orHEp_q@I?K{JAZu zC$^lWL`JJmH=9&ErV@qK&$-K`8dc5(yKMaxMHfPhvqv^)U#iRvhK-VQnUpl>y*MCn zPkJ##4ntwA`8E7?LCp5Pg7N(o&&_>G$(>R(9fYE{zr3QCBUNPq@RryTy%=2QpZa|D z!Z%IMrM0jZHC$pLUADfZ^i8r{PZN^$ZKYFJSUNK$0am*;%DrzY$ogjcCp!QH0!XrF z)^?7MCvD#(IU*mKoZ^eHu*<-H8FmWFq@S+pK%UAmI_*0~69`L>5?{?R8WzPwdXT}R z6jrV14|?ZdWpzvpm8kib({o!_b?0%$x&%hl={p6qi3U}uT{-At`q3^+%AAK&si#GH zp!_w)SAg0kQwe-^U!Gk0elg&8^8ewB5aRI6c&4#6!ulnAd;FQk`B8LHB>wxMaL=4j zJ{s=j+wf4h7m@Q>57cf{g2Hy~!xLXHM-A{4OqXP5J4bNT7>!z-l+VKL z8COYaauGs6zP6~HMA#@ACLrVENU*o;dxSVcs|@?F^nuN&Bwf*$fVW#xYO7iX5Q!%; z%F;S*2C$~3Rnur~XqxNiS1s4LS8ZB98ZJ#>Q#+=cb7&f)BY=PcU==frPpk;k>^TFi zbX)|Wbp!Ecf62gEJ7gl-L=yaAi(k+vBrb1~E!+fats)x{W_))% zKj)D#Ows1PfIr&&=OfcJq`4l5G^^tlFutnkKwLamcTw{-(Utv9Y>hey0Z^FO^-4(b z1#EpEq?v4vu6#`d)(c@_$`P-|E{+bIC1Nu4@MT|%H&B`3M7YVS#(Ab;D%3_Bh z`&{`G6J&=W#v%T7*kM@f?=Wm&0qf_+D9mJ0?J!h`AEre(le-kkRE)`%F!-k4IQpqM z?gF9K>7^`8YLOy*vM#~~BSsU5l(<(Z`f49d-(4DW3Cv`L& z^2-}u%Pi5Q@kNP_45Do_NE~iJtJVNw_BNX*A~nn81r3E9S`KjKrAjdc1&_~;nL&qB zK?2bqY>AHuU^A zqEgS=N{6vR9L!;w-p3v$QUcb^XQe$=#S;1XZ@Ne#EuVXlm=aFYN*x_?&K*B}k!(mj z_ac+iwo;oW&$*SSFOnG6=U!xb+E!|6Jm*%PzR24J>T@nrcyemQWDCXLc$sXzc?o3_ zRs1yV#O?fVyv&DQQkjj@wv*77FQJ{MFEf8BMK({{%uO$)NYV1CF=_KlDUyitrzvs^ zCe79HJvd#!>qi(dj9vlk3D^O5cSc+}!lBWa{oW=;zSG(bs!`dJx4kBU1SfT-0h>-) zJ}^6vOhZxGVJ1Od(3~$FynJ$LOf&Kgx$Fc{=g-1w#}PKjHPLl7k!ZzUf(*CJrOL&e zV(!EoY(hIE7@2-x%REwen^?NDU#*oAgVOAe#R*uDGiOIhaWg#eA;EC9T5E?vG-Zb2 zQI@<~b{8tWKpBN~>Y=~u( zs_iV0SaR#ZB0Z!xXov@{)T}CjDtkU2$uCPNHiz5-BBb=0+1QM0XyI6()MLOwtUybY zN!x}*vv5)-Z&Q8;7!dcCbCt?6XnA==UfP{D-%t{;?R-n7R11JaFff2`y~6QgM_IFw zD3PQ#NfrP{+5ze_V7DMOTMm@9w_5p{wRsuIE!ql@pJFK;mqbC=H23iZCIZZc+yk8Fkt0?=l0T7!&BkclK_< z6wP!SLt+*y^l;&nnYD@*an`WVFk}QC)W{Jz5L9nLBJ9&;)Li{J*b|asP(O$RK7dPX zOAWZk<_r_h84cji8?=7vc0fv9f=fX4(tH>>T@XTrZet!w1w349affhV5TdJS4lMaGON+7>t{B=q<+`9TB= zL~qm>Q=74JJ_TNCwhF0bAI3Y~W(;v*{t1p6U$Hi>YOtm9!dhWiURXf1v&s$F6ksUo zOsb%mo{iyo@Ym}*Kb5coTya5<9%5LWXmOc^C%Lc$0Hy(epzUskIL>|^jXrXtKy80^ z&v_1x2%@ohD<`AYqiKKkb7Tc0T69Wo5Mq{wA)2vn-hX}?74@ssNA+8pGnkf|E^40N z-T-wyCbkYl{i7PdFe({|4mIMNqAI6SI#riu6`^1O2;J>F*&21-akqnH zu{`=Kc77pB+3nnc>pjKM08~(6B2vZ>BkQK&1|w)6xWAu1(4w7cSN-xMaEznR0$3t| zRW(4SUMeqDDi@W?C##gIv`%@&2Kd>x5C_Z?z{>;ZDle^^17`MzJ6*Kk zE_;lsldZy5-H3oOV}%<|Qd;(l8(iD&%FbRI#sFkn)7w~Xrsf>*XWzX*pz+5Nb2*lQ z?5{59^uR9fe-!W_ay)>V3=iVY(JrwE8)0Vyv8uuhX(khZE*rWmj)_gYnI`r9rNWm| zt;S?{mKS9(0cSRtq0`taZJ|Xywjfn}q}@+46%o-#cJ5mo)tU!rYx7ae<;kPB+G@)! z|09w8^7^9~layqi{21|llpp4`q6`rC06^sfU^`R>KzOtmx1_2JRwl)q)!LqQ`O=?I zOS}#YNv%hViCd|+<0=1m&h9PGKjQvjhTDoFWWdOmR*-Oj}nY ztT348JdQSiun`TX%!dS}WUsnMrab$?d|JkSX>=i3USX@u=4Zr`fyQcGo=W)9@QCw7 zWg_O4<`BMD&wQGY&*r#V*@UI&9yf9~zH#3z&;^w4_Q&{*YzfoOE_jR)2$+Sz2w6AWTW-d@A`D{8EFU3g;(W)lv^UVf|7ULh~?VY3i`%$qrmKk9$Ix zdGlg3k6QDzdN$NNDLRAZ(XNWo!RZl_%swg>tbkrDHOV|@_$-MJzU{2(hmi(sTr~Kx8bi7beju>ELy$apW7whGH&EYNtfx*J;2F^nqQTHSQ}GX1c8;%aG-Wp7eJ&0XG{iW+P3~>Cp|1T59A*_uxG#@V#7+X&`rR&MqiLb zAAN1QNaR0mYuxVg+ZMN1`E8fmYy39jcAwwQaQha&o#pmMzn$my7N)1eW!#(M|LHO< zlRU#wu$cV2X$zjqWww~OzKC?U8D2U`Yti0#`{p@MT|jjlPUSUWKJeUQB~Zwg0pU_N=WtEqN4pC_zR;;KGYb0sPn+0#o$e{BMN{21hg6t zPtRYHCl40M1Lz0I1MjbP`rY`tH*?l8I>ZCoH%4zlW>65aHX|VRoXpcrOC}6>|~Wn6DpOV;ZSc)KAq1T^6EMK zxolYz8pBO!uHFO;5NB*cswS`kxk?jwH7x}}9Zwc%#hOFqq;UhkWcehLv-~0LuBBx< zrS#VI6I$FU5@jj(N+t==X3_%Qg?2?zufhRtt5M=scswbM>WK@$lgaGgO4t*2w&1p0 z7K+;YLF>i?dN7O>{-*B-g~uMa|9wSLA<>c7z1gImy!HUY+kD{t%OJvjWEAoTdPp(4 z;3jLO8zpS>x;BH)B<2ODW{KL`y09Zv7sV&#qJXwo2EcZaK;wG9w!^g*uJv&3gzMP# zbMF;-&@f_5gXCJIv4TQ|Mkufyt|DnwAhOc66Ru<73hjmN9eLdY??HC~^9i2Ks zgGi!`%tEVXydQuuTEoM{I3tntsh@%K*agXl^V)~AKc2BQDT>^zau-h10KI4S(q;CP z)x)UXU!+4=LiNl^!_^Z@KuDJk*I(g$G=k#EYpDqX=W8okV97f79PF9fT-xIEvQK%j z;91DL&F?tsdb8i<{Q_o1R`zW+OlpK+RpXWw3Jr?nph5}_bV)_CC2|(&ndY(YrE{HP zs(kywGP#12(s6(^J0WzAfCLousyFR(7`(kedRPO7GjYc`H?0pZFxAF+!c|b1VI6X1 z4rzMIVRmPiLNK7j`PwqsU#!iiea5FoI|+i>QnN@ARrPQ)QV&*2HSfU9th09z46@Sf zsd%J*q8YEhEm?#=CCt6Wgf6XO@;YG?GjIU{UV!8|bsai@02W`6Y==n@BtglwrDBFS zQQXfL&84D#{5VD)Xg}u#5)Y3AO@JsF+oht*BR#)>MeepPHCQv33lW33WUvq}QP1kw zhRQaU&*Xelj9nJ-ciqms7H+UeS4oX3>5$nFOkcV2(umX}Pw3|o_`yWJhRSI}d#PAU zd4z{vBAGZ>OU1feDQohvr4xV^29H@ zC8$-1fq?3=AD@25#m5V^imVimM8->~i{aACUj1TmKs5W_HJ zS;2UGEb(q-tHjc23P`l#i=i}v_Cq7pxErcXsSRta#`S7NoiU>7=CXnsBvUnQUh$&I zfUiUu zC{xh4q17JQwxQMGhneAr+3EqjQ!#P&UM8xo5wnl0n%FYNuY?<+w*JYd6i#1Nr_uwA z_u8GhW;2I6>9(*mQZ7zMGAYUKcqhJRdw$?6=nLDmf8&B=0UpFfe1(fR370Jx)46Ph z^>En)m*J8lCvlmF^+XC~m3=z~GU$O<6&9q8yInw{K_D28T}fngW6oDIGFeycZdPVF zGX-cPM|~k#;L=zy->l|BB9E-r0&7BOcnho~Bzb$mT>Ux=NzPMu0Xtrjk1w#wVNP4P zz?9EeQ`C@sZrJAT8Wd4hrtmaUI_G{d=4vP=KHco%b!ex(Kx9Or6x2%DuVp*_i_{O# zkuPkM)k=NIpg%qfXyWX*Y8z!nsgu~0(;8eT&i-(XFU0K0n=DP5(qJhr#UOOu^JzEf6S>wMdM>%3!FzT+Mp0GoOt zn6~cG7p#}*f$VFW1qdxzVofm!)XaF1lvIH=agOoI2>`Y#5NZ7Sl zZ?E(v=&EjS$uKBolnf!yH5jTX06*vWWpQJbwMyOaet*S~s3rq`=aVs{?XWlaL)Kcy zu~CjS$_@d$6V0>GpQnmT?IWFl^-ATKJE~5o)($KKQCRU+g@y!-u#Gew=Q;_uV5AdT z9)ks1KmfK$_V@-!1-ikWneru>NwSXkS3uL)sBJ5i*J~zoB*?=`Cv<|6fgT z5n3RY)L(D)F&$K6M7L-KBbtojg$~cP6y7z+L#tt`g`mt{$ z*&6NZr(NSofG_(Z#{4Mz*J{ts4Lwc$ zLvagGjBK=4*;o#L4Ke`c6Pauqnltxsfyk~gJTK`E!b^h*TwiU@UaX<@Ye_fzj*hd^ zh-SY#E;6kCsXO<_xUT4f`>3W&uh9NHuXh&VVIqy-(xD+UaB?!vm#M|Ez94xfF+O{( z4zaMJBsHld+oUfU4sRAbg_&KHK1&;P3iI8FSY8a>B3=(P|4ndSP5cs~%y;TSd*v@1 zvVS$pcE~~6Lk^5)`9mPReN}#jR#~~@L7kyQHMLp3HWW#s`e;>u z1p=yCHz@51PSf ziQGa|ui=fvm#+%^_3k~iXK-1xDY{v_N^DB0*E%Q0yHz} zTNcu314XQC#FHump%d#hQ1B8$an_WRRY_vdkBLx?BQGY4bi~&80MorTl@8OdyJU!d zb=Rj~CpIB1U){&7nSFVUo@(U}ax~C4X^Rnx=FA#|k{SY2!T^CsNU+u?LDdpS5Wt_? z7gY6{k=ngQuMO2xc_6A<*(a)z8lHe6L{qguQ}-qkv_w<)CPq{EUodAd^oHgZsWM== z=4PA2ZPr4ckQiQ37C2a8l@}(YvYME1q9mHLJzkx)?<^}@EP zYI(g*Ss>TFu(Dd8vRIaN%5t=lx@G6H0G!7pRmpou!(_}`gW=3ucc&bDVodnppUwD| ze}80%mLtf^8T^YzN`AS6|5$(UAFBpm635FO{KrhPT{ifSeZL0(u`>-md?^TJv5@ z2vu=?PGChLS*wnU6F8;!=h(mrET?e-=M;ehQLp(cd%d*H8r7d;VKGmg8W~WZP!SGH z)S{#oYZ+3E&V-;6q&Hq7fnBC}T+MLG)-707oXdnDm297W{Kp3ErM49%qXW92hW#lWT$ z4mrT(eVldH<}=P;pn7@cve=-do-sK(jx#g8NJQT;alPtZHpJf!0ii(!Y?{as;mRao z&qu-)aZEK!V7K(A?0PXGwVp4I2#jtmdnjBVwRDqMx~3eo83cedZmMPzv}~21=kVCy z5>B_uC+`{)ENHa>8USBfy9goLyn3HQ3jh}7;~`T{vUv=%7XXwjU-<^}y7SUZ1 zum!c}678+z*h6#LZ6gdxFDk-%OED<6(s^=laBDV-yyAFFam}pYKpa97}=G>wkZS%xC&5}n8T4e%^lrW z&rou<(G2wreAe8KG%;1j3!;o~%Ih3Qm$!E!idt|HVm`B{MHU5o$bf*f7eunH(Ke2P z!-5=L_R~j?{tpV2KK#$xGO-Z{*?JU3F@H%MM+9m2zbHyOm*MsH!@Y@at#er`KXNg5 z=sh;_&m<(~V||TiFKe0P@3nq%dvAgl`NRUslBWCr$aa(R83tLpOT&g740~2Yq~2+J z{^z9$M#B8x1x3r-;{Zh3xrCr5bz|bATpu1Xv*t3Y{T=6gygP zsSJj@DXW+f*Xp6%<_xAXs@ych{C#Xttw}{ynuQW_iptr2O z?nNiZyt8TVQ0^7&W!&Hs79PxY&zx1e-IrTq`2>7WTS@)1@+oGpI_w893+{xuDUT%l zm))bVQjD~Oe#0$s4emI1z>YjXWejq3JdmTwBH4b-)L`Uju*C61j4=BKUe;x*nBm&l z&Qi+JpRs*O%t;_&J$sNfAjm`7pN(`Sr1ptdr~qhRBJnaUZ9_-(Ar1fl3HUGPOd%ry zSbg={-xvmf#JF%fKh=8}gjlL@6)Mt1$dh*vqZPe&0Oib*=!JqCEC~A-d?1vr?(t8E z41f%gxoW5_l@|e#%jb2ncHZgy`=;B@7KeGox!h|k4oqx_(poE9H#RlBX6?-QM5oiO zC(XFgUO&khfl)byvit4Ctasm__0|1f4c)IDBySkp_6E0qK9u>dhwcffS(W$BcyRx< zp)7wnbpMk>dF~pz_a+KpN)na-JUm#o zP?*eLpS2gQ1oLiiD|MeuRdr zhI)`oL(SBop;pj8^DVwqttS;;B8oFZreRWM%a2)wR;bCaEUODNIi$_{OnFupuBugC zgIqlTf~&|VTB$oiHrd&!4Ca88A-ILgI`3=v0w-&=7-f|e6V-+Lv-e?M&VI9&EasTj zl12T~#A{q)YjgoTgoN5o8DUrw+IdJ(SL=*Bo;w)%v!BbjNBZ0BwQbsYadbYnN%mml z;^+eVsw3+@fK#Q~j>T7xk8%3$Z;un#COhIGbG7pHu%A(@4uc(AvGgLY}X2?*4d?89{ijI6g$VDL&b!){6FuZ^>H zi(yA|h-s9tB++`qW*VTKsTi{B>PpSJQll$E0+7NtdFXD_PKEWs$uG29+Zby*nFDEC zM*wP?Q0$GW41?;2c(=X`JX~GQerMdai?Zj?+KX~b1_4&UYo2;Anm!mnf{e^fDwof| zO%0zfYw-qwE&Fqhx67Vi3I7TKQtL;+6iLE14rxG$RO1j2jRW@rF5`eWh<=p)GUvsl z*|)(>10;z+Yo|ei&YZu|G__3;Ljdr$jBEk}DT6@1$`oc}_&mW&g-J*4TFn8KkY1xYw^uy(nh%Oy*d$${EC^ z1o?lm*L7O$|5miCxG&|&J5A&%#wTjED2ZX^YxsDAf~L?^fX_7LtyNh)n((g(n;o|5=6!NJ(9+wVm6=OQw6uEw%Yc_K|is-FZ3up5=-mlN+c{Q#>Z}RnW z4Qb}HxQ28sfrF2;;uUC&!kth}mcQcRkL`hyRAv4O#U#;V1+yIRL~)WbxvkGP?Atj$ zMnxO(UZdd3d(c&QGq$Ak`@d zzqSE7F!RQfS^<9vrJFj5V)3h*Xw22gCRMB~3)ViRZIkuD-XZ|eN~PtpA=n+hNVHXH z_$T?+IW_zox+sm-SjA^s>DXslC~Ni5s=irSh1SvK zjc;eL#h_M#m*pN>vktd+6cpUyaQqhffQ{3Z3)i%~cD#s{Yl>VT|41$jY5RNY;YC<0 zP!zG{h0NRm<#d&nTuQtl^Pr|}=hK2Zt8#0nx z<2}f&kr~R3U@nOr?{%Rrxdp^QZVlT|?)9FVyu^#9)uH|cG zehrD$08&!&q0kt-W~;2&@%v?yl?IcQGOMh3+*Vo7R4QSqtE^`#l`yJR)-#n#$Ue_X z=TkKhsI}g7kj^s-wS5N<_K*w4Iv2%0Kv-)`I+wbJ7%S62uGq4hAoJa0f41m@O|z>K-V1ZD~k+MLDfOHAMB+!K4;*&}z_l7c3fULvf+0l?iNlI%XZ zwKdw_QxoWd0yoQK#-rAVwNpP`ET8*-x9Wd0kFfnhgd+ng^PFc>r()1=PN9Ra{={qm z$)1I+WM6CKa@J0=cVzn2W9OaNp%uQJ*2E*NiT`F=1HV*jl4Y%th#6Zu=&73d6BESG zsmV8-_&F^8B#X30q@|yh_J43i--Z&k_akp1Nu=1cbum8^r1jvmZFfo*NLsdHgW{$; zHX6g|H1cqJA9)}{)STRT#Qz4kClq*blmP-CAa0j>ZxLqn_L18fy;IrkiyKQ)5 zMH!^IOzR~*bi*rFP*u7~<1}AYio5k$R%yd4+|btzhm^ExQ2B*f{vo(J0p3eHcE-@;ao85-fycE`z+UNTw+Nf;_sy0b zx*!C?+&&ed6Y62`SuOkP@jk{al0m%6PlHulDu$np(yT5TE3kz`EzH5bRm>wevq8Et znvu$YfnOZzDg>KVBG>Oh;=5s<+`f?D*#U(U`6swHx+1bXm$)w5ko(`3F)O9^y^JSo zp@?Tb*{c4xbwaB+`z3Z}m<$Fw+CRfVvYTS=r2&hn}E}Ixjs7cv!Pub#^g~5vpxm`TqBhk;j ziylznLmWm;^KG8ybPu*t2$>7YxDf6KXq|e;I@}F{p3}B?YvOo$lzFhap^TfNUt7_*Z-czj_~1T1sMZ&4iw!%x+S=v?QQ0>_2`iXJrZ@N}OcjJHf{tmh zPr1OqX0wqs{ASg^n=Od8^v~>y;mR_$%EKk5+Yeki^Y((EGx!de{X0*toFnWEhNU@8 zyl@psKzeILV@tkCk7Qs#q>7mX1qUYlGn!X6iD%}!d%PXexydM=1ET2!b-GJnB$Fs% zGDt)z5LM=5%(}YX;+O0Fa+P1U`vpUYvS`B;7d7dA3Z{H77&s$h0*AenkGTl$DF0r07Q*Nx#1zUOKDVYKZ5$|oztRc$!j=*_ zh+AtYjXs96?v1K7@(t?YN7>r?74rsbvL2SUmWi!-v-3Z>@EvErmI(J~HOzuqGI*DP9cEB8MB?1* zvfvjj?rH)9c9gC*f^S&&ET8V!ghy80v13@fuj#{upz6fKIu=Al!2;|uPbFVvbO_;h z>3{mYe|g6{f8h^)@mtiyW-oDH1`X)Zba4_<3yv;?wX(Dp?jQ*Lbk+E4y?h$ZA->tr zo-=CPZM@oZPz11w6{pMA4t|zN%<~L0+o3>-nzE8AP$Gq)#O;Ji8DV4E8M%f>124n`J({xTKsmXUx>qwUnWA2Z^dhkas z>c9)rI!?wPzvl#gYMZT}nB!Ox7;Y#7$6~+UE`NcDDP4>8eB??>8~v*M>ZkbbcKV?x zOGkA*24^Amy0*ENkM-YLJ~*JV-N@xz44QJ;*3PGujhA$6+y0_!2rQE+cZQ2H@20t^ z34iuR^p z`{+w3XK0GHM01q-5G!8#=jdaZ29-^;;2Jl(O}Cc@lfd7ZjUanbx_koT>@%7^byR&$ zbbHMR3bO{5iA%|F!0tt|1Ah63bBJs?rSR@G7LD(;r5)K2D5^$OhK?YSa_-T|%|x1E zGpcb<*cdalZS9k4MLTFg_TCGMG0GX+8bz>GJnrB1Ds~KrPS{_sgJs8bNYA@og_9=k z=Kz}q1|2CWzxBzV`Xw|YkqBqH=@5(&w6!>4r+&!*al=J6!|B%6AOiD&u8CAI3|Lpc=1{u^Q^NAFZ6jCNqo3OA}alBw7Nk z%g4gm>Meg|u0;5XF6SapR0}7@aY05JO)+NF#Y`{K6!0uSvX6b7-TkUnAf`hB6OeWV z#Kg1|tvV{d^YKsJ0aD=66!UZ+Y-$uzpz>+n#wuu&l{P$hpn#K-C^9Pl{Hu4qgRyvt zbqq>cohlK^AjxPYNy77={oe`K?&nliyB1nFEQ7qxlI4>VQEB|0eNg|Br`=Rq_@c&kMPe4e3Ao3j01K6n#;9 zV^;Z&ccI{ZVZWR(Z!#FD3PqjOF|V5H1Y)bR{_w}H6=k4oAh&2q^;*>e22h_3gf-B0 z4b{NFZt=^u&bu2)`?gv*1a*QgPk=VQh;d2wE```jPse1DE~Z{#xhCX*W*}7lCB(JH5}`!k&Ag)yCWIv< z79J=bn-DL@_L?9dzhsDftk)FwPbhxDJQpGsV91JXoMikuD>-9@6r&A)>gnubWfZxX)YJ1dKW%&@+VrbsGij6^g&oC1vRZACZ9p?>(AZpn4O!a#9K?kBoF0oGp+b53S z;Z-Q0PHoASC;paTgAnF4*dY8dZ}`d1Pbm(G*_zz~2A(4ETqVs#OpRk2>mouB-6#5( z>$6PwNH^scIfzFr2#X@fEs$Zezgp57r)E!G1tMi%APf2s1=I+D0yoAnIw{P51ARnj z*t|}T3f!_1q)WFLvlP^BdktXGEcAd1zi+2-93y}%KkAVd(1R->3><*0$y zN?pI%7HNnbeWRlZ7(z2nQiE~vSj#@Q!5S$7@t%>#@_K(k9@1rv0&U?;bL!eP?6I`c z`B;zi3i%EaKIWznZfCg#Rr&Tp8C94VEsTj3A{cR6mK6egRPhUdRGbo^r`Nx=q-KrjT%uH5CA8`y_3GUk=b*u(aJbHYafFkqC7aaGYl-t*_H^!QVy~%d$zlUR-1U4$m|k;7WA9fX(~yqEXK9Ixb*rwAfKn(QwVj2_koRhri?j_zb=ba-95 z3rS>AHnJ4x>$2dNZRE#7p=Emtz0+LiDeDIK50@L|Ks4^-BwRL?wS%PABVsiQ61#!+ z_o$&{^`BjlZeuk8uRBpsqd1nQCTLK$4wz1olXaG?j#tCUIbJ}t3Wb^>!ECGp#&x7C zdDVrHBKmnrHl;^uw*s-3seMHOTJFmmRwQu12$3SDgDv=1ggxPkmnf>Um}dPB5R_%m z2|BF47B8%VJFYX-enZtd8#GFJ=C|YxOD8id! zhVp`-aVK(1ie&3T4hOQX=d{7DL^=@2y)CyVR?3x_`-PPyJrTG}7X>&Zju=hP-mM`w zc|AvZ<&1L`z}@-Dg(7IX+oEFZZj(sb?&ejP-LdhCiCJIhj4s4~hzHu<8vP7}$g|5r zO1K+^ngs6dihHuC$~_2LNH6c)nLgaP&9ul~6H2G{alCI?f5wpy z-XrHkN{$FV#vU8aR>zxq>&YpfL!rdrU*0lX7b`VIW?^CpV(H|B%fl{syb3BX zb=;Uw?;cOUeDp;K$g(SI{)*m){0Dkkq9)f3`SgCMVWN>lV`F2nT=zt(cq#ME1k}`p z6Euq%(O##A5uwLn7rZjp!t?U^6GhKaNh!4=&*x4Q8$9LUcr)+iy%YHcMRMD?hsXK+ zygm6`o|_}0npQOix22|BkmR!$3IxHupuNazA#v~AAv(~OG)N53iz8V~*H}4Yy|w+a z&g;$Rc@JdwGI`%txnyL4vt*ImzsT2~ygct}%`-rx|A80U)klbF`?o|)pjrUM_I(p1 zK$wbgf>lr|d~jSdSsUpMRODTJKn4*z3sF?G5 zjD7Ewg8^No-%xIj>lxm1qO$3H-7cE3vG)V{hTbc3)Hyjb=(s+5)h>y-^>#ULOpqtd zCycI_^+IlIBn>y-e9g46t&tZvTyDsV>*geZ^dI-~D53h5IVhRGQg5~F7asLia~lN^ z{2j0we=(IJHnfr8Z{uVm0*A!-d4;vD)#1SVsPm8eY{q7ESReL!eEREjFwT?9k#h1B zcFqpTK=Sib-3ZR2w-)|{n|k&Qyf^D+de;;q9@hB<*FE7Pxv$Jt=EJSg4F)5^((SV_ zb1Ha~j_M?%9HhZ;*!bWhGqP0B1wP+$Z5HR}A^DrUmk%W+)(r zZN=^+U13C)>}2IkS~5n;O;T5AZ>{w9 z*3@1cQ}jyhZ4BC*s=YutwAT&(nmAA;Elp<#*ZM85l_M>0ajMoHGFZz$mc(tT#MN9u zMRE2OHVs(pRAe!6SnPYZb6O4-I#e(o_7qK~;6fYh3bv~vUrW$p|H)W+>y?0S>`M7? zbzYBqyFxLhR~|wxx7+wiB$*%Q8EhXb)BTF^MMrF|fiIX@i+KqLBrQ@i5V~lV;yjas zW$Wg$PUB^l*Ib23y_Wqhy|1GG_n$F{nDM@PZ*v@F`Lm35K6gm&Y*B=75UtXV#4G|S zQKpM3@dgwFr6t)>%uqh*<@L_P3Bgs8MVnQ%a&;pnTHadlStU{yzqcd8NaWG|HTu~j z5eAu36R~7f^cZs^k-ZeYTGW`Q0P<5u$24QH8_1Ll1nQd)^x~ljvN=&VUu_7Pfivxf z+9?}Wkzr5q{Rq=E+tAunu#&VEh=gY|?|#e0N^%b%?MaIDQ~$!%UcP1wV( zTb(Im-}JP=9YXi02~2}FW`zmes7kb=gWV)Pj*SGTLfndUS39141|x~FGEFUyaE#L7 z@!Jv|%ktX{ZR*+&dnFEPDdKIm&$ZuuQ35BVnr@^uYVW;3A>9a|h#jCCvCQSVkwB8i zW`5w75#DD-XvC8$6$6K*qNa+RaVp?+W3BpgcSFI}V;z5mB?a)amU5wPj>OPnD)DxQ zU$(>R;vbH8>nl(~h|0OfY*3LLiLP4SjUv_MihZ>=zFd+M%JL4IL7F{IK?f!bZO3Y3 znggjxia&}iok577%(J~ko#|sQaug4FeGVZ%xsE4tNblhi^`MbT0SA$(upM- zGdeCQdWtDhyC>p&dJlv=xyLqe;4MJh7v?kC&0950)mow5V)9x>fP|SI;imJcy%bIz zZ=xVDnmYgqvB`R%X=d~O?8_MACA(1Qf?74nOU*SpGurN0l)c99P!F%-P6`Q@B>H)R zK4;g?g=cHJrscOdxK?kKb-Ld!#0ZmYXcz*8Gjb*%`3tERZ*ibrkI>E2)x{L*5K(wf zs3%I?T&}_QUR`4)iCr&8`_#$j1rQ9D14YoEYif5g4_&L z=32^Jw^W2O2(Nulv2KCLWW1Epm*s0tU@~2k^U=lytwQRf^|`l!TjCs3y(+q=$QF|O zm4WM0RXU&NYmVoWw6;f) zA8E=guKk8C_RHoMZT=BZPlTO6OZ~rm{^5@;<@08|UNXS5D~OG0YL|g$sGY~qjXKO4 zK`yE@!r+`vVeez#S2%@|9a7p6l$J+WxUAl=Gmv+L?gmeFi@{j=8lpGhujS7E{hESp z5;(g#6+#!iG10Cew~7;kp2aBxKf-yCNDhWj3Sih<)aLLPMA8F4 z58q^=H9bRk8)h4(oG{yPha-~DHi*R4Y-9P3#PVx8K%XL?R#uyOl4ESkGXiiIf<}t4 zfU&~#bgX-;{UiVKS*KYOwfIz{9R!+t*mOUbJ8*!r;S-i}C%hU$)dpAt=VrEH_*g5@ zxPnFEtb?&*rH7!^);bg(CNA1ZpZg+24in*7{3bFmt2xZmD%TpsmY);FbTyp;eB(+eVh6?K`Sc_N1{hy|Jn`9w|Bm&Fqe6q5%aYBiv#pJ`?%TqC~R8f`kD_;*bzQ?R6|I)>PvOFw}G8@FCoV8K`T+NU`FB z5u`A&hM^OWnuRa1mCi=kN`@~9*VQ8-pjIjn4}>1_ezU3j6224i=aZEn<5B2gOdG1n z-3ll+9_!7C0}as1$H`!vv~(=Nv||?4j9`|A$le-eO&!Os28M0albGct$L|^78e?M4 zrm2YoE{SPMS1JP75#1tT+#6TiViYN1MAoXKalk_~UxWU!DuJ`q4eWQvy_w~xiD=<3 zk73Rf1d*eyIAzxJQO>#wXj;8G8Y;LuE@lj2mtv+Z@*azewH3QH`<$O6IEcIW`a#j3 z^GTd#q1pJPb@0ZspYbcamC{zzzP~_Zf5GWSeeQv4gZZno(7cj+_{@*iX#B%w@;Vr1 zkeC0Ii3euU&zl&@Wl*x9_fo#K-WPM|fJ)Wgc-Xi`o;yuO+0yYKi&$_oO<(ap7*8Ny zEpzA-slZ?kyaOYdKAIj(fh0}&81FptZuWid`5jXpdY2*}EU|ZsO0co1nheQTh z&w^zT$nd0D9vhfBub7lUH%tr>zw@C);{E+Kl9m~#A>B*@i#m*IJV?f;+2vtukH|fe zj+i?nT#^$~!2JNex5OvhGGEG}KvPf@Nqj}Kyp{~vwF(4J?E`gEa5o7P?G=BHoq@OP zJs57Tn?v&KR~f0J$TQ}EQ|tVWBLA@kQk)fL{Kw7%cEZ1UnNF!faO2!a9D3t%qQo@J4vi`|ZVo}r-EAy(qmgU;FUKsC}(zIpR<)#JTiFtDrYwmkyJ+A0vQjZYg^_ zI=hX0FkP{fqgj@zllfF)E$3ZGFVLb0*Z>ywGjfuV+4L`2T413^hx|19&u^jrYFT}s zwFNkN5{u|pdCIOq3jLA?HU^zz#box^8-PTsTp)55F4OzVIQtd0nA2o*`1lS9=L?)8 zG$CY(m+sN?_CmK{NV0Sf`@`QI^4bO6Bwi{e?(wwb4l)+mJ=q_m3_4C2ZLC9WHCBHo zFOk1?TcYrM-sX!4W_j5U{ncIDmss=vpzR7V3cct}lq%mN+;Fr65b`G3w+JzlC;dF^ zF=vysEH)1G$z%qg`|85p6RgB##%}{>v^)1-xWwkEX2l zqI(GStWk1=&s^Ea$Mw^l6AIX-vhSr=XoZUkuHay-L*^N}g~v%PP00mG!6>tbpvtzn zCK%)~?6<^)vC{*2e5N=xMn5e0(pyC`hxGaOG9;LK3i_#8LDe~eKH z*mvFByLEpI7G%mze8o+;C1sDX{njedORJ2X^%{XoT*t$rVRg|Et6hxKT2M?5Wn;;3 z4fC&d+sGcpCo~veLh_Oh@N-fpv&Y&Pb#H@VphfebDa=U%PZyzja@pr5Kec#VP_)~V zNNIs+_G*!(j*BgW{OV_Z^flVTH%b}8WTrczF+NRsmi;NJEdHO#Wyjl%#e43!le!rB zH;|wU3b5UL#-Fu2(D2812PQ+i1B==Rv70zdvb#8XO|k~<+QTF>33g(#2Bz8r(YPyb z?8&pcM7rtX5Kb zj5J9=QVj@CQa-rIx0?&R*4P|z5_W(j{5^Zg{r82S4u&DM(HDfNWS6^@F!~}D{o0G} z=nHtULboy8xS260&B!3n0{*`X8KHnY7++g zA*S!0vT4Ii?0h2O-+h6^`742>zyrZGT79kw=ZI#t&JTH&=)kart{jp!C;QMD%UcfW zmUHjkX8u1%F?HR{YS4a#U+(-UJ8j&SS%)8{HlVV{h(a`scz@=x-D%B>GzLx957M}! zO70OUvTsnK9BXLEfA2+VUX}AYaMWt$uaD7iY>b#1o1q4_F zaK(exH`{QBtkO^E?Ck@CWfN>PK%ZTnx-hzwK=*lMWnK_qBhy-~5Xl?eLImK2(vk&2 zU8ZFIt4+y~B<#SWb(A3|Zh2$D>v&HeSw68Bw%ltOW=@@9N56rwAgj#)5wXS;SgK#C zg_)#qmix6ssyl}s+yRn0kXs*h*6~x$-kis5k!PXr5OPt*1VJ)cZnk&*H-|buM3t&( zSCN!I!AyC}OUMKW{F4 zi@wRm?7K^_M4W5ej5~`4nqEw`{UQYi zJnWSFB!tHBo)lVcP8JLGJFu+hFZm}b|Akm9b+>xUjOWFI5&2*=I?1xo@vU%=9gu?q zpJo$?t_?3#He_%+@Dejxc#j>I83*hnVo*t0Y&|(3!k|67J6hTlcYwbt4Qc{bMpV%* z1|})bduvg?e)B_T|PHw$tJ#BG1rqEAFA~_30Om&s> zD|wO)DVlZY{DL2=LGVjpMt8bKCSB`FQG~l&vKSQ`*$K<>3HetI=0a4AuV%muOTR;A zB{{iZyXJ;(x>V3)M!{mmCgdZ}u!tnD^5W!&hx6;NLE0j-!3}4@`<_uHok@qF4dIJWcpw>PjBK zf$30-Lklg(J_1RIjNw2B-88{TCD*~qvGrs%YrQS`ZHp@Er?MIlD?wgSi~QGMjJQ;tV*akZ zI(9rLpxjL3Ol)y>&~7%yBE`XFEjK}KNq~el=iaKA z{e>|NmYNT7iB4R@3!>Gy5A|xd4<7Y`Vi88j;IQ3Tgo^@-rC~6+3~Mv>txd8O$#*ub z0JY{C(Sr%^a9zFF3PKZ(jCmxH(RniK4Rq6hyeQD0l`eRYITdTg4lBQ2Lb6E?vy>uk zQE$lT*Df*UG!!5BIl9sMWEH#ba4#KZfN^w}l2HnZR_)&NY;_5hT0yh-EEx&|K#%Sb zo!wlmYwd$u%({jT9QN0Dj`pN=;%$^~$K+rMim(NRN@TpSvrh`z1k5QW(ZG~u?c`&t z8MAdgn2Vk0jKlkJDg7Ne!5OX*gBYYXq1|@m((0|V)zLvZfX7@%|1jWWLRPhvTAKy;zlC1{x4qMW_6|0uGxUpGXlN^m5&^*-v8pzL z)L_ssD}9xtJL%M+91atUk>sJS1sQIA<@M3<-gEuo&vRM)F@WdTt8?8!hk)!k^Ha3i z1ow;M&xMd6If586-2}}iL1RE!bM?n3wzY;t!wKKW!!=XCWn332M33I;hHtp>tD0D9AB(Qt8*F=UyBq^Or;R_P$N;Fu0}%Bu13-i)X4kd z8ljp#r5 ze4ge!8PcZZ$*R3Px1|02+jo^-Zb|!zw(shthomd>>1vMA_M&ixyQ=r%TS=wXO5aFc zt&#I7?Y5>)bmM_M4sPY4f0bEqD^G2n3~9}^)o2qW`r>Pky2ci1hYX2h!aRiDhyUiZ zU)jy&M&6uOdQkA8|8h$y2WaVMzonFj4`nQ*t9HxWJG!%1q?p`%IyTXZV1+(_;(oc? zcVPw6hj_3W(-!m!8SFB$mBH>8v3*yIop|i}fC;|EMtiS>_gr17ikChKyaz|2SC`Wk zMUd#pP}xmziVKX}ydC+Gcm3Rdk#1n1|3BC1Nt!s1O07g~2Xm2;u#RF($52BYA)c)%WB*=%}#^TCyj{mhMRd!u2G!R!^R{xF=!X zrJj@%%zxaTTp0+yCtpD9T9sqn(M@4gdUlcfk(zdQvtpb)VGc%DGdF8CIuAx@W7&TW zf-Z`dcp8FW)H4Q6x2vw`^iten`~k6$TGDZrKlFF1IfYK=q$9((lk&D`-e3%l`;i^y zRX7^64i2W~nMC-+{-Uah=b20hal8~5UYA}-4YzGj^}&$Pog+@8)mbqE$OC>heq z!d%7<=A5Nr@Wl&7G9Su|H;GNx=zB;G>S}%gHcI|S9H8`5?uIopxEGK26Xy6>@IZO`O zM4s%P$^JX_NsG9NnQTJgw(+$#8!+N@EpBOuQW8m*%y-#uY4>=9?|KgN9UliNs%rkW zw@+v}ZTB?PQRLc5m2`wyaGMSzu*THQbaGC*h6e|k*J(ht($~}94lL#l2T{LvA_Blt zb%15n^()~(5PzvyN;1wZsnxIc@wyz<*W`qQ6#_xm>Af;|%xzk9uI z^LD!J&Rch6-yjLXUo~MP;KQh&gF#j?XwEYt!#-J8bej zUs+f2V+*Y$<-MWzhAp&oEMSx!WL8<{Ye7v?i_t15Js)*%3+f>Dye^c*JbMn(WXMzg zJVl41N6{tpsfA&fj(26oFrJQq(Ud7u5Na`(GHwHnS|44?Fnx}OV*Gy=j^4@TA84D#Zmlebr1UJ*30RB`Ky>7jg z@qr+PV~+qiiXNEfE-z5S_P&Xk*Fk{l0EwUqY_lE!hm*Y1!Gu!g(-e1YVKl9tqX3>N zAX^Q5j&*=|mBho9L|~iVt|kAJFDZ*IkLB%S6ZaKK6U`<`zu{_XN_h>$PHQI&1#YI5 zRpbOv360d;Z|^NM4UiT|TQY?WbPD&AO3$+TLN*GuMW!7S|3Q7PFIS6w^fJtsGw`98 zq4&YkYwu4dRQj^{$=&XNqDgbUg;L)x(eZ}tQV-C6_%~|-9d*W5*lJj<387qr(C);` z)7Q|)Fbd;&E86vo@QgObqHN$u;vYnKFRzVGuLoG=^#GwTSLzIH{Xu7PV!@#&$vY2K z%rrpU7*YRRXozpCTR)5=j@<4Q`kxmm@%(;xwe85GX?UJetkqK9!vuMG1`Up0>bJPl zFNG2=nx^+Ld+}hR>NN{Q4qK*-Ty&z66T^5~h)>9Ro68sD8lMO1N|*Rp0c?u8J6m|!o2A`9}PF) z&RBX!PnI{R{?_yJ34WxMSIj_1em}&;z(uwrpCA4#enJ^=sFjUMFnK`dA@IycVj#zL z^Hr{ufKy>aSrHAvQW*n08tP01OebDpzZ*wsaMh}IzSS(Hi=8_Z@vvYr37# z-$3{|A7&#yf8K}XLit4>-a_~#AKps%6(7Ey@V+m*a&91ew-0Y8%m_GyTI@<}V$6%w z-FiWdyRV4E;Pn+yt+3`&_Eq`yXa~#(n;IcPY~$A9tUB&gp4T zI6KzEKAw5aDu2j7pX6CoeALH1<)5OK;+yD0P#rJDy#V$38%S)sq3<0P$<-_yAT96Z z)qEQU`LQQ`$Gwbz15Wb$+{GaV>+CFdRlK6uvU7V;lE|lmb9*QQR}MJoS(nNO6~?Df zh8!)hyYqzj;f$6QXlfj}{o zkqW660-}*t+^Z;ezH*CCtxpM-exF;J&`^H(<90iWx;>@;^WUu|AH!aXo~LgL%JA$? zeN&-d9Gf=IRwfB;>xG5KY@?lJ5{hjW_+b5Dy zafn$zue08&UPII_XQK@K`c+!5RuMqVYvS?1CL8)D&a3AASW{V$&pnKfCvIxo@)=5Mx-4d z0Qg=}w1eyS4rVQ#0?>h&AzW(8+?e~I`J1FILjtbThJ1i4dNiX~dLU!)D*&(aQA`}y zx)=nhq8|C>6HIbqxXFE;?0-#N3{!BC9tA2alH(Pzlv0O(&0Qbb7>#9FrCsS8vN)eL ze^w)=GsLd#ItL&`$jkNRmu&Nmr|hP|^3^eaobi7vnTG)1vyG{~6;R;l)h znf{_^+Lfo^Ru|kYEsgSQVSBa6gL*=FvZniV#S)*Y9EPBE@$RePpd@R`ii)E_wcUAb zch`L9a(sd9LC5)oeHl=`hzvpiwnfWq{<+kuFTW8MRt}AKF!S5-8VYGF8{{6JH4O!8#3u*(c1LyOB4v zUD0qwDt@yH(ohVEtymZEn%spr5#A-{f!~q|m&Pu7I;7MIJ&f;PaZ()(BF0P`h>3}* z9%2C@*TDLi=~&e4|M-iQ_e(C&{~IR|P&t?@lyUxqpdGZ}M2k}5Oh6}$_;QeKb~`+x zLl^}|>z{M6lV`0%ET7&Fl9p||Z9%BLU`B0^IPU;9nO<#FJH8T#j0_7{H+U>S=paG% z_n|fUF8M>2*$+mFY2{rI8Xx$M43hFC$ek%Pd@N%uorESv=6ZQ z<#JWqje=N~S{y?$7OEOmvB8Jsi{J;09##Q?7mrsfxR2M2Gtr#OP&!z>yIrH8C)9ib)}w z77DbC;ir;ycA)bMv0ugq7kmgBZ9SNwCdK|mKO9qK>nnxsNzi^UYuu4lK9%9)a5srz zzBtd`O?x7H#X{n(=98Bte`#J#+8Vy}AErTbTyrVzHA@0@tEO>%?9gcLL6i|HIGr{1g4(Cm#D-t79#YSRAEhMM8@c4l?>Y4$^+^}9E7+= z1G}BnAoDIsSCHPdWt#+xGV>)G4i!b6Ht&6VEy!EQkbg7eNHVkY??vKqMzFPg7KnD`WT`8rdcu0l+xk{ zQkxiEPVJi2KEw1_HmZ3mDBm@M`45hwwVW2GrvYmDG#TK}1XQwWNebS`k^BncXK|EAg z0q3dm?&i!Q#;(OlK0YBzawN{rQ&1w%C?ab=hE03pG1w2A1aj>KXKFr{4n5`!)JNwR z($-_xso$TD&SfLp0b_&|Qmc}5WV`S*qGQa-qsXojP6`O*%gy`(Sd?10+nmIu9do0v z%ALble5oPCrPXCX&YFvXZkB*0Zr1yKyw&Y(}rc5br4goMBWkcui%J|4=)JkS1*4ux7# z0gpbW=z6dRK<}5RI|x)}l2HA*pq@?W%8|K8 zTacFABlG{pEJRe+%>j6LwTNv+4VB60C2Z|&`F1B zO&?~G3g+g?Fk4$TWbJ;ps_*F10%opGH<*bM%-oCKgIU)Mxa$x&O_4POGbZOEe;ujd zf(9a*GK6JoRm&&jK!J`lA-c34HPj;7DuHZB@a=8-Zk>rkMysk(5QFld49eqQMg?iA zP4l$CIM<9WuBOo*{46^;rdvV(B6%^7wbrcVuQ0FGci9ed7$fe$=z<*@<={cv+Z`U78CgPh`Pyv$b}dF#T&c+f0&S7pkC5ao!+rveE9$7Muigxn}Kj>I%! zko6gs;#!k{C|Uu^l5dAx4dV4^)z;jG;(ovroQ0~b3%Gjr(-HiP2@bXDOXzqM0z*8W z3-e#UG@q*`9S$z&n-m&xKb8Ck=XjO0fvLGHKkgFADw>`kIoz(2{C${Ve@%z2)3ADd z$f;9MGA0lRH+B`12k zS=kP^)<-W@E{k4f(9qWD9dfSql1Q4ib|{kX3l};{Gpoj zJuUa+BzY|rm0IIkQfh`(!q&t;(Mrla@}%$;LaoaUixqYKqF&KBg3Oz!yQFblg51K_ zN^bDVf)aY<7Q;T4s_Y+)wtYJXXwb&t)J*c>4X+KUXb+198UBQ2d(Q#&r_0cAr#2Aylgb%})Mb8tfRn3Mz z9B|ZHew@pyzPuh^?`O_dd+cLTTLsB+4EZ&cPEs`s&Sn-D$9{FShc1q-xM={M0FIfe zwI0&^teu!Xl=(+5WewHoc9wxq%edtjzk_h-Y7T|S}9geeFwvLYI zLRIsvbUZ}0*l!J;!R`c|5ieisiuxbvY=Dm05?A*ZIN$XDW0Y@L0^^(hF%Zs$d|I)0 zE2aKr`3~N*E}v3l`S0ZYs1KlO&!2p9L~&7V=e5kFKn3T%+^n&J3Huz{HY`74~tdXUe_*8>$MF?C}c3GyZzQ!4E z5rw)zQJ{0(e?zC6R*`H@OY8_IOQ6$<2$iyM206B0o7Sc@sGKrIhNl(&qw|GnT#?1= znu%zV&Fmxf-^df|RBTuMXbVgB{Q^^E~;81knM z*WW;(5=%WMIM_GOBW_1RZnv7Ny_(Ik9s}jxcI)Drb^nhJ;Z)uf0Fna$_Y4MrZ5D(M zj&KL20Xh^%rDvhN=|Fphgw_Wl{KeJ0qeQkK*?OqHG59jLmYKU*gX1)2KE+WF_6TN( zKc6)g6dX@$^XvxM*^T=A0*5UXR%}WF`+#3xeLxPGo7cz5^2gLZ&Y^Z2nwN>d92-l4 zXdD|!V`5~c=)7v*nY{^b&Y^u0fJ*+d2Eb3&R zvhJ0Q`j_HN_N>sLzn3L${TF1%JDVN_v7rD{QBYv5;YSF_>K}CuBJIeW;u>lfU)doN zTAK4&)zIS6M4LFcMdRzGV+Aazfs@OQ)nJmdmqxa^vLu^S^)NwS4UsZh$pm4bQ!zC;+G3Rbg>VO>I*h^Sz* zFT@;V_T|l&#mA{$WEik!*W8*U<5L?VF@GjvlZmb zR$E6xXY-#H7S%LkEu}DPa8ZbM{W0*Ddn0n{LOdf%`J5`l#M zKtUxBRDs4(3CzJ$iG>zZNySk~%o-b#sI=yzsJhqAC?q(SHYzD#qW`gz6HUbBfl?_b zg4U?NNtUJ+#)CpSPA3YmXv)_xv12Go-21>`21|cYwCS;olbCVQ8M6y>MKG9y%TYV=X0!;TCj#wk?NL(yOL2NIj69z_;fjG~4^QPWu=H(Cc{ zT;#-i{V=0QHae*R`bun4+C1rj4atq6a!+&Bn z?E02`En-df6(gCF3u;TQz`sMp|8>`E>ZY3GroybA*cdgcELTA$jb7G5{ zGGt(s)xj<9;KnfE;xR6zq!x}WrPC(%TWiJId5()0>x*VXJ+OWO@wSLe>soWe=5=_W zCT=D!%c|5FaUoTgkB^+@`sSK(C%TgY-G!nQ?J9zt9=sApKD%k(WlZ!J3?#X7A0JZU zed^Xtj9k0A0OsZlk?iz{dQto6;UzMWNS=s}+>v=xzHMpkQ)&D*8GG^FH9`kxBn%<9 zjSg`zt2fD3TNjZm|JaB8`5oLCg#N@8U~^eEEI#>Lmg`IxtylcK;6TZb2b}Fd`qo}P zq=`r%Jfi)S#-bt*8LV7+aDa!I6nlf5xiYWKBwwm!asI%6bw@QkdQ#0Oy0kr-bfH9M z?iREWkhng^J8+>mHE&#LA_JY}(&P9P)W=-83 zi5O-kOZmRPGd#ma@W2kl(6LMfp$=ObVkGR15qV0Yw^#_p4>@xpD~0zUEDmJdshOxK z*F**x5K4_DTS!W(VQ`uJ2X9)bSCb%m-2fcd`Eo1YPP3WP^7f>_-;H3033sRwp^N`D6 zP2GnBK*PC4G_HI-q&#gw=Eu3~KF@|;2;Fh1S?qeM>ty_NJm6pmvkA8zCchhF&sOo2 zXIcbt$*Kk%R3l%@Kac=hT_54(EOnu2anP!+kKmWxhTn22f?c|cQ)z?SFALt8htle8 z4Bm&OjEjBeWx*wc5YVo$i1@n8f{lb&Q*1C!&P?UfqQnqZtlmp5LoBn<1{tk6w&of^ z*3qU~#KHG^*TxXCP$9za0ooOxeC&G&;J^TdiaXrc|KjtJnBt>m^P;U5(&Ex(ivqd*ut3=YD&e#d|fc zvN9aPpj4qv+@Eq$bcy{=+3ywn($$zg+Upkkz1DuW9#THeJU|~Ijvd9B#HMnqgL||z z1tEKA2NG5<2?d@eRRH|o&B8p!bk`>H)mmu5823JogL1Cb!h0`siYXMnH@TQgE{k@$ z&=r?Ox{)hdA8omegXtF9Y6>i(HgplPr2ajkl9+N1>k0dLK+o1?(RLn8YIAyp1AdI> z#(?_}`V+(R(7tAd{caV{nAEgj(<+eK5MhX0bbGXFW6qJ1ouHy07=A`eTGLRA=2{6O z2v4IG`cQ)$@^pioScVo|D~&Z>=BuIjMI6{Etoj_7fTe*p7piad>G`8&I zTo(TL6-S2}1x>pIQ<_07=_bvp7Mj#dYau8y6|`FmXt%0qTMKBnMuL_}%MxFwxz3IU(pPF?}%9<%2|ho!0tXIqcwOy zoIhlI<5q-lxK&6kf#;x;qhY`jDCjDWx(^}OqVz(sx$eJ;Ne|s4L~>!Hz{3`hQTfp| z+Mw5IC6acTJ-zM-^;IBEEocjE0ifaWGZZi4(TOab zX#Iy(VM~V_W+OW=mLLAcM*TM+Y)+t;fDu55P5uvn0OU(Krfw?)S;^Lw&f9PeT{$;Y1+j*Txx8-wdO9mc&x zrzyN&()Q6&Y$;jXNW-v&N0c9f!_|_%4KwrcYy+!8-bU_SjdaRmelEalw>X1cfJ9CCL(jHFQQaXUnA4&YT|q1v8yry@ zS0eN}>N+|~VwPV$PM@}@$dLn;>&9}oK2u|i0MZa%D2V$VALd{9E-Dhtsp+%7vGW(! zm6upoasU#=6WRlzF%Xf9eq2w|S9BA-eg$>lg-3?c~l;S((iE z=p3{m>JK1eHuarTr4ZLS)uMCcTGa+uxpVv}`-*i=^3r;)!u?hVxR8+XEe(u)P_+FB zeiI@b$);c?#o#&P%d!0Kqs&Ojc1t)=r zAguwMeEVGW0w|GW9+`}pd?Zo_Di#@w+aM>S=`4Wmz&L1gbDHd4Xok+Z*{Lax3kAvl zb}p)V6&WVaaRRieUwXw{gQ=8G&_f-AN~mKP2z8`62|meSRx{XP-n^9lE8~XjwiMuL zVy$o!t^_yXig9BI*dib!QDwb^maS3+oC+=KUDnExFaqQxg|;=(I25wr7+A>|m1?`~ zv|U?SG5D?v9FT?`?5_gOLqOgPH7-{XM0Dy>jE02bO^cZgv(xE7R3$X?6wHRQ1%Y{U zD8VAvJ%Gp+DW|W)({~2bzunzdLe@(VcsWW<8z~8z%GC=*l4$Q}L-8m!Ks9H;XuaCr zr#_K0xT3q!2+PLzr0zy4QpROQ!8-C_*%u*m+bEE1)E@>;Mx=gbV{{_{YNQ|@zbDmt*=juz{O0lZrrIP78OhzMB=s31g0?gwi#)!xac5p8FvreO~RgYxNXb<}ed>PXezAvs`c*@0+ zNt{}ohsih0krF_`N&WN%QN3NQWFr7PwEj&8RY2@k&&PuuS=$t>(NzI|ZcHogDd!7D z)J|iiS(m;2$DM>^ z-uXX30>DCZlgu39l!X+C8TG8+-gbgNwjD_g2J zo9|f#h`Yf25D7VvDUQ)hK5xZMsyHUpC5j_f#fc2>G7K1MmH>Ml*#$Ni<7n-#I&|c( zfOws%2$!saSXE)&Vz*sjaJ7!hM%`MNO<=is=*UAu+L1>Fx(1;WpAJSFYMgirM68uv z(Hnz(u&A$c6r6d4CO}yBw!7g>h&N>UH#g45Rj%avP}xi`-&J^kdEA)CU;9+M6;zX zifM{;alDL6{bSLIMuUYQcbcTHj0U#xp*lghIUT;2v#-O+f99Z?dXN1~OQHhY*r4A0 zbARm|U~eP*kPkCvM7oq|YriOY^?Y0YyRmJ4ODI$9r#K#}c@7zF88l`i_nM{S*>LJGw$QWQ?6R@L~%`a#d(eanGK8QCkPT;fcIW!H`7cC zWYMYz1k3$eU0JUPvHGJsf44wk6puut6kB-|t)C)Xw0@JzWLmyS!sy{rA4QjqyBN$T ziY{Zr$%t27REN}YFYxO5b`-;XNj`y!-tMWUPio?UchNDNSvH3_>ZbyWj4ib&*la(v z$OfIEXZVn{{6O!9^q!xtLMP6oo`|g=J9YbCs&>huSw9`cB^QJiK$vfKzmYbw8=Ll(2AB)CeZWLy^IzMZ<-rx;#;PFPm(SUjsK~IUt&|1KVzrfdl(VCgVosgZdfVfq_cZ8}*Z?D^~Ev+oWOY z+R9zro*j7aEGKO;OC+D=__CiF!qf6u-Bg)!?-A#>J)dPiNPHICdHC#*=d+BYllkm& zZSu1NtzH65%{y=?n%A_!t9b`tCs!~jxZ`|$a9{7=Y{({VY#B}+Yuv@cPZ@T)DPFpVH-vx&tC`dzf=`2g=ZFoiVU@ivWaA~+*{f@(|YR2X9v5g44J#CK{2w)k=^ zThcmLcTX^$c_WZ~U!C`7%~sd&-L9}OtJ0;EmpuP7>X}rGY)%Wc5&Vbz$rCr@kE+w^Gi!hq%D%%9YgWEwdX-`6~TafEU4+% zz!qdGIE{6QYpn9ECDW#XWF?S~qunJbusRT2N>v27HfkS+;mlrk$h=hbiYg^&^b$ZL zOC@Oc5~xDABomeep|jGe(kRW(tkuvW!a?E@F5B7>u?|Bt)dW(@kA}PQS(~9ick%$H zQ#Ogz@FZrU8BC1$FV+qr^MKprh;C+s$zgTQK*3!Wo2NJ6M@+3jUR9p>BWXp+D|ffv zG2l!y7RRR$)eV&6elM$y9+>VowP=`s>}$;SAkCC~8rx7ckUQ%8ZY^#Ae0Ya}z#{4I3X9JQ02M=USh6mEdAt)K>G`~a#0d9KwkP@#wpxFAM1A4Lhk>%>m%3(>6)>Hs< z@qx5?hGam2N z(gc5PTMM<{ua2~Yyv=EJFSU6uY17m9iaG1A2Cjs(XLEUy81QFX-}(j7gNRoy#n{)nJa!r9I5 z;_?Coo^bC^ylW!)?U76X0A})Vg*Kbpv~uEr;m>;zkQqUbZnUo{y>ivJN4|1YP^~OC z;vpkoAoui1xj~A3r!EDk+dcGd9&=I<>pjc?01T740z$OGmy(2OfjPtB+S1AN91FQ# zI^cH>=`h%1PQ^Q3hlno4x=B^pOKsefra%esl7p;VinFifaau$6*lMU~U3g z;@o=x(nO#>73x4-9(J8iQFFlu80OfHHkji?yxG}ohF2Hl@5ecrX-2_}<@K-vHmeaE zh9_r!r{CweONyZQ4NljksAi9MMrywY0Hw& zUL@d5QOYtUk!uwJMOoOF5RnhR72OOWmK#5A=EKSHkarl1Hb->!6xHi6vdcHdohT-E zZj?botb8OeNp=$YOfgX{yav~yzRu(M>>ay4j|&5g0otQl;L!NBLQSQ!3e@8>$m&RD zSuw0iYi|fCoC2*!^7`9|qu<{cX!e)wKzo&x9$Lf!Kgt9>bO%P0|ExG6fKI(Fqf;%f zB^NjdGE5`PhDInV0Ima2o)-eqmUa(%4Lg_j;NWJ^1ple3}PDrHMuwzX~iPms-b z`Kk`vN`qYv&ggPF)M}%%(<(Nf_H6jEfv*lJb=Hi{-!Lp>pkS@ua2v)>Tn z%x|49!h96^{H2bhc$wt*YA02#@~|;&&|0;dIzvlUyJ=CioBGvm@I|<4UH($FLj%>a z>7r^kw1;3OJ+39qg8Tu)kcPyN+Id$49X%okgSGa6e34=qv681ywnFpo=v3o=KIIz9 zyIN+I(!7=2b$8n?%kNEQU@n0esmA+KDC*_ptC=o>=%y62r9$4(kxLvP9I`~dHwKbO ztn)C!sUV6msXZ@>#%=byQIL188v5qzuRzfYgCKV93x}?H&wKu_%?G4ZE^!R4x;j^# z_pPu0!J(@@@>fssodT8N?k`H#n4UgRlqBiBbJd?@zxDY;SN;6<)zb%B+<&W-@|v1; zlCQP%S8+Wn!6CScH(<1nR@?0CUNB1mX-8A`?42Y?t3PK^mJ0ubjK5EgtK};6+&`3# zny3e4P@UiR*ai;T;0ca@6Fa%aU|tem)yn$mc9-j;oPI78dfuF8RnpZ$U6O zmnMIZjb8bNUrR?nm0!3^?#b@?y$y1-w)csJM_X`D1mtQ&4;%XuD?xx%m<}}F%Tr3> zMvwP89Yo5RDPw|24@UCF{h>O?xd%7|u|;k?IN|@*rc)ErsoCb1@}7`e&oeo@nu8** z(|*)UmTxWmQhffM(H-X2{OS6Rj5~5EOTxb{E)Ue61Y>ngR^2c?SGtQ?bi2puT+DK; zKGR*rBJPA!n3C^Yn4vd-VoEw%=dQsnes1%9AyB3WOPYmvOrklcKhiILq*pv&R6Og0wu)Z|BjvFL zDU8RpNNhZ0YGwt^hOBNVsn#zEj_(2Gi%LTFNz&o`dtdtZzfyk-8x-SvU=FYT_ix*s z;yduIy3`Cuylc{-2d`}3apk^n@AbrB=&*;MUhAV?p?smxhehX?9m-yJ)zg1=+Y<+} zwRdw@*;*s^8z*dVzKc>=A@1R)R|Kt^t`vIT_Chf8z{OvjBND=bFpuGIe$WkJejqk)v!JcfrRb_o-G103=cu9-H+Yjl z<+RBk1iO2G9(D?`%d;S7DkYuk03@7l?vWpSvHBJTp8VCnsJz9TTT9r4(!Tt_uYOfG zS0G{j;RAp2=O_`S(M^t-b`+}LDbjy0UoqDXlCKht@ur+3VCOjHLYORG=R%k)UQ1FG z?IcJ|YW7LDxdg=B)JsaK`bzfqkqHTE40?U`;s5kOMAMLOubaZC)IQwK+l5my5#`Rh zDGX9+7SJ2W2Ur(MneIWhxZhVZrgxO14k&6wqeS=&62tiMc}2 zv^ReiW4j(63}_mW|M|n;GdR+s0*f**Fco*mbg2Nty+afg+CZ`EeE-l1yiMj~j#m)g zz-=JVN+?>vFt*?nSlfB} z&w3Ef0P4HX9P0ZF>dFArjS|#t48hI>)%yejSm ztb!uENoytNWMHHL!GL~f-&a1wimVtDu!L6r030bS2G=!Rt_|)+{I4;0xuZgk5UV zUJ1qf0X0k`mWUez4vmAhNF2&3uiSxRK_m0^eKbh5!Nm7;k#88T-619;N@l@D9IL1Q zDcW}BruTQzA3xY#V|KD;&npM9wtyouY?IYJZpJmQ88dDI1HSn4c=yad3$$y*;=LaX zT~HgOO?|(EKV2zcQ3kNcby$hDDHXs5s_cRl#A z%0Ru^2Omw5m4N~Wa_Hm9yVA8zhvL?J3bSJnqN$T2826f1+cTm!jtZdPXKe+^;P6Vc zf-XXMtg7=-cIAho8C!M>pWM=I?ZNq*+QTg{MELe#{pC>^%Uy8iHC#uqLTU-0Y#ncLQGpmPG%&1(6w7*BbjYgl?0L(^N}^5 z;?#m?CPJ9!BS<~sBcsMg?mn51peZZy5ltfEBSU0wFa|Z^gdH>nFf`>ZlZ930Gu(o5ya8s7_9#YdR!9)7+i<77U;vs6mk}PD% zsMC)WF%sOw{pt@96{ZcZ#zfM$vN|w9>xRrk1mmhEE;MDn2J7gEbmYjUL#UiZ65zLqqo6d1+GcbG3jKB2P`UAu zMesB2sssqm!QWg0esnyMpl5=5M^;5pYp4aycX;Utl8}oov2&R2m77o%Aa-6Ay!xta zuGnE)J&~<7*izk&A~nhiRRHV|zZ627I!wWOdgZxZ?&U(_6^)!;-9TNh^m4V&AlE+R zUr8&Z8;oHk!^E-qR1xwtTA#kub50&kT^nvgut1GBHKiu$TG{Zzv+hOuO6V7ReTWyKq#`SfB!)-{ztu`>+D#$ihj_u7RY}oxv+@;w8 zL^udw-k?dcCJP+Ag+@V0fimkDW7b3dww*p}Gc&4UTTVvTk}XxPohDpq2G(g0HBahj zgewzftE>vKj@ig4#t)J$4OsxzSYAaBY6<0qS3{pxhB}ld&aft(*!%OyVeB*v^*A1- zGWSrCo9|@>ZjhN@V0~krp_56_MWT~&94+Kkyg=vKz%NrEW@~OLSHJk}aPiwc58rDY zzz^G96+R~a1__ZlG37cHS-siii+XWZ__ix-%o~NVj9Wpgtlcy_5c3LL811WKxSn2B zN)MB(l>#g07z^8-;%-a8M#YXBo)y5>IWRW$0o&kWrihu|A=m=JCW+i&douXx0k_40 za$O&|tuAI8F+g^cAd|x>Ua>UG>;!VO6w)97hcpJn(!Gh=amBs4-9hobK3qFp%l8j|Rk&z@6Q`eZ~WFyae2HKJEn%+zEh# zc}O!Q#uhsNQ#@QpAC8s=)Fi{Ripj(9G;xtfcorRvJa2K2D~^tS5{6gpcl5DHdl1Xv zl0(R6v7?W9P@XA)_q30D&V%>7f#*B=1%Uf$QQ-?7ke5opo$zt5c;NQ2;am7Slq*qF z!p>;}0^CBB=q$BQtw}AEq`XKktL+lBvLF1)M^4ttK4jKLe#_$;Q#wH1-Rc=>W&JD% zKa!0w#&=qPTDY0vx*6%!lrY)7o6ldg7slnm%%2Y86@%)}B>X_S^ATS^zJh6pm_A%aO-MC=J6 zoQBg5t`a3xm_e}o=;>lt_tG`e)yt)W{8y9?>R)B$VM2%MWtA(hr;D|Ey)M=x!nIFS zwkzuxHZ)lXbU0)IdPx^+Mk`Q#Nf+x`5V}~MCn?y+EYk}mXnA>Qw9kzbjjn=yj5zi& zBKFbo>_ZD=u@BWJ5Og>Z=TWW|wnqjBcBZ&W(%%&$9r~-~()Ic8sndZy&!?A9H^@4C z(?^zL9ew!4K-B$W9csZTIERf7agTiNgCAO~ffZi0a@VpQU&~G&Al#IbY#2tvX<+>( zt;qwhF0Y9d6sOjHpt_^G3S3|gc{9?%Qb5Y5_xf2gk)V$%@|Z7Ew&4oMAL zK@B_Wj=rLX9qXxK8NX+!hJ7yxIAbj=t816(Oq8&!&RwQ6(ZRBScbU#a1-rM%bS4_u zSqQ;ZbtW2EG;KcDnP^~b=iIPyVe#P4*eRD;-T5l(6u<|E7kOJ+bMB*EyZdiqx=RRZ7^OmO^Zc1ML(_ zSh|u<-Ck04-nXo(lZoxDs+jJBpriqNfM=lroAYr;6vyCr#B_;0?fT~!kUuRY)8{-W zPnN(t>f@gB;5}pDc@5aJk|~x|&z)UW=d&J==S#pH_i-&wzr+~!aoH~>=AdiR5NU$iA6VF_;UP(|C?K8UH+4jPZKAJVTtPJxh7vUKgb2Nq6*QT@E)my`?#@u0w!YppDzf zk(>h~-)8Z~^%Dr_=jKn>m2JG$41BuQ{~dep+0@;L?o1=M-8g&Yp{#Wmv>d!cr;%HS zHQj1rxgCui$>c*rlzxh26<1ntnq+v9PODqxRzZcHE_J9W9)RQ%L#KReV6ke)fiVzf zbyFk0iX?z&Aki%1NDfNn+ApKqtq@kIsmr0H3}Vw0Bbm2@YAiX~w%sZhcW5eiU`7ux zDQ9=Y6`~pGmYk2)g!483E2y~g144y4KcF*@T$%h@S~+rOhWii~_pjuxr0r6@a{?`A zm~v3*jlqQu?K)t{Avig6;QUTok#<^;HLs2~jS;V6QFBf20v-TAa>td){!h*1LwmI5 z#^eySnDare{bpg1MzPl@;WFHb(XedDXeM8&hhtE!ce)FHu+9#P14#{eicvO5hfV7p zELx>jkO<{?A1V(5m<>eo%-|DR;U*aCcx`Kp?DRULw88Y)CX0`~o8>c8)6q9BT#rR7*|~I9V>I z2s**2t*D0XzNn-_Q(&_qmaaqfynzBber}C+*rVi!#9kE5t+@*)=L8-gfEG4w-I&D_ zs(14t#w)gV69+`Jn}1P>4i~A9oG$e)fYy;Q1X2xH1w~PKN8TjB)k0if2)UK~=`|es z&^WE+$JWdMaIE0be(-bs;6wf3;a*T#=42l(^pKS%Cg13|!hON}t<{y8eBT=WCHKaR z52Z$X!Xt%(cueX{h^a=6SYUf740V*4tt5t+eCNF=cc&zE=_>hg%Ef0CUdV)U=UD97 zHCi@Q@@E0#k9DsUYkdY7ipX3Id(lAQV_F*>5qOk{h1!d2OunO!M5y$ybC<(Y^kA{n zYyQN=OyoGkfL_WgYj;+hhsL8}aRpA4-vMi&gzy^NCEG9tAvV5X4vZdo(SQdXWT(U|lY}IoR)(#0 z2TD;Hmcx{{RIMCx*h~&!(=`Lr#tXvXI0z$K@WIpb7jOk$NsdPF-yr#W@FdPK>_%v} zO(!5dZpz!c@`^gG%6c(Gc||ih8yC$W0(@jBVEZzlI`##x>|m zqdmLd7z{y4Xw{%~cELnR9&CxkqB+P4za}4w)<~~mcOeNfdG9HKz!ZYiApm-HS5-H@ z)o|4Xen2GqwesO7bW#Ee2=`G}F1grsK;qB{SqI6hJ(Y#Lr-Q(tHBfZiQmpr^Bk&^l;ks^)63Jzex^E1u!J*KF>W!|~1C131 zRCKsb@o?tP1+MS`M*(ip&6J6wFr5zYJW>eac(2?xJVza9nsq*qI+DMEJdBNHb+CkS zFPtfBO~^$o_f~D?qYfg%vRV`JiC-ZSKaG+vb+6U+F4!ix%~}Sr==4TYMMC8HQw$=~ z>TR?gFixyPG_1PXIH!$c(25;;=bj@za|CaI9iQaTdVn1p>-ziH4`1OVi<9r!&4$?9 zieDOc^MmNV&~9Fc@+(|2Cd%bfX>^GnGV+adjEakFaL&PRFk~P{aDXl0FX$I&WoQ#G zvP1IMY(s-KIIqndB5XmHYmiWZhixx+$=HzAKtO=h!_CxMg91i3hE`P&b3u=(Sbc5d zEsnET{n^L?2_WJ(Vlb2jgBgLrz$O$&C;(md6h$~DYW?pTsOVy*gDWI|IU;r? zPUmkhtcXGJ!RA1@!O|S~&DC-I{>Gj09Zd93PxSpkN(ityPcy=}#x~Ej{%O}#HS;4} z#(+!!_tfL%HH;9X#+P{JFRz(lq#_ZRfJU!0Ikr;O#8af;4Dk`UmeVvu|2XNX*<<-H zQi}M)^LlC?fayQyO#8UBwCcx8u}E4;(;P;Op-F>o_^8^;dJX(rWI~ z=qYM&r8HhcDaU%HR6hKZ!}4UWl;Aa#a+DsEs}xX$Am-3!*qeeno1DX@6HFEyqPqMj zsQeYT<}pt}`T2JARm8g||A$wSa5lIdS*-nNoQ}c904b06I zXbHYxzFmVGB=HSFIvGo7^J~XBez^rjv(DnBg&^Z5ClvC?GxWs}S(oduhtnDbxw8a)NQA`WwcJ=5ePdmj-j zralFM%JCAz2>L9qlRe0fZBfZVaD4OJ#~%GjDdk8unzoPZ#n@q0Z^5mwEz4POcZV0( z+&D`$uS#3gygFUot6AY*&0aTzV{FUdW0419bKwAt3f$~O-*`Jq-<%AML-K|!}e zQD+C62$HyaeT(f!6QJDsSphK}ddqH>@*{8IKm>&fk!Ppe;cL3MX{xd^WPQg4LCh*p zJ<}m33NzSpAhaaMI5^M9L#>qj7p79`heIDDHF%9bR;IICtc%f9*m55eMj7|&?-l0tyP5{R7eHs*S#I51bj+{L5yHHR1J1YEsS&LuO+ zhc1S4V8FVW*39}`POLcGvY)4||ca0b-4e95Yk2N=xM|Ik~M9UGzqJ|o?-m7)g zZlz)OW}DhlxGWRGqO4;!jF-)-`Ak!TH5HGJ?Mj}`fChGA|Xj=9Qkp0y;m%hNM3 zv93q-lOUD+DrZ^%WKOCM5+22;qll6PB7MSq<1ow9)<3pRC@^cH2g^kSCKd!n#==t? z!ptQTq*`zso1kE+heY8*hjcnI;;A^41QClfvX{tOHQ}v?iXowjbQ=+(1XiNYLeQ1;Fam3^OdkJLTTFi^~F%y4|11ZibG zPhB0L=pRcljA6e;KSJ~-BA<*{D6+gI2)R{Q%keX*pHx4r9RBhgo!`{Dc9g7IfSPpx z=e#cCih0ton8eJ?p4bXd`Xtr^l5f~qQ@t;>!w&f@hQfZQ#G%hDZro(%nPb|zl`3b82r?~z_TZvAJ+>X*^_jUNas)c zxMQWbqlC54;P(a8IzQk@Iinnh;FbJtVq*=xAyZKrp%wa`_qx(=>KD#JT=iYokGa-X zLxB2xh&i#7{!}itNdg3q&ohu3@(fQijWm)kN8&C8L=cO-#j`9n^zN5#S=yX@KcHz> zLkS*jN^fm(ju%kle(qn>phJ!jFVM=)*^?VDu-JmjGRDo*FXz!Uu3-s}kE1LOlRvI7 zT!EMQi@SyQ2~TwOEKkKfL)=~$JVx;LezV`_5CMji?m0egcUeJ}VxA`E1{ZviAb3;k zvjneq=|G`ko+4(e3mzqSZ83bZYI1zF8~X4maE@qdsAmAemhi?vG5AUP;W;$Tje8u? z{p91G%%-e#BcCf4f@0*uqG3+WMI)ant2gqwW~VgrhcxoRa-SEVw=+G>{>aoMA)4YZ zR9PZuA?)pCOwBr&%hr%&v|Rc`pTD5fL;XG{v-LSo@&AE7XUM~u>UOyy@Ky4AVy(2l z5{Jm6z-Gg0rwdJ)ErdnlTkB(?i)8}iP?*K0cBiWanc$!k3nse5)k3(---Ar>A_}lD z`5nB(>WWuNeO@UEQtER)NU0o`vRF!e$_FX+Ngt%t$9<4uAMrtk-4TNM5jaicsz4D( z727F`5H;N3LR4_Q3sL@77ozwrE=1{9xDbV3;zE?Yfuc7^c?IyWFkSz`Ab2>fKAil) zdT9*P%8rNGMF7b>>&fTWLxS)x0`#=Jdcg?;7=SUqKs32wis^_72)-8&WPDce+9`2K z3r;cOeDJ0z_^D!9&$3dp)8Lk7)0E7zEO>*RN4MY=Q!vEVZ^X**$QRw#oVo4hox`Ss z*S(LCoi3n}xTsZ#hNHjDpZSuz8(B?%&WAxr{=5%^ru;=826_2QJ`76pS9};m=lj0w z$^rfP-9AjG6gcT|Yhgg#Q*ADEDX-8r#l57b*RKd^xrHx{cDm2+bC28mA7*_ptGN68b52iV>Q04w*vEg)KOgc>5nxgAQ6Kk|e=^1NzKMKQ{_#>A^HR|I7dTzl zP{()_`ib=4u1d5xxv%D1lCt}>a|V~Z?z@YU+6^Yo##xcb#RRRt4y6ka_jb~ee)B*2 zj9v0-n<`<;UW+)kR8Z_qNFNrm{2#-1ATxWHiqw7Dk+iqA%fun-AU{TF=4X8s>4uD;XMp~-{3Ma&>i*Oa+(*+F~4e5a;zE?AvWrRWW{10EI1c6N@TKHkR| zX0|D=dk`4AjHwW>mup5^$yZhftz(fj7%kfI8pQ?5Pw^%hMkO>94PFunQcYG236%l~ zHhnPZI3(EHA|$8-PKgABZ%x!<#RU@3KZ`j>`A(c_So73+^rmV(jnh^`tbKE7wqsgP z+l5Cq6Hzi7Iwi4JK@Q3xMkvS;I$gt+N7$z}IDJ5@+sD+5FP*=Y!Vf#YqavPIK2kj< zzYvDCy&CdqcyXL&)rBr@-K4DM20160=D^cZg#PYf?BnaM}R{CMPm7u6p--_^w&F^-%9LOYoUL|Pusu7~; z`7_^%So(aQGm^g&MR-KVwOj;ddgb0MGW$*cI{W5ZD${ft|I(loc{Ml&`nmhFN)dZg zzMaMd_h;2o%3dH)*x? z>z!zX`q6;OYwhZFK{Q<|p?YRJJ(n_1PYk1VA&FOQR)r!wgZzglfXAbVARrh%^s}Fph^tpSP z8q*6_&ZaCX5*}4KnDt&9Pq6`wUwg)78NTa^GSb@IT=B&!S6i{_DB_N*pl!q<(hy%i zDfPAXMZor86f{L{17nIbV2}Q}$%W{%_ln^G9lA}!0QyQHlZ`mT8!frqQpX}}0fYhF zd|F+ACNGZ#yhNwi#lSvfwB=}VC;5_Z&Etww2$L?aJ)f~*UP2K$r5PWY2lR5hz%aCG z?iFj45-ze*P|Q&Pv_>a_%9sM+3#F*uH#a4_yh5^eaD>swkQ~tsmbV<$`&Mc`pcK=( zAsIvM43TsYoQ&D?QLo< z!p`vmbcvy6JY2@x#Fw$q)<6(BFafspHqI#Ffq79;CM-@dQ*-)lWOP(#0aOm1^nKGD zWJZZ7gdwbk3LIXTCn2$H`!Ar6X{eVQ7CF2CN)!wc0TJetSLv^r>_X|ac)pJH0z>R| zT88M)%bPU^MW`?`ez4ohkJ9u!zKz#t$Nz$&Y==rpFUUt`lE1NgSuW&;V`N!>u1{aH z*Qq8opK(fVt&EG98uK_<+O$KiDgmvQ4Hu(=Ng-=^v?FaWKVtc5^Xa4u0ct94QzSZJ zlc*(v`TImn2$pD#kVDH6Bwa6T0-3(_6Pwcp$ntOCeIbKEGGz+i{IyKhXTbu63?!^6 zp`=jQY6@J|!&3`%2l11_zIsmu@suD+IUqT}<@a~3csA63qC-M6F_(LVi6*U)PHq}j-PAvM2G zBDW$bgU%?&YmK-T3<=wHE1>CX4}$GkMmDTLZb5pMxK41pGJr?%@L^u4vB1h8>hSs} zD%CJr9(6tusIx?6)M0mjO4Kp)mr-~AsZghC&J*g!g}UlK|Gf2wP-38CxKs zTVN~o*m;kzgR%hZ{E}9iL)|87w$U2*@ z1qe@YaU`v=afmTcms5%L0!6Ihq+RHbh#&w9K{}B~?ta1vA*9MX3@@!oTA6^|btiE7 zpI(USldKmoq?r&VS|1I=P^W7dsGF3M6(8i=9|MZBg;FvYSFxcjnMKozgeGc?dCaE~ zzjIogYI@R#3P1hamWmm^$|T`RFMmJEe69R^X?;Bmt8Pio!sDW7(_?OlkvbWzf|#(7 zR_FPz2vpvZ23U|+C|H6^W=%IJXaY$l_0!0hNh^FOqg$6t+$N)DY-L1}Hu<+87Olkl ztIv0@V3lr*eDFaVSfBs;5loYn}EX9|tK>A@h3D)DlFp(P!>oiZB$gh9KsM_9v8 z27L&qt$+Y@TlEcAl&)=Y1(SP)K@=J!((aha+i02e&c+i1P8ugnIoa4_-Yrm{fM?Jm zmDemAh!ilJqSqug3tg8aKSubO1o7R_?|g7qg7&}AAx1F|u+$CE`u#cIvyigH8Khw3 zqx6)tkk5h%jf0Q~rplQ>9#|{#GJ^!k$7K!O>t$6gjb%WA<&3U2fqsuHJX)U|j>9`U z?~i16cn_A5RU@(}jb&+C!Qhpi0?~FX>_4~GD0~syfBal8V@PHq&2h!wG#su3VXX5N z@l}EOccj;)^+yKv_LK6*8}X4dFjV1^S!MlX3bBm9S}6H?h1+^l2A&|GGrz|splaWy zpBwaZlYX`SlFgzEYSew3vnT=&-rK9nEW*t? zDOJ98%0~m$DAwFn**q{QV^*n9l8u?F20I9(DG1b+$F#)VpK1LUCj7f0Kt_wYF1nho zmZoQEtc-o?^Xb@?T%`Ebwb}sk1i2Y7}_UdOg)bGBqC_ve|Av7~R(+ynj7vL9YH>OG^-Ic^+EpjA}l*yEb zR@OYcH5h6Xi8QYLTbp>_(x5U0te?<3Da=)C zST!6>A?c!mECla|FksF`TyNA5>gLk=fvk0JHmU;@*n+^}I)}2ReQ6$GPUqVycegi= z-}&CqC$4PuDc}!vmG;B|qOI5iS+CsW-mIaM1RRm$);%8dcfbRogT>X5E6E<|(1DcH zkOh)?%0tU(fVns0zCPA-WFXABFRT&QgH08NOz{zc-kh@iyfNF%1Ae0FI?&KWJuwQ* z((33}PURsb1kTz)Pfy%S+xwG3aT%A;I-<*lxwsV@PB~|V!r@J8ce2N6+iBOS*Wh$q z3`>hSTt-4rKAFk5Qg=roT>AFG=p!I3o`}l+EPbJ69;~;t3 z2l%Oj3f&LK&AV)?7|_1_ zh(~mEV`~K*S9}dsGXpmHk5%Jyjyb@4zop}H%T=TgJC#Mdd_GI0EGKbc$9t7}3GU*u zb6M-s9Jv5sT-i$;S+8(WcAN!(7)Abp&;*41@Q<{|mOuV=n1S6$P7}nr^%G>#LEUE@ z*_F%;F3#ojqBOgypnJ?b|D{IU#)>Pt!zNSB%lWZw5Kq%op0W!{xJTTT_C7>l<^!)`F!X>eZ1XIkT`-U8s!f^s_;?z9EZgQLHnrx`~7{%Gyd~ z$~7w=B)(GZqEzbb*PO~!)iMEJko@5qt0n^Qm~*lQH9l;NTBvUfYA{n>wJHNzJNpUo z+T70e9=WVF;@kDq&l|G1VP;5*SzXb(c3MnVz`$Q}l6x?i@c`tH)?_0(aNh9Ey+j~i zp=BKv(A+x1&$So{Uar}C;KqPU&(iTD-C+&0Q?>WWq8jpJiKk8)%+DzC8@D{vr;wUJ zX>;)odNkzg_5e9_j2vQQyC7_|a_EMEhB8jh1aejkuoy!=q(@uW`W2zMD5%Xg!u5R& zvsun%AsypsyWX{Y z&RL^ikfaPaf1II`&-@G_&RjMul*VriHqdw~L19;CfHT}B0R=5HZWRMHONhs#D7>@w zet5zr#}imFW5MQzXI_`xSj_D|^|#qpG9Sl~j(AiMi+Chmcce-To!7RglLO#NfLfQw zSl0BDl0H3g=)he}io`d3N(|&EC2O6Wh%=>W=Uo#FTjT*ufWChb5R0kkL8og~$f@k` zmov!>X5bYv0@W_^(mAC6$>s=P8t~jDjIU3bL~@{+gbmR* z^HZO`Nl~GPNWtmZqHCZ;MZh-nIcs}THI$1(+U37cz2Or<`9?>zqFenJtupl(%$d#= zW2C^+8!k;GYaT{vowfBJ^)N|^2xn)G$*NK6UXMcDl|ZRYMvPJFzmB7tU29Lf!!&e; zn4t!tomL7V56Eyb3*TiUuFG`HsA$`5Gz7+sAF_pVr*UHn!NzBYDI7e5Mo57d(H*yC zI-{;R6hdN(1>5P+jaicg5h+l(qRM%zX%kskQH)DM#gu-B6gFb_z&K=(RPsA-73WvV z3x7GS+zKG%=xWg$1l`ae3ASRLLZ<(Zy?2kYtGe$z&*Q$TZdK`)R6s$=aPFmImjK25 zK??;FyADrbWW$=UrkUkO$RukGOQrN6S!S`;7$_VPt2@L?vE_+6A#FKf7V3=LtvF0V z5;B$@x~-Xzv63*$nhfcv6YMY!Nvpfbm?X5B&-c6cxvwfca3?dJS#7L3`|P{Ve*E_D zwSW7!f16v>VPcwIXjGPsSU*X*ZgOeh3i?c7xqBkcbVFl8mspxBCqW?Hq^)qcu~?CQ z`k)brf}i;m^C%EX6(ewnHjUE2NfiG?DQJx_x{^nY)jl}G2xPOA4#}VSUhN=;&-~Nu{XowCL8gE@i;8M}5DsFq9D*__L_vJ)i2;S=ETMDaI^SVy*f#@~p;cl4;S0L-na_t^M0+EqgS5Bzrjh7(DJY zhN4{9q+@tB+^^w{_LPFJDvk&OWl?%zi>twHvXJs8q|~(<+eNK*K+$L!CZl8QjAnaw z3&oaK=tjyRt%N*aLh43aJBBN{J5+**CXvI1Q9QoEx(Yb{dQWC{C0oC)zs0Zr+|PgZ zmo>Y&tS{ot?Z;BsbtZO=0<4kb5-4fsXKhNW*|bK7oZWe1v)ZtlHXl+l!ANjYI~I0v z>zexu9_V$B7boWFGI?P!4HA+s9m~eBtLTS@HHAP|3Q%s7>{Q-n-$SAl>+4qgdty<1 zZDY|L+gRXJ6kthdtiHoRS00aihl4KMrG0~aB;_49Md25}?d#8ype`_d1Ul&PM`ll} zyBcx~PSgG+vD#E1T1}yEo9goNZ3-ElcugTX0|An5*7>!XRC1%MM(C7B?G$DRjO+S! zN(PBqxfwfV2@)`8e*{a^fs&6m;2v22Lc5 ziB@1kF6%k!A`6Umwj4hYaiW!C(Jp5Q>RA5qml^kisCn87%ge@XRdqVPx!L}kwNqXoK1oHC#QViVmT3Z zXRKj1+w|Pku@L>G#r9`w+3dqLECj6U2SyJUkR2oy518*=r2D=v>T>J7;F4@fT0}(S zF|Q5wElH;v_)U`ZE)J~aB9_ndSmfFgF<2|wSgtTwzBQX60J+8piT^}Xdjk$Rx@NxV;Ds(h(H7#F-7!E!8b@9 z_o9w{jn%aq+<+;yYEXt**5jc;6qZlZH8*$-AM5ZIbyJ?RQlUYyzD>%U?l*{ru4-v; zQJn-DeVB=jXh{4@Hml~43YIt=5*ZRc%l=UnI~9JMFXs578DPisVkgm7Ez>OwU@o_} zznT%DOgQ({JOQAyon^w_E*KQB`C6!<`cX`LryZVmf{2fEK<$r-`4)ba;m6G0dsbSu z>kWI1){MM~i9rE$Qz?WM@m`cdfDzmwgDPdfM<{!TB?1`@A_Cbd1KBA9*(n3rDFfLl1KBA9*|iJEOd&wFByj)e%n*uNsv0SqxXg zNQK5!XG=HMCzU)kZ?CVgKg;`(c`X)F{^QsNbnzpZUfJc&`BV=HZ#59`)V1+`4d@ao ztbU;t@~>ml78>-IFkV$)!&Qn@W?Z3AhmX}H!{NZNxB$sTlGlag63Oi$c@4=M*&{)7 z&2$)yB*Bz^8u=z&D{hMj*nXcA#(wcr(!l)gPzLYeT{3|3oAtZiH!~>cLW<5y2;uT& zYyiAMI%FfrP)okpOzRQI(sL>p$SatUT6?BWpu+mkt4|b5RM4Oq)%gNynChnC9o4eD z4#f*`JNyyouWv9#9IJE8=H;(hCj(ojC}XV2IcW)yps-&>Er= zHfcA!s!a=I6LN6Ba2tRu)MgdyETz}B9h=Ee_5$$m(lF5{Ze!9qgv8it%k z5MYk2K#){C3yvX>)T(y`h2CX5HqW9T7AVy_XTJDE4vYgH#w((pY};(xKQ;gX9B44v zARZvdL1-_B=pV<3&jAN7J`vV^IEX(`M?e|F0U6FtkKy2CfP<3(4o(I*Faw4|4V)4j z_z5FWHEx8qO_0?)Z+ahsgWqL+H(U${7Olf@2&-9YdW&!<{xcj*7mNS@hQq&3`wNG2 zX|zW0HOq!H(2;blpwS|Kq|y3Kg4!A_1Qs<~r@U-%${MXx)@YrwM(dO{TBoehI%SR4 zwM(N#o}6)YMtqIb)5(zlyI0z7}M*RcBHKY zze&aJwYIWulmplC8a&2L*2>qY=hy0VhI(FmtM!~2)N_V3|L`RvmSG|!y++0h4PwS6ZSVOEZwOXXma3YUH)m zW`~|c+II{te7J75`=PE4IrME(VzF6f4~Coq z8xEc0G;2b?p36~d%2$t5nECl^*l4Ae6FIdcgt?>8RoQbRZ^y$MrcYTpC;8XZ#yClp zeZKk?bCL~7{vph5=O0}yYf@;|2reB8Zy}RKC8f4d$MyMXASyG~bEHoJK!vEswE$>v z^oP!0#>-TAw8En)Z+PMoQIt<7wj}BG`3coRvUPp(Rg})Qw03Ic<@)3ZdUDacAvvZe z^5_J4p9|^i2(1>%UdoQaEtW{OiQc1Mxi9q@J?j|DV(DineXUAw$qtibIcvZ=><-Xn z`-v#pP=^BVcy>BpzC>uYHF@3^(Fzn@Y`c=+r_g@%JP8NmqmzWIhr4*}K@(s~1DZa^ zGC`eurq-K~X@%r*;=<_pEPI3RWsWE~$uw3_-U;b?>Zz5f$LdWWtBgWGc5XY%jv^6u6MJP+0|g7Q32!~DtfiCXtkJs+=er9IEpT6aOuH*yXv@q9h+zD>{9^6uq& zp2@pc==o~i1y8TaUdg*%JzvhdJw0E_yI1OYD(^1p`C{JvE=(K^dlmKegSHwQ!L41!}w`C>-=P`d>rS+ zw5v~O_5dWTAXySa2LcIe3W%(ORmC0dyndzbXUBQo1RqhL;AfR) z-j3 zSK8g>l-*L9A^8A(u{)`U{24M$z4j$oC?sac#M|T0aZ&fCskIc0 zTJlo#P<$$)aZBR=oq12^>tWxO>Y)m1mU$5t9=sai1#DiU>CTB!RoSXdY%sIKBTnkL zEJ{ZV5dj<8=BGBgx2uanT1<-Z_L_7FdWTh3R$6}Zf`@lhL&|qJ1I=MSuAG%SA?pj0 z>_5Mcrf@6VsYzBG3iz77Lr}>HnZk~>hCxqwv1|jP>Z2Rnf|4%-aH*X`ENo3Yy}$u0 z8!7HO>QFN{3+3G8#QuG(ST}@FA&rezIJS%#tx$1$+<8Pon=ieh!{D-*2pO2$3q~ll zU8zQ>XaY#z&~HVOhWtF~n=k_duF6$vH)0}#Pr?O3J@L@UH1%>wFXFL!c~UQC$&z%H zp-7ZiS&B}2gGy$8Ngb&ZFZOeYq~)AbVH1lo>YU2F)X#ZIq8a?pPhvRloBw$~#e0O# zs{}*R8pZ+;Lu{lsp0esX7a&x|axF$3r?gfctIMb1XKu<`kJjYVaBQ-2;yXHtMvU;Z zx}!w}Z(mfHNG-mZdIB-OS4t3=0CG2OTWEJD<B{LOg3^Sn}B)Byf9?Kkn zyPdrMUf^`g;g~*3`pKAnlJudNexCHfn0|`%ftWr>`iYo6PI`Y#A13{HOdlY4q26T7MpA=ruX1n+PwC6C9S5T$y3cJRxQ zv5yW9emXSz(SiOimHat2=s~u>O4IFZRWCICx6w<bph@=Y$?yse`1O=ux1h;fpC1V6e0B2r z{8`fFX$?RlD_`d(BUW}31+3{MhAZ}eN>K6eBX)FWBieK~MttgSDg&~x^5H&)iBY^e z!+p6v3pP={LULok#?vGTJPT|KP7|J*5YDo1ui&&3Cc8|zNF$?vZpxNK$Lq=)`WuKvQG(_f@~gXCoIV&g)H1TqNoIog~x{% zSgp&haHuJlp7j7E)acPU=DOLR_WdM55_1Q3b?FoOe@hOTBm~Z-?8WffCx%yuF(q_7 zt!G3>xUTcy%l$kwP`-X@5;Iu{KP#}TPCEQ7bM(}t1VSSQpf$cJ0Ik^or6>yq5`dOl zkKqjc)}N(kY8{2K-_ntocX%l85b09)vrd%znYK_H*I#(91%ziYya0_-Q_btK_^RpV z^+@|03hBpV`Y`D?Vj1{I_F7ECNU~Se7lv>!XV8pv ziLQo_?U-*AwVic1k_xRye_AVD?9L`!)O{1OXHtFiEasZOSK&vV(atX@(k{xVI*mDV zQZ1AR;ZPG|3xOdBh`fXH;w9NZgd76^)fo(Fcc=lMv%#sa)wvH(N+2F?s=61jX`K*% z!M~kv4(7eHeDg}EADa<_k7mM+QOJ# zHli(r4}j{0eh{&*!l&bk=w9K|30{N|$CO#&)3bU3pHAw>3ZINzl)Mny7yYh-Pl%4} zHR=>TAv&^GV;a$sy&Thsj_jqFhW%$Rk`_L_fqg#U6OIm(02b^yCqA*BHnh!`==TXB z=BiQU#kyu#Jmwd$$^%b(7BC9~CTPqZFhO2L>PM(U&%>(glzGcZ^XS9W^;YaW%%uh6C#pvC#2}nVUy(OJ={>?=y zD5+&h`HH_2C-bW&hhO1jL5_x3IGJD7m>M}Xf#Ep|c=RfGWG2mx5eCWYX}w6|{V<3i ztish$>4*uC4I*sTOWE@rK1d=qI^%dv$L08CKeP)R(v_gTDq2^E zR!N)QkJfh~r^prmE=hT%a8f)plssO$KEIovQIbP{3x4oP`9HjzLn6OF#nF&6(3kc) zL?9`@BZJY7qyFs;o0uE*ZwnrELtVOe&?DL@8lNwcaPl~R7U-2nXjk3yLce@gijuqd zV(8-8nYM5k15KY#<2O||_ags@@SUeov?4-H)|ULZ%(ep}e9Izm_USJKCHo6~u8#EU zb9F>tpQ|JH`dl5M*XQa;y-}{t6br!OK&)f|B8CXFa(e;WOK@rha)nQusUz_Z12YRA zPwhHPUDa7eMli6gVem+$JEpC(3uShpZ!fUaekO7eaT>8Xz{wKv`b_*!X>l5HI*sK3 z-0t<5zaQp(CZ<JpCNrJrp497DJ3MTA+T}4`y2fsyb*=~+j7&A6{`lL zH)OK?4dLKgOuelyK&q8uXeAJXMb2n77YrsKN>y(`h=dQ0n5gLJIz$z7BT*si0w?UR zf%~jbiwrCg#4Q#!z=pdi%UoO$6I&Kc+`icURtm}i5RHjb3_i@!mr*FLePY8j-4|&1 z;`K$=5^26JVirKxujGKRmHNXeMJ#1KZAvC`AW0GtN-EEATw`wusY33u&ci)OE{6Py zHIOgP?@?`9E+T^nnlUP58K>(WtAL94B223u{RCoMsS{;xOqBNHi!6 zYsvU;kaXh^Mo5<-ycN!=?+!2)>_mjT<|H-;YjhA8|l!(P29BNJ^NYhA7-p# zfvcn~cOgP1FbGxI45Iw){3OE1toc9Buat-(IR7U$zvt3irAMr*Z9R29ZA*IDaa6l8 zbql4iGpuf97A8-P%7!6Wt&7438UrnPXcbneL9D-ucHhE-QMY-v;xB4te+r#qDlFJA z2yrRNS&JWLJi`4~n_Msw)31>}Y8Cd4q3@ExstpLDw6iJAxAgECe<%5d&qb(1nme1+ zp>EOG@t|y*#;iI5HFVo3-FQNC(w3z}!dOLVI)!#$P?S(ZWih%(k8Nx)nIJKptAaqF zarwbTJTDN<2`2}1-&DG<72rnaQ?rO*NuSD&bZo*x2;cyEu>k zh;28+@hEBO`-187q=N#Ty+D$&DECE@_lM+5Bp*;yKa`*E1;7 zly?CJom73yR=y*A$t32>D$Tt0*XN`2MtImmVJdQBa2_D3c~bGrVO|5&%HEuyfCBJiO~_d(PrJz;!z67bU90}Z&<@J)b3%)w)Uh~WVeqc;JHgusak z8|dVdP1iJqze97ZCS1&16Hmc(w5ADdo*oYNA@ho-V)__-* zhN8osn-Gd;iKk|%a`T8NR6bK@Il`>Nb)iUYnDT;o$19dzLR5xQT$rzkim9zyNgsq& zw?5di71J=@P|)nU^N;Ow3h*G!^;k-fdT{X}5e7M&rKnWYi0kp_uu%dH0k zMc`)$jL!dgxzOQmues>dDkhQckDbj_%Hm z7;r{N-&5eynzyiX5G?*dIBMLr&NmlT%^^8{dP3D_YqL~eOv>H@xQ5Yaqzxun+I7^U zWxM6$Cs`55j3e;NcycMd%l4Fx{j(9W6@(`GW7!oa6ji{q>D;uY&ZeNx^L`RKd zn_cWd`tQe13F9f3h?B{_f%3w>Br;l8VsdDbNGx2POS}sT#?M?j94jJ(oH%FylJXDZ zw3R5>K)N-#mIu}-9p}a>;}l!OP?Fk}*Oc4khn8+9x8J;-aMGfs!@c~eaopafCpSU{ zWocJ2trGs{TnA_(Hk0FiA_{#-n35x(lFK5%6`uW5+{i#67_N?KIGB=|+!N{Sv^l9H zEs~Fp5C429o$Wv-iXOoPY!Y)+vA`hj(<$TmDo>w={Kv)0+gDH&Kn&L#eqK#yiS5(= z?}#!}dl(a73<$yi2x6ykwD3m7Y{sZqDQR3dXwhSZ^W!in{i~^$AL3O<+cXyb=~XA+ z;;$;Ko^diW_Ue9mivyMi@^figdl=+l%C8m1AcC&FHFh>18XfmvWpt~DkfK|?x`U#T zl-muDsb14LNO1rB{i@4D;FJ4qbuVufW_l3*fuj^3(hrUAzg3|ZlQ|(gE$B0I<5pbFZcjHPSH}5 z@0iCDZreO|u;%13#bSrhW9S9!?BbMt0~@qm1C6Z zG{DOQ#|d4tJ&)0ORL%pjUQTD68P5mo~Y!$&eCc=_V(u43Fad$LKz z0N}c9A-Kj;wp|guyhp(1fa2KPh>O2K7bmFm?-aBx-YE2oguDsyj0)c|z!xt(7jIN0 z@(8aO;Qn%2U19T(Jq`KEcfOjl7V-AR31#uqaXnAY@6whBEKmYV?{*eH6 zD6|&76NAuNis@^lX}*^ayohY|@Pm~KLq4DFAZcQ~P%?wZN+gi4!wN54+hCCxAYpXZ>8&LOEmI6)mT$$E}Q zr<>-WvkoW*K(iC8xdPZzlz=)VztN85nnq^Fnb^wYQBNkZonmuPhqC(3!NTVpOiTf3 zdW2~&Gw}Q}x>Vm$Tc%MKDg?jAa|dqUP1Fm%Ws|($CaMDjz%)4%Jv@5x$2O5qQbL)( zL7U+2E_%q)4rRV*h1FY+CY4e+o|eKqwFQE%F$+g*2d8YR0JGNlw~8kx4&;@?qaY9( z!+b9hP&5hDPDT|dEr6N!8EcywfjBSb845puHhd{VC|~$WR71U`Mtrpb)!_BMMBYLTjdXN`EAGb1D4H zR?5eCJc75sGQHg4IVXWaOLJ>KC3k+!r(`1R{fVnUof4}?rq;?u?OccRmtspA#`S0& z=+@yF2qdwcVmLdhukKpspDqEz1Z?OsQc+(x@KPRQ!2u->zL+L@`es zB)Jx`EYS1Ik&MY?LuLvfNZatYbbyiTPto}}s{!?yACkCc?EJ5n!t{J%jgxbLpCeIW zd%Ds7TsW$)K2aH5p1Dw+FxcR|B6b9~D4F%nAJs}Pg2X*o3i{pdVN9sz&)u2tX6136 zanWZk_S;Lw3_7IBJ*V`3a7;}oIAV6JoU(0pZ2thk1S&eO4rqwv@;EiEUS@?%sAKjn zf?-A^HUGROP-|9*Qc`69Kw(9NUZjiK?v)~aPzW|#flJdPXnDC70LbZ6tIAuG@8!f% z`@dGuPoW}=Duq!|d*^4aHqXZELF3a+D)wdoiei7vl6)7^@>}L4fJICnTjn=);-!2Q zvve9F{ilIoGKhyS7HLqH zL?kOQRX<%3~S4BKq}TpEP=neQwJ{iK*sxx}}Sg=wml6Vb=RNe1+b#QDIPdn%ND8Der^K!^Hb#L>SEo)h^Nyl*+k$fsr%Z&K z>HHa?230E{!o4z8Bymj%t%oUzgGe+890=9V@|eSv{*QT9e>l|*+wM0U+hOp;wB2@w zhE@=lmypJKO!e{)i%R4KMl_G09yq=$#3+*lG7im1MKK`gf!5?N95^FH97SM<3ugEb zy@_Z9!Z1smUTbUeM5-1@`~>KCdsmumk=>BUV+Z5`^B(B6ZoMJ7xM>AU0sV}`ml zVLFuDOZ&gm0C+_wg}1!uAwc;Cvm)3R#NsFxinMz!=OUlUc|lZKJ=DoVSI}vHWip!# zvK|LnT_H!1@Dvy%Ta){PR6CgVat5md&%^%#HD-7_Aj(#(YwH#3rSKW|MMgn*kyM)a z?ewzt{yibIM$n7^-|~v(N0I5V9lY|*BjfpSx<`r64Rlcrq=U$kmPyJ>Ip@?LO95fh z)?{%yQ`Z3=3(DO*Sk~UJ`$lw5zP-**==%$I)CF%hB#S(x7NIW}{T_tsg2paE0_br)526l-9hk#eIyv%k56d|9jueH#}ro%j~Ko)?|g>sEJVUu zn22zM&>>EM+&p&B4gZyKl)jd<&Xv;7H!riYavVqQ8a}x9uqX&<1Tj(%3N<%%GzRq?iuGWa;adVm zuN{CUwP@{xa$5u~Zuwhd;~9VJl@>h^WYvS;xJU~TLFg>?>B6}H`Ov@NH*?@eZ;OMn zJs%)dgALUKPweeo&DLv)n7PC{F-Q!GC6+e}oj+&U5ERPK<}m2Cv~6pMRt!!ijuZ`S z!Ri{5mdZS31V`L?btGl8)%owQ)=(Tt;xgJYo>MP>9q7eWb&F#s{IqOwZYnLgP2&hK_m@ zEP%sQSUzg;BYQ(q9^n815IhW&Fm$GX1q|=}v#Z4l*ZD}8c$~7HfNeUu&xRsX%AeP` zgJIpTfFpHBb`iihk2SGuBV&htS;I)I#;c(Mh7gEEiZr(zrrI%Ii;0@?RY_+S)IX7C zDU6gspxVn~woEq!`=~Y3Bj!>)U^FOYnoAw`<`v|-4#u2?S5cRk zX0}4~q|kX3;vKzdiFl~3Xn(XPApjLurQT}|9MMRrWK(VqqHKK- zWfumbxbVCWJt<(_2a5>=pJsxw{t(o}LolmGPUEdRymDbr4V=u;1CY!vx4YLcveb;3 zAdBGNA9EjB;7xK+|}DhZPk#tU`XU zrE7^DL^bORJNy?@HzZ3%qkSOH+L8SG1dsZ>HMvS$Ky*JD=pL;$TSkUHvQw;7)AB(U zh?*<3xDSS$`@($PPtJWI=N@Dj>cvONL1|F&d-*C4IjHl+#7DW^2aN`9@zJ6YjT{fe zRfUufxA8zvYCK?RNt>3{F{<*A6O`5`n;pI80xY9qEiB!NCKu7D-F>|_hJlL1q~a}N zs74%AmSN210;=_hzuCuZTon7nuk>SL5hi}nkx7!8K-)|bZ5ZPF;3x^k#X`r0u(OBR zvhu`ShZ!O2#uD=3?FJKbh(%i+Cskq&FO&FQ)56Ej1YGrl7?I^uEP!2(YV$*8=;5so znV->rhV0Msq~)7|sV9*>j)$3Bi{ejv4`gOF-F%-rT zJhIeJlnds?E1rh#??`qMfDibvEnB{+iGcvpyB2n>l;6g!_09Aj0D}^LHFQ#0Z^OMN zZ~@z(Jpr6-p$Wvfj68@xKo6+YXD#qh4?hADqOiCXs<3%ErRp1!l%Izh?J*PTEzPMX zSg7b9Au3E^kPjO|^;_F7%x9OdB?}|SG1(kg42vQ({{mQUO(x51&q8-HTV{FwjfS92 zGAm!g;~PkK{t3Yac_q|G=eZm+TLUFDcOezjS2Oh_&$6@@Tp|cl#?th~lrUyI33zqs z%?bbOUatH5E>+$uX>Wnp^~5eqdz*{PK0qw7VxhS7)4eN-%MW%7u6HN*(>>DNVu7e= zo2lvws^ur$RjjCl=(n!wbXC>M-*HuT-K8_9sH(X1gX-5yt}NWfduex}xQq~NZ|hzm zmOtp{rGtLb_t-D(xMZ(} z@`6^Wc4Sb|^K-EstZi=ZA+ncOII4PJOD2r|$t}`Wv+@Oq6VA~2>+cd-&pRi+n{VM`AP5!{sEj2H=^8V`avuSrFKLWXc0Q%c9M^A%5*R@9&L1vm zW$M=EDh+jOa#(s_k)Z}2gcoS3b*|Q2_^p`GEt%i=98aR5fl*etc2)pzjrT9#nXB4hQDX z4=!v??zOzkmWP`J;6elqREVgV5JS~mP)$RhtBxOB5HG%$B9hBmvkGuRJy`H2b|gEe z!sU#^bu-sYL+7)b6gbfXiu*NNlfS2$WXSn@Y}kZrW?yF-m$KDG&5 zOH2c|8xrm~6<0`f_JBX!C)h4G?CSg@kOp*|mK;1u1-c)cA@sCvE8qQCPB zvNe;(V?&DSrJw?W*Nx|dTOW>$p3jGo8=Za&v^PloAk zFx^Fpt;rR!0eegA6Ein0pMGDKu7~YrR8jTDyR20+4K(}E%qCSHTAEN38b+~+g)w&+ z7Mmmu@Eg@Cd7|B&32lLBAVMA+MhhrrgvCsW4dK(prqB)V9W`XWAJ zBJ!;iW?6x4)Fgm7T>&8`1Q@I@FeU!>xg>1&HE~GrTU^$3q&@it|E2>i;X|txL5ZbY z+_?t^a!;@3%jDM+zV_a(V zeY3TiE<$3|%0_B=ji5b+X1EYNSimTqh^L);d1JX$s5)2tgDw$HH*HP+$ohY%p5MnB zN8wQ8`Ff2D*-SoNu)}*x9q^UyR?0&gT#K3sIVV7LW^-4svuDBNi*p)a2e?qpMm?dL zO~poaPuOi98@y=w4RXj$oXqulozra1YF^=|p_BH+>q7_x5=B&ehh*S86QW*LvB4L& zXoPKILc$heR*Q&%< zs>CO%#GfFvUHB_i;^`{!i7N3Yh|y4{N<3X9K2at9L>it3_?0U0bd~r-mH2OBk=x_* z9gx~21jzJ+Z=bGu^($4PDVoV{dh^@=;jh2-Z~pL$Zzk6#s3{}wYzp3ty0rDBJ9WOUTRGK4kpl ztq5Vbh;oVo2SyEx9G6_H9dkD5MUi z+mgrAkbZ_VYXpA<879xi^lPMFj_HFLpCSEJOutB)V7$(Mjr7YgeK4myQ|t1i zpNi=hNo!G~{MSgo9McDDl#e|>N}A)#F7q5|jwCz%0_o>t`X$mY#`LSCUykWFNOL`b z%Rf=4PViN2JxTgtOdlovR7^idnrJGae$vm!^h>0P&*c19NxvM^Z;*a1rk`j~KXm2# zNgs^qqokjT>E}p4BeNV!jalZat_Y~o>kc*s*PIrc#4p((+me8KY+EZu*nC_pl!tE)rKW)NJbSD&lMqZz_E0NO|4KX3R(|6O}!a;h;hku!kMe^Oc5tJm?z^3c9t{0wPDvgQ+B9iIjQg3nmi^y z&GOjq{Xrs8hZC9XZyqqt)ZstuHkT8d&(ZUWj>(t#tKgzfne!su}`vb$j=Tz>mII><fqF3Rf5BeLnUCgp#+B!s}h_=94gVQO6<@2B@U464^z%l zp$<+&S9NeudZ@%iRmX`z2@aJGm6)tbyfP?pW~4;BDnZDns+9vI2mRpc^w^Il2@El56I@6*N4jpTij+{AI4%;<{@Xs+Dh<7C6A1hjG2T37_=+= zQAy$j4AmJkIs89VQZDT3KGw#MRrjndd-v*l(3&RX8-jv|GJRFXnh&lgyXp}ZJ9-}0BIz)eQbZIL;1$Mg z2ok(HS5~mlquHm@57AK)*h^==KP35%0-NvCn=Asi( zseXD*N0DA(a42($cEb4Gn!me;0ft6bX`{b^0C0#l}81E!=asxCDC(6O$w#D#G)_1ofvaTGck71hpzwd+K^{ zR(fPlm-TU1wwnMbR|s+hAF;8Pd!1XC%*CG(V)B5SO&=aE=76z@1wb)~fdu)l0jmLHq&A0K%m;gM_*(wlY zb{G{PjH7}MJSr?g?2Mx!u{A`CM#Pd`D=9~{y-4L8=QjHqj?-##0koO`s6M4?UtE-m zws$s4#R`5KCIo;iP;gO{e8RAF7{S5PVL}D1MW4??pT+dAe@}itPbyAG-WQTBk`ILB z6v>A|vO{uJA8}%ieFuLuN8WxBIwaBgtxYzJh&n{I;BV)Pm)ZCc_<-S#)%V%7^JjqR zYFNcDYqfPXyyBO;)3R8_p2cpXt!7C|womW*Bwx~Vy4Bn8p!q?x~co=*b zM}-_3iD*nC3FG)R#-W_UqRF9g{OQ@o0X#!bJ8(L&UomsI z?`WR-;|g;%&sqI%p=BHt))e zlrW4c>Y`}HgYbnEVQM2sJfRQCK2uTIwMe1DeJIV30h9Gw0H#pH41B|fnI~{U;%i1( z#Rt_M;zb8LQyufv9m|1e;eAkWULLpWSF62ROIx^1NrFzHpe0Ih6njN-m1K)^;t8HR zdQIM$gg^v%`odrvD@E;2Dd#I??G8CovhGcKT*o2D0xbo!>?7HF&~K#XAKc42&^}hV zJf&z3!#%Br=5h&Z`83y7^lPg2SxccEXvaK9cv!9jT{R>>0VF)<3fMv$w3qeU;}^BZ zx>6Bld?lXNll_6JIrbo>^;Kh*aMGE-FmBX~n%#TIs=LY3u?|!Qh^YfSByi5%g>`{N z8yNR?p~cAM%;3m|;L7-e?qUEBfuqKrzQB=zsGeoap4j8AxU=fJhKpB0p@0gT5$PTg z5_TI78l^6!%GE4p`GA}C_D|K)24+4M*Im?9J?eppYK%gL1W%M!ke;inpfohnP537s z_*fQP)0nxmeEjDZCFw9ou7(sH!^MGuS$X^*drp|7>iWdHEE&wNswp(p>a{>IeC}HN zSar7^+$-0&J!tLu`+x^)2`Sa@Ofs6H1b?a$=j{i+zU~LAp!*>S7Y6Y0%!hrzw7Y17 z@v`fzV<*NA27^m1@Inp&PQH*b)VL$|U#gLCHtCNXP{olWJ84le)GgYwfX8$-0uXT@V1Xix>^}60bG7W?=Y9Mr-S<$4jLBArL7qb^hrk&H==7{OI{Za;E zFf)CMsmO$qkwjn(a}{eSS2Iv5ko4KO1B9B&2?SPx!9*|+e+cueOwO2&X6_~S4 zzcb-fo4_XC7imUXC+tKpof-d8+{Ccfi9*43q zh;+`v5{DV#5ZXyX@z zp7u~IuZDmGbE&v>5MIq1|ztdC2jMfTTMkvUo zk)%l{e3A)hB0D9WWj(Exm@v4RaYehZ(?Kd{?2@ZJ(_IEEEVZEO3M}9*gE+qcbHgKQ zffy&?2{Ks~4*yqV8YcVl`>@crddeX*Qc_GvjaGtkoN^nY{eb?9QnPC1&oJZn$Ht z$;IWzu&C#WN(BP^=T>w&lc%);mk(}G{95oOZr3^%fVw7G2&Y8IOCC;ZX^&KqdZ_1J zxMHf4ETgTlJjjCWU5Q9r9BO=up(&0sj(uPu^}Z=^O{f2$9}9Ww60_StQXEr!d`=WTdA}E-Nr?DLfDrK)7%s!u*`}v#N z{gH;M`ZJ#vag^c|X*IzSq1~Z?)TNX)H>P74rH~mitq>K}S`0R**8Cz>*NbLU-43!Q zc_1RxCGsn6Uu-*ciC^fFl@ z@jbB-_F;NdjYF)qMI;Sz1PE)O7&pWS1Y^#@4wPbY*w{oN79?6|y#h$rRzwbJGT}g> zDL@4%0GzPEnHYisvorbs4kSK*Q$3*4)1Dv$14Fi_4@`pI!O$T$b zzB!^+8Ult!gx`WyKh!M-a!Kp4uw!K3=55f?{HLnYvXudHIDNPAP#fwIMfT2rOl98z}+%go36S)C96??5TuQKK4%PuGTkP7~fWh~+oN9zYU zXd?ZxEq!fLU-73}MNF6ZoxHC$ZnwdkGDOedQ-30*U|O06?k-Mo(Ev40VVLO@L$y4HBWUffMgqqWx{ zMUlW@z#MSlF`I^;a7a08wdoLXVyi7*#(d_I&Z|An5g z2tCEdw0ug&je+>P&rGDm{nP(g$(8>yeB~8gH>I;#Il}@*l2!dvpNyd2maP$E--A-0 z7WJDLB&%+U&c#=y6@@}SDNT3G^f?o1yq;^>{g{S*g2+m3)I_mrtdM4;m z5vmOV52g0B|1Afsu*-D5cD2O9L(n#lk6BA0v6|BV&3NIZi14)BtVMWDR#(dTwI-QI zbqEi|?+KY{$jtR%O{oW4OY|15go(mJ)e6_g)Yxk3FB8erhrn}6(=0#i4xM?R>Wu6k ze|vp-Kuzu&bY*ww3U(l3cc>@o*o{1vR~Y}G+;(T_N5CoFCKYTfW|hg*>cRY2Utj{- zzgr`qTt*=&L2P&^K>&im3TZ+Xrf7@Hu(!x4W$6?xKum%r7+{t$x)>G!S$}0ka8Ly1 z7fjQVEn4Wj#%8g`N~Fu2+1Cwnm$5)>aHVJxrp!i1t$qBiSG7B4AlGt8SD12+sGpQV9tJnC(}AR=4#dPU%H-2uT2irK)rVBr4T8hP z&7f+!A zHS-k*fWMPlEnAt=Q7%U}er%@dMpAVn3Ej|y_18`!se~W2w;|orzS<<)Kapox&pC@J za1wb+(?76k5^dn-g#T$L3B;=*!XSgWaxr|Y+PC-7z8O7W007{h( z*W61v5$=^f-uNlM!_tIi@hdu?UU~hrLkm~|10^I<193T$zrrGIXst9Y!u;)tX2Vz!J zr2Sh{X-BKeRV-;Ui-{mQfa*Z+rOP7ZUZ*^sXicrT!|zAdUz$K8SF|`D&?_AU|L)cO zddo8IGk3~h$CTWq>=rl;V3wyVh4`~vI4mNmyQvSeH(L%}R2(cy#%&$y+svCqOj=|m zAljN-yl_KuiM%$K6~+|kna^aJI99a68GgGP#^MTRFqGFH6hEPf4SV>*d5hjG5w1vH zai@G=Qm-VM`LZbnfYE2pr%4WMeE&3hUHDJG^Nm2t&}dn-7RZckI*%|8qsN{hi|9S& zOfU{XOwkRcBX3a365|I$-h*PsN$2B=X#`wTf&{4hLCp#$FQnd!DCJ87>{^_f*A%23 z6v@-cp0Z$W@u;FyhqkyMqx@`bPx)9)hr1XEhaJ#bFKd@DrLDo;{Y`zM$}k zjG?gXG8-LRBe5?YhKXLlJbMgObBPamKn+Zn`W4E|J69SLb#5*uuo!4qY9J2F3jxNj znasq!+HB4{wya9AtBQD{)1JME4w}7c(j+`Im7IIg;Xqb2w?V11x9ypRfXHnUzjOjy z6^s=U2sIWP<%y@4MHD4|r1E=uEz}*1Tcmf0^mYG){2-ZIHchm(GXW+_nAIOF*xi+Z zyn`g;v0={wY#VS!+Za|;4(!97G~rAK6Ruury1j=^uzhB@V17EkSDUu}p4}R{o|MHM zd-rL-;E|a&kc` z^^9~<#-`Zd5FuSQ5_908n7)HMXS8#`h_qwk3u_LfWwDo=Mc_J$FC(wR1UB5T;><>H znaPicjJx=PuYnUAyJfC`eC_gMd%6%;SJXrY0GW5Q!~{?;iYXeD2*Sy3nheZAWu>Uk z?Jg#Fl~Yog1e_w%w<1J?8iW_?V@5p%%XBH#F9R^~BB(;D>T-|$qxVskhc~>zQ|+nI z-+I`Lrn`Jmu?io{Vk--X>kIm;A=6)GBaAgKbLNJxjGFGm-4gFWvHGr`$$=>4&$~V< za!VAJBPsdUjOOdGIBF2%j``lwW3nqi5&K*dP0M-b|3WcOiw@`n#uw9_zu;i*48lVy z`iAyD-GDI3JTfjH0Ei56%%YCIh$#jYq(n8Sm@16Lly+|I0~CAtoBzwtH+`OhHgCh8 zk;$qF2PnUKUCPG!hR52|G zQwAczAgHbghmlQFE6mdb9MlIDM8%xgK=XXE!0#)UP;aP^;R=xF+kK!we-A-*GEx|( ztFzyRJk#34rt|u+((IWF4M}Y@M?BBOVN12LCE*1Qmqv_$AqW94_Hc%&ST#&Fk#b=HjYlQL)}Jit_`t>@SP(gf!#Mg2}OsugBlYF14X&q>Re&t`_E zUMgBm-O(>nlxyC-*X#_|D4KQ=#KbU+hIU@H&k{xuw_I}ttQKEK-027JFOZ4i7u}CQ zgFx0LDlPxs$=M+p{M7axL`Hm^Yadb zjfB`HGrZX|sbvGxN7!vmAAh2JwCbkgT{LeFtBEc}igwydajF9Jjq^fW3qGoqC1e0a zDgNWuJ-pQ+Tei)Bhd><}#l(mQpBT)VC9JnBC-P-6N`PiFB#H}7;y)V4i${YoSAFK+ zlsy~DfB(X-!u6zQYNFK+KrudFOeaLaC zrAkw1iqo}x%$^lv@;ACm1C5q7d9WhoC7y}=K_5X^OLKW)a-Ms)begJ7yfj3PGF5U_ z?8u;U=Wi$)TN7|@YvM)I^wtE5*ry%T$$lkqJ65}w&@>03-9=u-FeZgM*y<}9kQv`^ zWO_rDP2FOaF)%B1p4fJiGJ)xYCs}82K37}o3f&bv>US_)0}!>dhqh zVo+*op#geC=mlViVqiB#)D!)LHUs*~)X}+}`L`8&qL@O@LC}RIgO-Di6#!9qSMhL` z*88GbdX||=HY`&RWH3o1Ik?s8LGGa6< zcs7lVi8}>lAJ`S-wdvW&0>_N}QXov;l_b{4rf3E(?WIfK_h^k{iu#FmH%k7ydmb$N zeZ#~!EVY9p+9$ecp_TDr?Gc#)^IZv}?)=%+8b#Xq%NBuzd|2Pn+ekSyG?&ZD%t+q- zN;&U7QYg~o=|)=aK4)uI*VMATNZx)<TK6115oq9-#dtX{{y8=6UI_Xdd=wEMcRaKOjb(W?G(%LiZ*j3BITCT*M3mUfLuM zz`fhD9U*nUV(>eU>tvTgYCq9Q=0oxjNvVS2UfJc4x=$CoJCECFi;&U{w4IRTL|{%k zD4yL-!e4-_XsJ_`l&eOGmr2xh5U%(y=(019vWCzeA0=x)IJ!n!W2E)LNUgELq0s^~ zR$JWqpyZSDR!snr+F5J2p#m-4a5Q#bB*t(l$O`MMWbcD}1zEM~g$O#U)=5%HJE;6& znmn~Ri}Ui^Z#MT7m)geO*YzO9!T3>HYUATCLTp^dUK@-(_O90N9cZNC^xj7EO!FKo zSRRYrX>C-<$Jv*7UfaDw+1GWMJFVQ=7euq|UV`eT{fsN%)@W^zcX5{vuXbnHxV_Zm ztwBTFQC<`cyr9c7f5MsA%L$3+lu+^_Do~uf1{+3~AxT*C?}V{o;kku}4tnwL4o)rY z;KyZIm}M28Bfcy+pW)YG~k!94E;n>c&pRa>fEm-(*4}Z%cN|_4!grabNR1 zXjcdAik04mQLLL3ZDFz!kPu|>*FM%^Yi^H0o&AKK_hwqay}btRZTPfs&Un$sxtb&- zLmI9)8>^T>TtmD8iVCAudp4+Dh7BRRXH{A-l47GEzcGrr5p*N-tmw9}k8Z4e2Lp$x z&}6@VFqPI=|01a|3PSz#nTk6`p9dY=h+Vc!!!{*jTIzNyMC)my=DSzwvAMg*gw#MU zdlnQ|Lc>C^TCr#Z)B3dJ*b}B18NUkeOpnQsqSnW?-Y~9dnJ-++z_kV8G3G%%*_;aw*=~v1oRfDpLzwDvWS`av8YM#mn5GGx8?=fm0|uaC&J${5_pH!l z4rM~di7?EdS`Fb`ooXV^aaGXX?#14*rbBa@#=zf7O{r|Q3kZJ^8@+_Zt7BC!>wZzs z!k{%^mWC;@2r>EqDjd_h7mJbs1~0O9rosN-E;-NmU4}Qn_o9==b;_WJZKPu^)?Q#T zHN$g-EG1-9Npic8g_#kbqs}{f^HnjdV=KM41D|&B_PZ8IY_j6J zg2m=y^$}%MWk#EXOg7uHR9p&w&YwAgwwBGE_U_l3HiN!8T%)1@25>=O=J6lTNdt)MY{ro=aAq~g4E4eSI8F%3{@@m9V!2dHbo~hm>d&&xK zWs6924>--3m@^ERCNXg85rCWr>vdgtwMlQv&6ylYy)pZ%mN9qWi@_{X{&tR7iK?l$ zn7*CEuj}l3!4szW{dVo8kkrR~6m6axg;g7iO#!QB!3cD^b%ZULr$$@}$zhcHi@R8S1;i~>B_1Rw@A;*y+vS*uxLZAS>fpQs}CbYxFht6$d~9s#En9WDH- z`^Ak+{cp9iQ2n}Q@yEAJyXb+IS(Gy+ZOLEk9+8w7)}UWwrjDNIum3eOiCu%CY$A_% zY+(a}afitu!R4WHIT=8ICa%OZtyoP0^x=8Ki?9g&+yrBBZls*0_$`Ier z%ZEv}ri)pta=H3uvAUirXKD*ehKxQ9>2PtmWF1bujWSoUuZn5kAWTFEqxiHYmwh22 zCL>p*K*J39V0KG-Ga3Ycs+qPbo0sbNBe%gEH{G?D2;fiy6vMQ5S6y>9Hgu_EGu)Yq zHzg$%mV-B(DQ2uvu>Fo?%V0;9z!dl-SN%zluMM`_6<`1XtGnaiK<_AgVGssn zDZyF=McsE;J;j+|7j^Y3Rv)NPE`S`1rm}amKiAIi!qN5BxPUjwVq&@fL6re}aV^N! zW^}rUeOO~3GeL5kNB)PE##X@s*adgQ+A?*FeSbr|`^Qg zr7h}f;GAX4`Y*7TF%|*SBFa@lXl{6JlN~v^oI)DqOSs>CQf5iROVYy(xL($=JuwG% zEgLmNeN2X^hxkOj#Qr4ZQAo-4Snmu__c3s7;DK>N_U10fxF!$<&8^8hd!UrIgSA)4 zV;Sod$S>Q4b`7xtVFxKQSqHppJlJ2PaNLGvsMz|nxkX;wh$Z7L#=`e7q5ekflz8w4 zx?6)ZC8Kh0#Ii1Kp`^gmy%Edn=F!({M_<)fP|TaDGJ8U_))8veL4_%8Y|67lkQr`D z4KdN$@$JG(M6wK3Bh~^^8?nGzcUrSQtg=GFbvI&R+A7BY!!D#@*9H6n3wi!Np$%=R zV5ah8F(5{U#2t0|_fq+iw1xr@ns;}+O$aBrZ zrE^%ptaiKT`Wmhqw97#qx_Tw>?SQ8ev$7J5f7p4Fu<(LJf!sNZNuL#oxu|-qZ8XV> zX!8swx%dIUssJWxQxSAHA3@{Q*dHyel~6ZlCXxds2=Y+U4Tj9 z9jK5@VKw(EW;b#e72*gH=o6N$2OlE0rUYDfhEU)Nsab-=dCt0 zZ(y3YH<_v-hgUY#BbEfs<3A}()3LJwrVV*gcn4VhhBS?7+9uMgF>TCOSyLfi(HfqL zAwK|)Y+Nv=>1^r%(}wYE%FJXK%fk8lfMY&3FNJf|RRlUgs)BI#GPR+tkFg_!70^|L zg-u_W7k&+>JBqOtVVw>0!f&PVQHPHLVt+`v)!^>gK>ZLrky9;!8X27&Ejg3y3J;8dTTu14{!XkwtA#5(Q2H zUR)_|2N*Ja*A!Jkeg{1GpqEvKK!=veL z2S}`4^&%J62{E8(HUuC7)!6|JeOMuctQ{M0Oq0eeXgMqq+iX6ZIn0S1c>u%0kQ=K(X?|w(FiV6;j2+G@Qqg1`CYD2sIErR=kXO=wXpxgO^oR_|&u6VLbM% zA1YrQSbeNQo}SiF9Bjy4VWQes;v>yWX7dBwn`oRhrt*{S+t2aCKyyPIFINOR5{FL zN7#F}kq0sXLO*;@)X_1oGCb^ibXOiLV_G#s)B3~lI+=Yg z$&+=K6^;mCTyn|%HvEiUwSO3!*ZE!2-v7^4`RdN!Yla7bu6RES~>bik$wKrrxm0Mt4r`j=SpiE zYaFadN-h%%hA+tthMf+*GHp<6HEl9e1cc=mA#4b9WO*9$0q29-%Rn_+LNvU!YVyu+ zAcRuZ&IfM>(pvOQ3>JM8N0@D|`GU*M|0mPVEr)+crhW6@y=h;*kZJ$(>8u$HocOw8 z;I!@qDeIrIa@ApDU=?C1@b|xp$Z7@)#`wam`Z~i z&U(tdwqET?H;EbrBVu_^tuiZw+F)L0Cp>kL=w5NN#$N8zwM91Ngu~VZo>qk|g{L%! zj^us`(=}Q3k*ri%M5gGg-CsgwBP$(ZA77Hi4D*h12ZwaOBx{9p^U+)_PsZD^c}2M+ z9SW|t91n;#2vSo$F5rUwEF}}v%1m$qx#Al-8yxrpzrZ)T_JgbSY$)O)=Pzd=XNuix zQ+}6jW4@UXJ7#Sqra0(-oQsE5GGVEV#?+N~wHt_-m*S`C_1x%CF)sy=KIu{smiWkDlyd6l1#}urZ2Rnq)@g`*+&U|wq5BZDh$UIsZ z23{B|i%;z^Avlmj&}%X2XfOU)wsCgvlJ+leN-wU?+;X%->RUJoTb+nveAr?zdrJ`= z_b!po9_tnTG|(y$aRL^5N8x;~{PS6z)6oSs-&EVCP}}&X?3`=6h}u|>vlG;j%Ys0_ zJn7^u3q|#>I@@|nIK8Vmk%3<)UYC8!K-)0!u>~5>vVt@%lbSIFUP9` zya0B&n?U@b{}?^MzUV=~Z*gm9E5SN_>XUUg-&bcrdpLjH&btoqUc&ML!LPou<)OzS zbI_aT=&o`p#gd+_p&D)RqYfW=SU6yFC^@zhj_eYzARgI868pF-UTiwDOIeQW^0M~G zuCM$F0pEfNU-n)J%Xnm$I||ix9od~MhmY*$@yPDvd5`Q;qJL!9oi9S1Bq73>sgH$} zw3RSaHfMmz;MndYBSHCy$94sUdD*1^k!X{>z+%#;b`8V=XATs2b|rMmpr~shs(bkQ z)2pp74y54X#-~6YMTCKlPhB-*(r0vfR~~zpPz~N|w?RY~b9^@?t3!I(h@Re2iJ_>(=Miu2&-p_PUnh~>AK}`>_V3cuuWvN^^n6+-7xrKUI&f6smU29 zgF?bysAu&6!kQz4M@!2!ZJiO1P1Rh}W0Jz@_#N0Nz#h%oy$U~O`r>&v75Omx2Jzlh z7gOE>YhA|6N7^5|RC0&Y@oy}|+DALwaj{-myJ;NOXHs_}hRA66mWD4QsEEEz{d7EzGAZMeH+PV}{8>f)%jH^1-{ynfU z_|F)HaDo^lGpiia`%NJl-*qF@@h$}=p=T9!1W?@Q+(;h$JUG;TOYn87>rneJS=<5+ z3!KejPG$+(S>iP;(XZ(yMlj!Ps9%_lmhndAcJ#xw`U?k@@^szXV^ZT8WTT8WVVxNG z2=Kl3>Ls8EjYbM%b}BLDGsw!uriGMf)*>oIoMJysj?p;0iQx-hO{l^L4vz?>!5?_O z&LF2Cix4rO2WOCR5FLDLoKdFEAd_F6K_29D2ATZo406nulRt(NsL*|Y;(|>MqfYP< zfMifUL^&An!muHZ@BE)Hp58nwCUJq6ALLj}sF4 z@`3{lHU4Eoqy!T3N#IH*XOWKi^EIMgNar4Y)%kbDcEGapw<=s(>yl3Eyre^kQQ9j70bTW}nW)EhybFXv}ogGlnD@0I&lI0Ar6S%+6#{$ku zDCj^ef>8&5#9?Ss@R)E@@K*?wJmzi+5w<~VZvMp0+2HOq;p6RCsC>LVX}>uf4hbfq zPK<;mM>^>|BNBuEr0|~CNGcmS3|xCvD0^#s7!j-hLdWP-!lTAt5+jMWSQr$x4{@t- z6s{jD9IrnOhd-6i8yl6w)o7PBYQ+RG87-*+VS%uZy z7C7j2(U?S^$+Cnw_dZ4(k1JvaLn>Tt30*NOtGHX3d~Ifw5vD@wu-gT!C{~%dL_@*M z#jN_oeAw6<4uWQ%0q?NI;9lp(SY$hM^tFBdNRRZjRa!=xn*;2J9mXCSW-n5?&Xnq`;`iaI>-rc^N3#>Vb6L-qsqo zAx|Rgo^1QEL8Cn(MPOr1F74ZUVt_FEx$yBk(*He*c7;l6B}nT&A2F3Ca_-*B(djRm zm1e{F8Wz>umD=C`3LY)g%$SB;pVY^}?wQ=8fMay?)}?Cr_o_eVbVUNYwEt!X2O4dx z{3Ql^xE?z7c;xHg($LycGyAuWNkG3J#{&+ciJSnHMEWeg!&&lkdqGK~(ky;ws8kxH zvVO478@5rc&xz>|wo%zuuC`H4gb`&F!Q*cmXF>;AC(HfpY<^I2-XScx{0w7`d-kK2Qos)YTD_)f~LSumg#)EqD-metb1ToVpSG6FW8j{vAWGh@=}v}V3+7{Yhx zzPD?P&sL;sy(wXo3Ls*%D@_1j1rCEd3+4G0EeP#GAtTVu3$F6vXvo$ic(h|BaL5Q7 zX84t*TEXDz@w+-vgAz{yH~%sWc5KoFMbiyU#T#w>(vm-ldQo|!z=vd+AGlz0P})JL z1(O>R;HAeTS^~Hg7lb~gK&5ibtny0Qwm6s@*yUOk3LZT zvI{Pchkv>yzrV`?NII)Y%eYh#C)91a&y)jz+p;5iUUXCO53kRTkyMfUifJn0%69S~D#H#Qs7|-=K!0Fq zrW&^oKKd9xw8|p_@&Ci#+d$b>Tz9_b<9>DD+uf(77HZUuRQIR_Ezu2aTb9~FhCV`o z46?2F7Vm`_K8(k#H9R$$g#^!!tbx$RB*6g_tZrg#6I)=#(j+3mz+e(IvTPF@C)kl~ zY?D0fC<*aL9-b&Mjuo54@Auzz&b_x=681RptjVm=$31oG)aS0fckSA>YuBX&`M8mf zhbVDo<`5O_rh@D_u05<}2iTX2vX6fEYk&I-*JY3W?aJiCJyQQ32y=hKlE+vju~;`) zH|&>n$*3+_GKl{;W}rLJXk#v=y)vIdjPna0CcI`Z4MW#XRI@9dGBPGA_hW9yg`^){ zs6*%CNbT=Jm}J$CD%UVbRYC;L@?b2kiv#ayJau-MN*Uqh6SFXsmBIc#v4Y)pn^HA z<^jqEs^kF zZo6IwuC9G|k4Nw4s>*0+J#QT9xr529!~tkLqg}V+icnrlekVo!M%60d0NhxzpJeakH-?r0b@X$?sr>G@j=Qan z@pR)of1o;>`PSETHf^`vVj%taF;2y?wR7K#EAxae6TxxUmw1RSDbO(wNPQM(1Jg{S zXa>1NfJbc_P8(;9X+VMMf4WY`Xw_88zT+^9Bxw_s-uJb0E;2)B}ENJDwsJP(&jR(054qA11;K18{B7DpCk5L#(CV)Z=`$ec20(}_0?)qszn zI@3>C7Z}pf00Ro~*;g=5(LI&Xe6HP^G@_|^Dl%rBPa2_?#p3e|tOXGmZPE~EibS0l%_F3V+@Inpizz2LmmgU6>9Qsy;wlF&d4j{%?QZESx+ z;yse6hy!Z+(kE}0&_%wj-WWvG5;Ye%Nn7({(Kn5vPQu6E*c3;f&#+|6LHba z_T+m5;1;8asz6I1E70?2-~fUfYx}rgtTlDFMe--ehM+AUn1gbLC}u1|YzQE~w#*!x zlAytj7mx>NY!w*05lat|tVsAme(QqY=2U^qFd`=bBmg7Do=E7^2SxhGtS##AFLTLF zbh90wcIYhCLl^0?_v+>#2&RJI=y`9uz}XA$_Z+;&&bWvAXn*p+(eqqrxk!3UT9+UF z&3V@hwelU___m?6`nniib%LB$AB5GJvzDi`oHcUNt|Bf7-r5QuJ@2h}>i}*=6ZyEa z^`fs5w=hcBE_h&;k$e|{9~X1+pl$}UP{I_f*;ME8ij?f^CAzZw_>@fhj?1@$$0w!V zRj@`7_c>NUTJoP*YB+-W)S&4=*%uAh+@2g_8?^-owmsD{HK1KYLcY9+K@~ACGZRFf z`{;RjZu(bGD_%&T(S&f0fz0XzbTHCX1LMJ`QTM|{nElU;p9B49>jUr0%bGd&Z9-lo zfq`aMbh83jV<;;!y*kB3;jKo)B#5g$e!1;2OX-S6;mp`Qj-!45ZPbDh=VhBwtF?8S z3*NWdNyyrX^i4Z6GjT7I1BZ2+i5ZY)$BtK|GqnK$dU6NWN;Z4^2i`PNMiJFq?d;;9;o*f>FncqU} z)y>cavO5aySOfgHMXgWK{7)6qehy$Y#TRIyy~;iz_IuhG1JK(#yqLY+3|JXT2>QXPLcM)`^=A{NZgfo(p8bq=&Jh_De{$a)|IojMOAfCRj)b- z%hc`ky=TS=nl>ImT6-XE6i9aD+_x!m5NPtKrCkrCJssb6NW8%TB(o$wzg_JbxCU=k zaSs&#UDph~pFl?fKHy~3RY*v4T^H|qDnt2khiAJ7aoyDO;O-B(^6tlzC(x)e4r;d@ zI;*z^{jIJDi)EOA2_pCUF5)XEPk8jae>X&I@frlYmWH%`i1Bo0vb+xotBDkeG!vUN zjAh7ZO&r=@I_U}FoaIJNQJl_FI1vT4DlSqCDppJIvMAe%wnBq65RqO155uHMB@t}( zkKE$V1*ko(LvLCel6XRe`h1fLcGjwV#rwy1ca&hT#GuAgE->izl-u_+rrbT{|KTXN zB+C6?b1Adx$>!4U{I9w6f8M$DJOAU&rLib7)vRhBcoBeQyA^N{HEi&B>hF3?k5|8( zLzy`{VS&!dsJ#1G^~vxE?!@IRh3 z8(u!?WvW7;lOu+zB$3J*+Lk*1=>N>GK}tEe?Ax?%Zn zR7aX+T1k{Vwy`rsEFRs)w4AN_o)no!o4Qh1mZxLQsFi`Pk9wm;>7tRP?(C%)Uodkb z#c8vZ!PW;XC9FnnfRU02QC<xWR@*Ss-AN zJ#W39DvfM)zs^+Nl6UfjHpNJv++ce}vW_T24=1V%GxC9 zVn$T>j6sInEM>zx1uhO`PMdqsY&a_=M?;dfQ>mTOEOA?RjDH_*)tPKpe_2`UVJkz6 zSMRjkhHkO6kpDCJ>og^Kmo%*Y1d=t2B@m5lg5Mp@Vt=1zm0Qiic8BhB0ph%7St=PW zt6A*6zCyETk2D2f*TQD8wvzfNmbxVeV-0mR3LyL#Y{vuw@(DON1zIs!rk=#Ts&6X* zg(a|cthOErxF%jOjI6OTIL>Mwi0yQ0t%yS#;Uq998nVL;wcV!GC(trHR$J{GN?(B& zy|Er6{xRksYwZzkP4uUI#>=R!IPderly!}K87@6b5B0l{#<(ULB3xG zS{392gJ59P&lXegh${3QHSSNR5|JEK!9(0aibqjl1NgzAL@bSL02ub5p3y3nZVBu0 z;wpsTU0oy+?8m`zPC>mnThLW$k+41n`ejdL#*-K^JCCU;2<@hChADF~z|_XOLnTD@ z+PfG~Sd}sQ{;jBtR~Sth#-qgS9?@tayXoVI39teXZ}TG!(c4Iam33hy@5Mlar3F^D zQ)v?p+;Mp825Z~H%&g%lh220KW(_*S>?y^@UOOnZ>tfJim}RHe%UUFsCLfp>AA?hH zsDe!#V>OMmVzGgIS}|h_hcs{6GWqi*4!)Ok=p76$`BMXgbQ4Z=A#Losa3}5s1vhpu zO7LfGWM~sqZ{Vfg%zp|qP?XQI6h>#MPR7sp`Mn%Xe&fm=3SMbfZ;*-Ux#vnO)p=aO zB@;qV*SM;6kKk3p8j@e2tXGh!ZkL|{aM~oLUO9PrF*mL;1l`(}(dor5E~a2gP*IfL zxRN5288$1FraJM_MHDy5cA#+GQ=#W%x(sT~af8K?3 zCiONy)p*Kv%V07luOb;wW$3L2F@M4+gpg$AVv-sok21-GrYw*v7@5lG?r{*&@Lpu3 zS(~GVm>+V)i<8>qkSEYsR-kn=ZVN9NLYFLrz$ zM?eQFFOn_`K9l?xZLxL>C15=^)HY*HU}W6Jh&Y=lctbmt=71QmG6#hCdlMU|qFHSM zdCwd0+pRg(-aryXdPImEkfn||MjijM ztxf(_wYK)JsJt%#EEHhnmJ%?2nhiEbqCsOUuJN4YpdR%lNsdWi87Jl;CuYh)-peXr`f#jhfoxjzr zy^vI^*^EEPWmo^O-OYtlS+wI2N#=~g=#osBR$a(Hia*0DU4i6LS4GlEiJYbwoS5Y!+R?&n>wwR&$Qz|bIs7> zX~YHH?j*&Qe)?h;PtuDD#_6sktZfMjttE_x+EH8J>&NWA+VQq?eO?*WQeW zvAh~GAXsB|iI=6eo3a2H0_#7k)d-F)xV2%dA^Pcy1;#C4u&_I6XEhjFscDWpF*s7- z8rTLXXPQ`+nF>e<$l?+(;SrzyrvsPkSz^+OF6W|dq8HCHucxQDQ?#wcuqrF+S$J`ig{t<0p%D8N(#tqS9)Su_ z9WeNiA~iI7!2#)E%yybUsTmR@bC7N+m2sy5Ky>oM#Rd~uu?6XpE3oQNkfpmml+wil zk)#*b+giO2xFuI|nEh5=Jx{e^)8BpI787f4=rg&bf#s^DAt=L9CF6r-4(yFpM@Shl zouXm+%-UW(O0}0tb?bs^bSR-%J$4D4+{x&r zeb%X3LU41kKyBa9FDeOlrRy=`A7lQp)*dK~$gW{Gj^q_alq9q;7@B)CO_=#n->McXI&B8aj-ZV=^pVu%7E@KX@QW)F~bKvY97h*HIH zCq$K=Y-}<4^g(L`26Bjs>HvO*nMJZEVGlre&4?finV;;kK80yvnw-o0_>2_+dF~|U z1s6h87kA>J>#2-80S}a#<^*XGpb&dXzM5!@z=B^vn^>`68W__`!{i?qFC!O+XA$gw zxLCSOw2M+y@L>Fvm%RzgWLdPF7hL-*@co8q?_9r`_a^=tkox1LI4lmPOmQ&GD_+14 zthth1n1;CWm8M*#GI%qKxZ7 z3jIYp6)345IjqC^Zu$#dND8mc`8?OQOMhW+m{o`eF=l!=U{B9Sd35M6LLZB8q>-R* zza|TrKtv_LkMR+(_++TaPujJMi8DBFF72HZO&Xgwm1Wvpd}&NVgeVP-p3-^|-KEPH zboGNMFYPI!yC-GBkN!#MUPRU>F>=IDwBdab*)u8ge2IBQ3^ff{k)5Rt6T>uEq@gG< z9l^5IavGx3676ziv(}kM=4^s=4Hm;sf-;#0Q-N*E2|MwXg>*_HbjB>t`8u(k*+N*Q z53(Sgn#NS>hjHAE&MwBir#>^ord3@chB)R3RHG@Ww^oSRVG5M3_`lQW1~xKKUYp}` zzV)&r!&luMo1UVR#%cW^w*IY!XN5GwV2uce&twX{_5 z?NmZjbd}o6DdRN=3QK4h z1mj0I-o;v)%{=WY`j4a7dV|`$jR&W(^&whrqDwVWCyCv<8$cG?I~6ZLTL-Y#2jH%O zZGDhrc5N$ZIfn7*`R|ySIcILtzWbD>;p_Z_{d%4i1);;zubsLNo`+6y&H3ST~%loj7Sl^cW(oc6GDJqP~1(xYG^Mc;)eGg zyxa|mWJFoR7BHGxw)dbnP3VTO7rABri)5)&i!XT2dhE+-?Jta}ALa4j z|A8kkxg{SMBatwL{W1+YvipW$+<`OTL@oIZ_M)^^ARd|wk^Vj0ArRVUzrRvRetRg3 zFbg1#43@YZha3$4rqoM~GA428={E!zm;1dxneoRcxJpfC_-4$1w(%Dtu1(Lj_hJi3 zLtNGXaC$Z4GttV@S>u=&u2sTh~u1|)A%s%V!3ezv;>L%ND4^SFZjdvKI> zfkb~oLQZ|Yz))9WD|y=tjISm-Et2Te-x8hRWtazErk^ct5n?rgZLWXbTI(7PyFR*`dBq^NGe$KM$2tmN2Qn=y zHpOr}Y{MZr;c||r+DHt+5Jd|oWq;FX_DT|*u|o~L^>slDCV`(1nVfprqmr>W66Qtn zn$2#Le_WWq)&IRWmZC0gm-EneInos89$d(Fc|IM0&yh2c5TqSoh$6Pmu`{7nwsRe7 z9@0LxsedKQBQ@!ugqLFL^=G0u);90WCcsHFm%~L9+iZy;fnEy>IG08|tzM3hP|H^o z)EW43#!~o72AGF^Z>`akRIa;Akbu0)(K6&Dg&CsozPTzps7=gmc9*5t;#$!`xq$> zg=I%S(8rx@LH!#MrxfJYD`-M=eh*iqLw|$h`&#;GwSam|x}DgM8umk_sR(4^u%;{_ zP&)_%L@3(2fIcJ|mQ8=kVWVj&h5`zNGBu*wI+h=cvbO`1VCgr5ci`foCjeJ1lL&!K zQJ#sN6NKP}af2s_bH`N(;rhBtwuGZEiJhb3SQLi`RiOkL+pNVp1u~ZM3`hoa(p%+e zH&^Q(dWpaay#WQdHL;WfL6Lb>-WB?wuEaX6EMT_4 zMasLZ1NVfh@29%Yft@VA;PQrC7Dq|Q#LbmG}viA zQ{mRaTx%*_1$05mYEL?S_^3+ld9S3hS$wl3->Yb%Fdd>ig}DWq{MkNe?DT* zbHa!91oN14{pM+QlmmTL`5xw7QzR|Qx^?Lh0N4QTT63~KPU5kk*WpGfied(k`wAJ6 zLlh{eJfSB9et_2N@(ph7qe+<8K;Tq)>$>PEQuNi6cfjQ!cp)3{1t4Y0jnJSbK-|XG zRE_DuWU4a9cL5$iLrd2GQTi_|mmcF0A~;y3+|+mx^J4Eiv4iR&=1TVG}O4E4bu!T7>#ZZ zlTWeQYeAuYG;AF_jYq&hfz=PIB&odj$!`w$1Fb5;<0OTU%qsw33Mc>sH-p0cVN)YO zPwx+-sfbZD1UHa^+5V&`PoY(q{BosW_Va8vcH|-N4%Mx-F*(~8HZA)>w7R0o+kM+lam&WqctrF;Kas<;+%CuEWX;yoX_QGZ$ zFZ#lNwn=w+b(g&~ctHY>d>=3K3+%VWe0w~)Dn)RVI=b@N^hzc z!qT|vKyvczsT%ao(L~Q`2qRpyqsRcl09fl+oAT}oJh}-4afX{|!7Dxm5}zLalU@^_ zrYwQFq=x!dnW5VTbvF5Ht@48Gwiz&aE#IMHKk5n@ly?3^1-$d51^7boErfbkg$|mA zS0QIgUWG>2OV2AfO>k1Y{%>szML_sonr-vrsF9~36$7G2;xa6* zO<1K991y2fURc%F4q>(8x3uCZ3Ort5jcsCZLU&d!;xs>Vfz|F$W>cczVdfiv<^fkn z8*%GEf7F{WdBC(U$-6K-hV6aGd@+VOJ7^d-lZpIlJj27wpqQ@p6$>ROlu7r$p(t{z zC=LBTR>MY4wcYs!2!%0Q8M`$c8qL6Ps+?wl?J(j@?#2bF#UxKMZ$X_L*DhKG#uUxs zn{QS#1Pb5h2Tafp7ie4O{qkEyiK2r<8GMa7{Kggl)9%jXg{EQ=I$T^YqJ zRGP7cL2X_o&)XTQyubR0ae5XpC1!`jSmY-F&cJ9)|9d>WPAi25=gX%jUq@gjc{5^f zry0^eH5^lv;9~Lx7we!fAN;)n^vm3L#xVpbWt=)_h)VOV=_wRP(H4pDnMjne#TF&F+F3W{3 z@@Kwz--2L{<{)=Gu8~2BMTG4MRIP6j1KI9NlhRZk7l!9mqSR59zQF)RB4F;0T(U8y zcI^Ue-REa66~S(c^%-kj6(MoYx|qI$UvKjJ z-S~O;Lu6!RLnOp(1KzOEx#-6NKK0}x7#p^*a|H5We*vO|z{2p~C|^Tp#SYT=F3|?9 zgZ~S8bJ}3?vo50tY9qRUZ5O5*die>GgC@xzEy8h_2EY%!ALVj#SH#U*z+0>x&XNPY z+XMk;oPRSjNo&q7#I}HaF2)l-5zk;?VEH8l2qt0nEV~spBkP+NDeeuuOo1>ukeLTx zO)p|*)`Qm4PfbDE0UoyYWXX;A=ew?ln##X~DZ&(hmMYBI;94z*f~=Mq88pN&E;gU? zR*T+R*<;899$$YAt;!=^GxEI*Few8P>PnP7Ls!JU)J+NPNPzFEhE+0U_rIW}Q+D99 zUsI!C;TFtgUQ}RB+N-w_FFYlGK31@KSA25$r{DLUrzmH*_{421(0`ab8W*|DhmJA7 z{L_b{;*%5!Ru`m3E@axZ=1Pdb1mg`m%N+!T$@4lZpg5E;Omp#gFzFRRO6$#GA%Y_J zNGo@)KoMJkE`)fdGeJb~*};LtvinBmwa9I%uSHI4eA7mXS{x(`;+iJ0J$u_;fXV!l z+8WoT-1np|G?>`4#(w}oC8)L84{45516R?e=UTc|k05>HYDQW)q93qt=6iS=i=Go?QcfO

    CdG`CpEvI1vX7 z^3ufd(*uywiUZB6TXn!6OIUHB0|d(tq`gJ*6ph+J%B+#8Bgxo-v`@;mgH73)tm^!9 z#(|WB*ZOn@`nKKz>|HyES;3HWagRg}Zemi~rNY-Ne{Q-#X;v|J2p>*&o9BQ(BvW#B_3Det+UP7lh}+TSI@aO%r?(8Bb)SWC4S><^E|iQ zoj&KrW}B~eD;(vev(48K8nw_`zK+kiGiI9;#8JSi+2*SVoo%5>H=?}jXPc)xr@Uv* zHeX8|d5K#`h`eXbHb?nN-sWs`oH+6lw_0s(q$}Mf#&@;}W$JZ}UboCPGwP*0T6H#| zHP(XHwdz<&h&akyW0(EH2z7-oYAE@)csHw-2}ukoCz*m(95~ zZfb6pUz+tg>YPp2+}m8~PIs@LbE9qppGMuQ=iCGxolP&gm%g0qUOVT;-8p<3cdwaq zui||+J^fy~zRsOD=T^Iod|K_+&bdjqj!&!a1r`&Oqn;-AYRD9l{i0 zjip$5!1bbAj(3o&4K&JiWiZu%M>!i>ZCUIl?sTvAEqr||_LQQ9eO4E3Yy(_ng|w2j zhVO9R&ZSPK`xDlRSLf~YtsK46olXsXL+PL!weP1NaDBA0stY~aq<i8vJDK}7I%iqZ2B_K zl!0L2wh~F1XZbSE@M_aHxK%2%>C0?-#p)Z0q|CE?nX9CFU2%TEpDU50m;2C8_o^Z= zkq2Opfz!*($Mtibg~>FOo;6nhOPPw#c>zP|`ndvZD!lldS2UDP&J_SuD~iwIP(777 z_3xSh2t)Y85P4s8XF8e3MMKRVi#z?!^z1w?9%?2QxBAX>bsmQ#hWR7Xl8fL+J5w12 z!zT_PX?6<_Cl26sEgahU&?fiG2o7vL_b3__AaS?Lkc?eB$Mu4NLwL{*uusZ?AjPp$ z?bA8ZA$sMdB9*mEO^+{C=#`g>ym9hUg-d60P z)K*sTzO6y7>bp8!ECoOyx$=s1LXS(+SIsuhQfO=XIz2Y0Yi66P6xx_>&|__S&MdM` zAP4bjp9GeTir$vKUh+eL2T=CO6n(Cur_%Fgn`aP>hg1%~2Px2B!|F1dMZA*yiWnIc zf|SXxryoECSV+SR%t1;m7b)uMN8}1In=v{_YXL+-#)*wjBdK}x+05J&x9ieS*mwVl=^mUWbRw7?5 z$sWm&$a8mzC9q5aB(G80*SZyAywEgD7o;Lmu2Ymd&$uzDK$)q^93gVUE^!5ri89Aj zrXr_yiM31;c@AZg_O))g%7m|I&m^N%(ysH7u>A=ZM9sQZ01afJrUZCa4E2 zb&7JY-z9E_|0rzP_>wb;(B<3+@&ok7OiC{2TAoJXG|(R-WfUE`oXsf%-iU+_WtX$V zR)$HeW*Ig*)Szc_D_&)sVm7FOL6`bl6J|984UOhucFL-*&#QoGAt;Aem4Y`E3^O=U zBU2WX;*c~`Ja1t$;m{{&C?b426V?j8CZc2RN7AZZg$o(91VS-z5!mgiMSYxpqJ z?3I@)F&s0~jzqC!p?tZVH$+nKB6LEYY*kW8vKs4Nm4tk|81cXT5g)aDtRPik2+1GT zn+7*k9%Iy6ut&vqS#4ahI8QlHw&Kf(gasc^+Nza{YZM?coH`dDOb6%m(ny=GaWFk~ zZnk-f-UnHM^~Gs($mpxwa4T-7Yr3I1Y*(FI))6`4 zPMyQ5b)_3@N7~$P`vNR7Wlh6m;tiYdG9c;h)VsXwHpEl2>1jMmJeTvtdiE|lyW}o9 zHE>sRz%9M2xzskE-3mTysBrMw2k$Awe*Y=LYim-#FI<&e0_$ z#0xYgdO!p1fPOH^kcpuyjR!$?9Tu8;vY;*R+?ir^B#M!Z7^>=tj9vN04q1dj3EvHO z?DU_dd}iD;X&4arY}dWvL+r#;vJ7XV2rUzu2|roDZt`t<3)$|ug=|ONLbl6pA=`Pk zkhb&v>VIDLlO@ey>XOmytSnZ2v|rln91@Hd;g(GWA!~-kSu-qTWn0LaVWFZK_Cgmm z;gJ1gNrjyNnkyLDQiHEaKNBiuKqr66EOW=AnQEN>I_R&3YeR%uZttGN6GMMTV_yBQU5x02vr`jcjm{Eb+GL1q{B(v3Wyp))ExdsdO?W zk@`${BQkhk0}{jlL6!qRL_R%8qYaKS={TK5Tu}|A#1)TJrv;eR^ZZrdkCW{2)H(A)EFj;AYBGsZVzBEpFiR&Qb8d9q?8yw^` zl@>5Y6r|1&26z1)tp*%EODk0@f9Dk|h^%(%K!e<#>?eV6O zun^}kY@=~L&HRCH4(!j-^O9d(VH?49cA@gfV?NTNVU-bd%&#AFVJPS&=dQGprx3<7 zsVWpq#R!zs>@FDQb3`CkOlb>wf~|6rnHKu$-xK zH7MJ9G@oWr6C?qMJaH4y`F|_Ps}SL+2iH zrTo9{N?VAO_>WE1xPr&T6#V26$+D3>OiA0MXzo?x7u!U(U#C%JPD|pP*SiiV)bNaPs4TvfM5B7 zj7YM(zQkOZ{6z?uTa{nkDoT#}0&jFDPRMFBRxg^VTZ@+zY^P_6>t1f)=-Z|*TExrs99(l7+oME6#dHcarW^K!KxoZ zDdh(>=)X5K1jv&-_Fv&{`L|Mk#o(sAX3QM4?akp@qu97ho+G$AGShQ$X!|fj=UVpW zaFXn?htT~}1)s})GO!aoB(h5KIL2Lx%#fhn>KA`sqU9$KGwBay-}*z`N_FP-Banl? zCYS^I%pY6uATaym77X5%!(bi&AnUx(16Uy$&gU>walep%8^kp`gC~Hhd;C)jT-OYX zY6f~vv8>O@zF{ZQ!0})ghy-#N4^CkPis*-8 zv=mQ~s+3J!C-=4t2F#gb#Q*>|5X@6S@|iId7c9n1d}PX(fDMNh;YkpfFJMz01K;ZK z1pO6CaGG5Af|<`2N;P>5D}CsTe;@B>VNlTpdIGp7k>I;CDj#DAL+d5&4dhL@O#Ij%-qlJ1-!} zzVpWvkmvU8u|j+id6R$`P12&CNf!x@W_jZpLP#$3K@jJ~hL^5P8k!P;b94`Y*b6{f zK*3{ST)4uJe5f>lpBTh^Z_%wdyw9_Yut89xOWu&0by4yihF6Ox4uHg)gm)Y`!DV>{ zkCmAy{fD(OjnLH1f&D@9{VOA7Ik-^2tN^QvJ%GF}a9Jb6XI-?YRGKlhD#8z~mp84A z<>dc0WBu`f9@unE%Wa*;n0f1c5cTbLoQyS^5hV6;%$$=nOoJd-23q>3y>?#1hW^>G z$w4vKE1jzFDF8)7SRXjhEgbO6Bq4%P+741vwg|%3x$tOnvTMfcthItBh~+2P;}=-A zl#4}jtXIW>Noq2XAJ+ zK$!5hY^XzyaYPc6PjSpR>(lXL7M3UYPGkeeESdS)LCWNy%#1(ML?L@{vu=enGKpHX z9Yb~61+J^&DNQJy)gleHs`ZsJ#8~dO>RpgP^@1|tPD|3RS;<;8GfnuK*=nu7(R6>( zp)nBPo=^;?&VvJgsw^A5j<4b^xaZiyijvj>wQTf1Olv?jFFD$c`EvHyujfTQ zaj(>sf|1(RE(6;|D+4Mo%6N`4{8kFMmffLqklTF57sGiueeD|0y!QM+7&oDnsa&!~ z8aPU3g-J;g!+A4dotE9L1|bc8K0<}T=NG@}4_qQ6qwYz54^QvOtVrsROtU-QXBNCq zLGHz8wG&?HPrCSC8l0FTV__b2#qxK^CdY^Y3mL7bi5QiSm_-Sm%<`dLT(lkgOD+YF zF>RDB)%u>BLNI%Wd&mORtl^DdTLnX2b{l|>-Kh*+hf$J(*m7u@A*E6l|4S3)*Hf#Xo~K%JK+zM`5qv6WkD0YL+JGlf>hbSRey^eylhX;tiZ&TD>@m4fFV~e z)GR%NxYT|``O)aIth%){B|IFBE^Q)z_*p~l&9cY;OnhU%(i@w<)vG%(`ep9Z^vL30 zTL%_uXfwe=gW6uOP)QpO7D}{-V4-1|npmi&y#fodAu#Mi>^eGYq>&PB+A3i%MzszD zeyA_(7X#jnRz@v=5FDFEAxsrq0e8C9i$fYPs1a0<)ji9{eR1-a45Udj`y-pW=u|Am zeW{RRL$HkpJBV3hCn;?$cLcve1jR94@IiW_9M}0A*YelOQEqA!WQQ_)*$4Z4 z^4le-Q^Sm&cZEtN?srcsG}j8@?mhdJkCn17|0!t1%9-u9Fx z9$Pv2QK)&HxhY+wx)H{*r|9)!y=dTsysSG`M-y@&M2NY69jXToh9$qjS_mg2JaDY7 zN7a&7>{qtQ;N^JW{Q5nXC;IHGUk^{zoV+Dn&KiO5Ro|9Y^;YTiMMI)%T@NQWsF2-R zJupYrqqE{JRgZ&|E+Yd7fkAz`?C;qj_*5B!3bT8^^qH@huVah{-|osc4@dEPp^pMV9PXCX#W>Bis2hYeMGqm3Tz8qUq>T|2mQC|68c7IPH~LfMM705Z3U35yDbo3tAnIEkGJv5q?Zfd*m=oQBb&Gcp~&? z&lGJMQI`M6D%n7$o}v4DtZt2uQBe7QdB}$}H~EkzFdx#a=0lq5d`PpQ z4{3_@p?vD}FT3Tds*l0^eCXwcT=9b7kvufeG+D>)29w+l`0`0cO3|u@4<)I_7$9cwzj_)k@x;` z{Uc#ZVH}NMDUcohfQ-$QDi=~rFcg&$mt(nH&&YKg$kv%MGv(UV$!|8YFMbkq91nEO zphSJvW=PqsGMhj;+w&<~14gRRq;2`@c=%Be7Ve=)TRs`(A%UJ{+O;f3p3Y9aB>T}f z-?iM?Y5og#GD8LE(!ta0_V@d<|Mk7<78URRPrkeZ>mTE-3S(}gk@%`p+nz^?7td*s>eWs@p$ zZMJvQ*-Esh>JyDdyQ`!?Hum1iDH^fDS}O$>uZi5?iNMr$Nj2IoM!QCnHQn-THwYTn zJ2Stw{zWADYFFBKBp86G$rs)_t(kz956L?dL}%_+P3@H&v1NJDAHFPMV90~dB|&3} zSXF-)HA{q)O_C2GlhciSSL53#J}~jb(h$*s2ga6qm?DrhwH^Lb4N_)aIv)JC*{8Yk z`2hzZuCQkiT%of#d5oTlad94@rzH_IqC8ShMWSLm@WsLrm<2V1;5mv&OR98J$uU;+ z(nMrW`NRnEhX|>C6{bv!_8ApzWh?i`$(UA@)e0mzpz%$(e5e^wAfpAJTN6E8k*NUC zT@yWKK}5%UENmQcW{Y-H(TcYrseU{Q7d%lbU0e;TvhfL3v z(MCvIAgr%XFBezkR^sJ0>Kft5rqudf4K6&iZ6~IlF2r%XYDl!vs48!F_N}@~?$Rb^ zclJWv3MffLAg!*O%_n#05}b$L}-|ug7)C-lXc2FIqu!-dgaP5`4dMA z{c1qS4toRH_c0D$^)EP;vNqTMPNdka;!@UJ+00?2jAsCp3QW62v=td+$Jsj$lZkhe zwTsBxd?Y1wqO4P*jAnSgde;& z0!J1Mfd~Jkh%Ql9k?Q2B&{Q=V9fZw82Hx&|^$DF(t=7ZGwNzz(2NtH;5&h^?~x(NSxv^x;^`+r%K6R;HQR* zG*(Ajv|((aDO2)mRG5dj#`Kd3 zWKP9uPmGe4KSjWlAi|1>O9t|ES~)4!_Rf5{bjn20N_OO(eVI#sR5O(iEi?Jo^;-9k zFO0}l)Lksj=)@gm0T-e2DVn6ZtQ&m)+$T+K-tD4I(Rvg?d|0v}*r(@XOxfL1&2kY$ z_5|Bae;IQ8BFYZ<;3<5RN~M;4c6Th@uF5E_kLHw@t$=&N6@xfDD zWz5bi<7EjolyOYY+lw-^*>#7{2-vf`e2`0?i*|gY)eh#d7nJwIe~9x8)cnbw&Kjwy7sW12PmT^5U0GbohT5mB>0pMj^wKADBJHNYT!#1 z&*~aM)R~v1vUui@nlw{mZ3mWKvvKh)oEG!;O#u0Q+2pT)`Trb&tvmJ+Eyd-h`* zA#JshJj(U~W~>8~ujn}9u`gAUZ>oj&oG|tn?LIy&=BdZU*0L|*64;8`=ljsTun+zM z4ISW-ykninn}lR%Aom4#t7+ZsrX8{B=ErttfB8Ko8|?~8en=5bgS74)&AyqLknMTh z@HFM>-q9@kOdEo|>L{BOO*1#H=MHE4}-E`~vXe$pTynek^!{*`nD&rhjqR>y9Js~YKfk2)yvQNM->&f2wGP*Cu zBrf+RGB?&-sbzu!1U<~o1X1jb*T_kk%7G|xK(w8ny8VY<&v*={xkCvpF=6?J_P z^?`OWSdffINVm5gdB2a$*|ah15&KYN=mWGw z6z>lZW{Y8mcDWTn0@R`54)VaZhcue_>=>X@r(lm?g4b*b&I07&yf6E;-T_loYbATx zm;x`y+UB?W>4q5I!@>hKH~D+iXNn{E1LO(CsZlRg5YE|d5=e&l+KYQaCI1~;Vl*D% zr0l9)5?SvF3Ez8ufKq8!6N^vkeuR^=r|)vD*fol+wX@vSnPprbgN0en)at(RNb?Lm zOOG^H=~;WEIjU#yNb__r)<%LoJ9_fF|A_n}jk?q2_ULqXh9cEA-p+8V6p8bz0@@gW zEJJ+F1!2YmVjjoqlpAwvX5E=?jl)`GnTI#vrWlmMb_lNUQyWBW#AW{G48_DUy%s=rY~G z4i+6ode){H_s(r#7g0yOv2ZT@B4whd{q#o+?MzXtAznwScJ}6362U3sP*4=|QW=D^ zv#W2lb12z6*2#(o`~-mhq4(+bu{l9wMhNLGzB@&zuc7Fs;wC?{`S!K^$w5mMcq;M@(PsFAB;RLXUA4p z^%e5SzUOvfKYhQ+7k39*tbDr{&e0}Wr~%t031YG6)$blD-yKj5Rn1k7YyUk+_Ve05 z2X9c?W97^tyBxFAv}&eI&mdp4niyY7f+cc~Dd0`RsWq{*@4xo}&7&>#JMBg*vBys& zcG^b>iJMQx7F9!ravMaeO3@T{EF?8$7VlcWCQsOjoE$ZRY&Uz@S}`8s2$hE!JhIzh zrUkN@z+$9yKldAT$@qkYas}(lF0pC6&3QKMZCAb85v92yjf z+^Ew7j8n|fB7B4^O|%+Dw`6A=xOP+nU?wf-N$baZD>I@6aPJ(Zs)he zK!$Ke(J7D^%Np zDZCC9*93MG(sVzsD<@Ku)cj_rbo}%joI~6T0FlNK;`%aA6NzV7{yvR$2Z(dmDW1}v zE^ccEnv4WrW4ZPgFNZS@W6y+7IvLi0%Nl1M(ptv?GQt$oruG~4O~>zx+L-r)x(M}o zi4LVHuQAtn%KTh{b_*P)vi9?3n9rAd(`<+$9VL-q!fqGhf$5d~jLFw^N`vyr&zQ07 zPTMnhabhMXr%=LcHv1k3Nfmq5pJWrzkYe7f8!-^M9mn1GrzbXxS;ZcvU`DR5;Djg6IOPqSkbf+#-Dwl|IN!q_T$CYB)% zgKk*E&0F9~>~SUbxWYrY;x&ZDSzN=BKLL8)ZplS`pvp4F1qsJc(;?=el2TXt6HXw7 ztut@75QjFr&SCA>4xlnzN4p z&uPOLm~`~gFmk--4Q8`Rf+<*vTs!N5(O)S1iqgEzwXV++$nRmdCn-tPQy} zeIXJOHf#CXu>oW2R_vKkMS(~eAd!=Cv4x`%d)dZll8>-m-r0zgrM6VbClU!D9T_;z zYNondmSce8DCQ5y>+#ORVTZ`C$cU75ZGo-p569@Q=Ye(;nqDF-Xhj zYe?3kw{*U9UD}Ff6V42iq%@%ih#QPz=hTg9rtV15uou!wj)7g- z6IDTgos!37pRu6(HD6s-)Dd(5u9RnEO7z*&xq1U%-?=LOu8*GiyqhzL_W3; zxo{3NUA%$PG%qnfeIc%YwqD3lM}wTZc`=5afNgNM8oU2&)EoD(m35bhh7gA~5P>lb zZFa}P&zh{tm{yXPhjc~l2+0(Sh5&!qJTA@89unN@Gb(m8ClrKf{>1rNL*>G@-qq}^ zVZ1)Rmg3==SM$K_A-@=QQpkeShGgUD0D0A{qI5m4Xi^p*IfapbP8&eZ-nP1iKV3+p zY2yy!Nwd{V`C#tyOT$&YG~P}ZUP?i}4C(l`VZ4A*911H|g|JP**Cs;f9&;5X9F;T{ z5)Vf6PY3*LY2JQIr7-Vd|QXDYhnJ!s%Hm26FW)?**U~Tj)mg zm94}A_ui0^GBfSQ60d~MxLlhi#+K|SWCL8X+;=fjiu1+NQ$il?Mxez7fHWejx94b2V6s4k*^f> zYfNn<;bsIq#!fe%sJB_ds?*sASW8{LA*PB?T9Be~l@+;MVX^2kC^k?&+bL7P!)nZ< z0XJzg*$ByFm<06%w4FUp4I1?f07ifyeymDw+KC)*3MjWD`;R-+0=P4cWEIb*1*S+#F&fIC)dZ0 zOze7V1L(cX?&XeBHs%1(9QI>M86>I9=CNp0De8hSM21KhE^hu`d_5p>{GAhLDwdH*Ek;}VGQB`wMZ=*Qs)X= z`266kc$0ZT%1Ny-jCK`MATqSW^GtwQVlg92Aj)TCG{iJl6w;AS3r0V47wN==sUlZm ziVU5I7r{XY8JLj}wRKo*ZDf=jovF-W-!0el;GY!q>Sr15nERf&OFjHIX z+<>*ukdb9G>{ehM(NB94Kx9{hWI+KBIoi|@*0$`$PehRN7h|*WqzyPe5?%QmofZsg zLosNc6y!*7goX)SFya3rQzM4iM?ojmLSbVzHPo_CJ&ld5_ka*3|JmO($%uChr3on= zL&^M#W=kru?ARyAlTY`_652eY*pQt7g)H8Nvg(IYVsrB0s@&0mpn|x+rT}EUy5oBdE2FX@%4>EU_2lbDJb}%@{Dd|FB5;_NC*1MeN)S@}_uDgWF zFaXV2;x0;JU*HvCOl?@R>AQ9!z-H+mQ={_apX>}g1H}Sb8Y4nj5FjoK=je-s4G055 zF#R^UJs-@q0jkKKYKqn5ZFVApVX%7mXkJW|$a|BZ?o@bROm}?2HxGqt=%VCDtaqgL zQW~41>Zi29MHhh)XtS?U-$ZwdE-HjY4HJe@tLi3(k`q=}24(M}itO^iBO^pL^-sf= z3qrHYv0(wJva#eJqGl*KIaZ+DJ1u3L+%O3cVaDMMy@D1ZB#>vsKe(2uLk7W*)mLnF z4c=!}n@s_Unbi8M=A3Fons%2R3M4xi?&`%057Z@}LhvKmbAAOQC%99iNgq^c;{+b| z_+m@Nu>R@DpE;7eU33mY^1QRdqo20p;Uri4$7LEdcGmCak`gOOH<@9@_!#-q0F zk;7ub`gbGmkYEp5Nr@}*bW^)75raIsLj*5&Nlp z`V!{1AOl2M0uYXZ8l7qBC{2Q*89%EY(l+#!L?in(jv*PN6m{8wxzCmTEo$JM=ua0T zH$fU{D55EOjG+5|x*!DC@>2w*S-pwrQyDy~1o*)-HGCj1v_VF?2$GL_zJJ^o1KBk+ zfVe9(@0}13km1{1bc45?1rSh$0mAtG)y*n^sKPA-2qat-m=Zf!(n(JkO6VPY6 zsoTk{M#Bq~jNuB7guwTFc~4g4fxHkqhl&1jQVV`QKsfY-?nn;d1fFP4oC|Y&X__4< z0l)m>IP6Tbruw5P89b(WYL^s^GT`JjL=MJznKgSBYe!J;is{g0?wPbRoqvjPr7scrqqT~;6s|%)poynhZ z?@Xd|qhfS04&!%-fO(VrNmOIz?4j6`9%LNjP{H%sYVf3zBCGaoRY`K^IEW@9MW_|g zah%!E(T2gyS*yt}N1O=INCX$`Y?`oWb1pn%NBui-RPh@F&Nd9?H)sT2K}T?((}j2k zI8m`0>&6Du956}c1_w~1Gzl;;WjwDj(lVnB$bjMz-3)BfUlZ=L>-`v18v_QGtqeCU zvZ3bbMLQdFq**=bzt0CJ!>E!p)M;NRggWBYangc^4&bhiYn#HG|E*f4#uQR~(RkUA zek_L5bbieeZDhjCjZc~Bdhmiy{1O5JUL8-Sq=&j(_og%N z*qhB9`cc3w-!3{ktYtqsZ^zDaLK7~|4jX!P0TJATUSU#4G+^814fO%TDjY|vMGz)( zTch4>ZyPZ-)G@=BpV+dNEZKdZ8b>`Nd8wS;lZPGQJMyr$XJ_(oLYPH}rLWn>3*%tY z3PU}@8p*qsf~Mu;2^nBS16eWGQo!s4pZ!PRS_byXXTtkE)tREVosrNt41 zv1B{6vJNxhP>Wep1ohtw5#l`ijg9@PADW+8-v|T~lK1_Z!B$D2FJma72Ih?HUe2l} zR%WLPuOrPwBcKh8)%mw!-oWZH-d=pha2}x);7L76axE01j->&h)Jb(fD4q;v<~*4x z6mUx!Chr#D3*e(6TCg5i3xODQUW^VX5TF#N@&{=kT}N};mK|~FN#llD)?`@@Yz)xxipB$)%P4YzbANmdm)*~7c@jWU2A`8e=oD0J~w^SeC!_^(iItWEij+0cr*=+p0V(0AE)zfs)oa_qOnwV zdD9>~7f?mMA;V(N(4Eu7BKmWo9Iat+4^S=6dccYX{jO*T$GJ4kH^O8ia_ATZLuv?Q z*QbBC6i2@ZY2N~NGGkP|aG;U|4&O)N#0!hluJeEGli%C;7C=-oCxcoYSjZ4Uf?<@r zGiurtp^>O=dIz@CH~C4{MQfQ!@RE6c5KK+YrQLTD2;O`p>ALrc1Y~D@Q+dhywVet42Y?Hr2hT#PnLb~~iO@eXH zYZ4h=xeo~A3p2cOAMmfSFoX30&2tN^3ft%itT>+1Unq(36IZJG8QmU|FVMQjM*kMl zaI+hs@!RwkXdS#XnwUm!aB*=~ow*2dn9e@I;cp`~vQ+)VRja@EqImJGl?7Rn{Uq)ui*v4( zMd4PKV+*q^+3%L$LPg74=@o9J=Rnu|R`u?8D_$Y}QKd(&c)04H`*>#i*qr7_ijFqq zsMUpHu_vbUlBiO4qp)nKXh~e*5Qyzk*hHdT6^Vx|!<(uS@M4zS55(C3rb zR+psF|f z{Bg`|QqNXk^QNd@dxG`AbGE3;9h5SWJ{m$AAkJ#COKWAp=W@@2Z2aj!q}Dj-ahTuh znk7S;*`q~na&NayD!~3*6)$Lc;greQZxr#=V$@$|jZ}uLnUy$LXmn2FD9U$(W@9JK z5(ts?obXu-G6p!0Avg*>GrKX-+K~&PM|4O@aGLsG@+TexY}kTFCP4%rE)f>`X&h>V zg}OE{goXLW3kVCvjPwcb&%;VD6g192_%W6~;v<4NzbM zS3TZx=%7pDrTXzqMVl*uw$T;$C>~CfY zwlB7-fG`{&^`S>`2|qje4R6GXfGB%jmkpaM5Dfz`@$O+I|1Q9z-PU=-qkR@MJi;2< z$jA2MJkEhl_g8FHGb1mT+!%ZUs5sBV|J4W^b$53qdxc|K?kf5>#~<)k)Cad zsTk);PsHCMJ^KH0+<{YC)Ogb4X*eZ=bd##hWSz^5VHj#M+ki)Su8xnyoZ}1~zB{q4 zW5;+>wsl6cFTiI}>Tg|rgrJs7@tdW+mex|rXY zN%rk39@2eB{+vO8O@1vFX$dd|{251s|MfiTXNUVL=Y%&YC?KxmBB2l{d5c)VY6dGS zskN8yW%7|LioY9Q7u^g(0io+V0Ce2u^gNImZ-HWfkmeiMd(6z&J^K<}e%$P%4KYH!Tzba&2acy@9c zuR|!=QU@jpi9#$aqS652-^pl5k^Csq)&qd#X6qdkax-`zfQxum%a?g{=(9bmBRI*m zbc!UG`G-3HbpGXPMQsSK01%MHr7Ww%!@Jq|;kH8&e-=tBpMg|BD^AJJbwR>aV zFLfvU-T{X;Q*W_vP_kqzUyl$C+7Ig9-#G!Gnaqi`m;mhbh*5z?Pg@EqZ~i=y$L19^ z5M^j<(Cp6wW^!vU%_diKkQtzT3kN_Vgp*gWz8^@t#D{h3P5W5%Ea6 z^4@o+tJ)&_s{fz8w*j{7stz;H&wcOS_wIYIZ+E|z8oicu?o|u7N zqKt;z<9$Dr5r&Ve3jO+iOwd1`Nn6Khe7%L(80p&83Z!HqVxq9F7TLg1WWbm_ph@1@ z2EWx`=%SmvJbZFj2jOx2P~uARp&z@1Z&)# zVVG3Ck9d7$W3c=Ho_l0#$jQ}@k9zkp_%Ccah)2FOKg(#_$7zF_h8Hoh9XH!;noZ_W zYPOjze0B1~DZoW{Z3$xJEko36OrH@zLk5JR_V(9_ni;i!Xn4~{ST@>B_ zfn#wV`Ni!IP7-6<+(WiNPY;7t1bpz2@b_S) zTH^Pbzp)XulXh}@9!3^IrvCLWVnrCbQ;VuAuOX=txuXg|{2KQn`T@_w0v zVRunAdlImgtnHyP*-2$}PS{EA`8kDvBb;hB&Qsq}?U0DUejCiDgMLRVdrx(n^-~RX zl0F>2MwDC|Gcb+h>6xiyZb!bjN9x3+dWwFec`!S}2S-m%1lsrEAYmJ2`*xeJwx67u zn_GbFyV2FB>D~i&Z##x#^Xw^}-S4v`zVB^r0qCBRA&l`zdwGE`3jS^c*-L%NFE zkB|0Fr0Cu$DT=FQM=JJOHU}Raoy)9FM8ubs&Vso6zLf`kyBqto>G6~Fc#UqZ(-Y9e z>cdrui{dmchX+UG&V0P7;xVdt+W1u`m_B2k{HTrVCL|lr6O;S$8OuRukMhk^&RWtm z<{9GDnFeF){x$R9c5nrC*Sg_-aI^;$TVH6Zrr=Hja38J~&IIoHi~^r&B7csnAe;h( zCk3I!Zh3m_E?3Lb*u}H|$)=V^sDxSCUi3{zgqCz?(_MA=6toqi%Z z{piL{7wakd!4a(c05y%_+zC^i9@HiBDnySGA>g~XSFjlJk9noz4*rcEgTu(J0Ji`a~H~o5w`+J&x>7=UfkDlGr_DufbvmirA{K?6Exn>nm$m315 zk5Sdr7)Daa=Y1x7SRQ-(iF7TW@x5$8*{8HL`YyZj_bFz&vP1LkMQg8Nu zzz-xSuM$*K!2^7B$_l{#ea*9bdG?6UK>SC2CP8_Xpu9>@P1*Y?`>6(id$?y4l^FO` z0AP9^F<_6^`~cK5;|~DtYARrZYxzI}01kra$$fIaBMU|kAe+*ZSdQ(tsZ@NJd?*!H8$qP^P?FSIB-00=?pmt zmJo|!m9&c;?@bF))Vtb;>BPu_3%8Gk)i5zED?8pd-sT5CeqXiy6QjK!Y8+JS*DosS zL3fOXr}b|8{ooU$7xR7S#dT0r7gnPwbxq4tu5`b&*-)YDo4uf-!PDs~KC?BnZU0jK z5^TqnxfQ-e(y4ZbdksSL{*&GJk6xTizI4Ili<>W0>4M4k;)(u!@s$3B8K{Q$+|0THk`~(-ZHaN43FRH z|D3#iV8dH`IeE*RYu&e?(Wy2`G|IJHr&&9pMs9pXs!iT&+-or>$Gh<)x8c1`K`jy1 zi${n`f;BTbQeE)f#bbV<_UlH@DW2iN`tIWK=J8{&{Vho-KN@w%&i44?e!jRZUX^d5 z4(;HtVE&~E*b`w0lJcLYPx1HS>LLR9<_Gtp`#$er0NWGg)Xt4;R5V60SEpr>?k5!_ zBS5nWRp&xe&=`VLFgnGHm_lJ8rjI_~9fjL5B;4mgZX$E-bq5aJ*=?vl(S3UHQD5|0 zZVE=IESGFmd7<(xm+%&io#V+_??WB4Y=d-WTylFVq2FnEJ7h@g&o<~i1$y6HWy2f? zoSQ+2tf&e@Gszc$C?x=b3R_VcRw1qr{My(B;f6xEzC6dd87@0y>OD;26gBl-Nat9B zjEsX7juR@~LwrW&O(O}##AgXVV%p^BsS_bO1C7?K5~_H!Lma12IALOXR72&4eE#x% zkQfK?c!X$7l-LesIM8h_36NeuYD&2aeeRxwubK&$1;OJRAP59CYT28qGf%G!)_wxKk zffk%}9tf9%RD-d~`5z|A#HW{*V4`oYNWo(C@(LGV;s6|+LoUED-297$m)tts@HTPL znesHPyKtTMhNg8FO6&PULF%2%pn&P&LYXG-Wems&KGu237`}Okk~WJv*wuX6OAR_E zIdCSHVhpLFqQ((fy8W}GBa-HHL{h6*+oHJ!9N%vNPLNH}4~C^w>fxYGK0Dj5>SZ^K>2}5tEUSl9M-(nza?)c*1UB$v|KV!nna1rHGEv|Eb zfnJz01!U>5B9j|lHKMXGBwwD#dKhNZBRYndMaN|tRJ|lrT;nB2Vpi=ww4%b zW+>}~Gt0XQf08h}1lOsH9`W{R-byTKxhsia{QLYqxLWHhM!BrYvNb5Kb4Q`i7!A?`K<8oOP48L3> zi7S%>LLxec7hKrZc{AEhN4J~paxB#rH4vA5yP#_av8e=&)k79lxP1WGt?wgN4X5X~ z!h>t_;i~iSX&3cJs5lLyX`7CDKc6DP^VQSOjlbIh>p$b8hoZfiGq$L=$mn$aSl1yWXBxT09+>g;?j?8@K6g=~9!)B=%n zKdrsbx%}v^fhYeBnKB0-;-p;q$O_i}DP*2`5wL!RQIyO%SOppO>vNgobl?~~--b}K zUBsDIRx{TV4|Hg6x_D?hYkpU7>6?~~C8zg54~_r^V#OtEA}RUGNXjhwnl^f4Yq2C@ zyeNHj^DluC@ykxKQ`uVB^z6=G?1#bUW&m&w!6I(^&v>|b#O0^Zy9RWZeTx8`>;v^* zytlZKZjkpFFCHfa5dK(`vrDJ`Y;#BeHy#|ot`RoABQ7%Bwn$X!2uol_&tbRzi@&5- zJza?`yo{yg_{F-X81N}jpP+dH_N9S1<%w`NVw`cLV@Mb}O7{~wF(Jg$0$G3p_&%2K zX#PQ#z@FAYa~%-$9~|}oDNpHW+2j6->|CK?KihFM!f4LiG#XiRwX}5G@#c(sL${+H zoY>^L#hCabY;nA#smbUTgOZX9#K1bDklJo80w06gbcbkOIcYrxwC-}CrxQ3Wu$74F zEr3)8N@o8?4omqoQ!VS?u@?jGV-O;V<%UYz7`XmbgsC;dEQ>A8WLZ|^2zp6PreYt6 z0i)a4)DPMG?E%v9p|1O;H{$INp@;mg?i^n6mU!ls{)@P&pZSSIx`Zwd{+Kw>I05#< zoivC#&}Iht9w zmyInJY-KyhFivk{Yf8mA(a4gSb|V`dKajbM8_YpJ*)WlI{lzI{72$0RZrTcAs09@9 z+vjTsKNh=y{~#w7Pa*`<^10V4W`(rxOcDCC>e_RL$X`HY{jezG6^9Zr&x+h`u?LOC zQFiU7nwVfRSL0w4w-N!XBsHVvY@Zc}`PDfbX9KyV5G=gKKexE~hv;Vq0#@Gg74&qv zSBzq2*H{I$vCJcaBfj~g?uY3ZXxb*q^0hIAITu@I_HtwF0D=wZSI*%#7t|F zwRPP9eX~>UFR>}E$`i`ie=beZf#ukf%`izlRcCvTQfdnn1cDFwPwfaZU-JKTE2B=z zYvLDf+vrg*tj4D|kl)}-ki*3ci)z107vyT%(8w2|?GX&ca{rghbWj}{c?KoT{9gUT z?*=$J6O*P9z-h-TZV%ADuw2$}j#i;~!z7lSzQ%o0J%XBjhZzAsB9K5_nxA2J9 zQ1)_tQJ6ewzRTni@tfMFzi*Z{@uhOgq~d`aDr2KozP)VF!ZWu-m&fWjI|-vCvX~&m zcQ@Xv^5%N4>1E!k8N_o^gvjbuF@9cXG|`zF^Y-8|j~3-^^8>d*Zo_<~sEGT@;8;_} zFk;fW=S^U-Eu>GX0ED>{kfkS)*9jhVR~vS!IXL>Yfpv&_tE7W$b!8Joe{xu5M`|x_9bUS%b zGV{coB@r9xEmG!Ma`Ce5j~ERI<>0E+#_y|EwYajEzVQEh+OFj6|B)^f6;X9Cl3wouDT~jbBFSKZm;In9!$qC zcKf4Z6?*L;FN0DC(L_^;8BH*Q1hMzFs<#@Ilv`C&uEH&_6O{yZ0FX0KSfO9kG%k+> zuEuByB#F6%;9!t-Ag9)<^5h*`!#sm3Nic(q0z?+BB;YDCx3@s#>v z2#t#m^>J^46{k6hW97x$AmvoNbF?lu7Y7v-N8-oZ;OtbqhYh#6cw2jVJ5@X0 z?3vBQ+uGCHsoEvt&Bfc=)7z=qao=?}7jJ7%Z>MS}6uItgF5gz)yq>Cm4Q$PA{-AB3 zc|F|%_?qAR!MKI=db$NL*5CZWxP|n3x&?5yu=#^=3+eTA3t(+=^9SP=((CCKz}wR1 z55_H|*V8SCxNV!i7&p@5T+Kk(;6#Nc;QC41dcA1Mb4HtzT(B3W3#KTJa9~7 zQh8U_ANocT^JvSd^l9`e6=P0Z6+TMgQmcxaTJ;K$CSVSUDblWBDL@l#) zx7!8Ncs6jsH13FySBo;7t0+2?sRG1pfY0aWRu>GOzL+U4<2!s2G{`?A!&i=l3GhNe zX8C}L5%qJ~9Xj6xaFqaW8~nnew9cE#0vI2F3`F~xNxt&fNwPk?l3Z(P;G`b(ZZ}+ksVn#w-$m0Y%`?=W| ze`|f`+a@0q$=?U;V|2yuXykIXBKWb3eEi%3LfCt@=_&v&iz!fP>$e_v0uXRx&4IiY z?rsA@3-_FG_gc8kpXq_}`(16Az}3CEseD}4Z<7`@N*L8`T_Ri z@cGI%pD7m||5@>rMbZ4ZM)?Z2gzm)O6x#{a2jGo}E`KP}iQ?c2qK?3NlpP z%#&@$R)d2qdLu@Ah)(%og3oDArRGL(RlOtdGqD>c%OzezVRro@GtnWLnK+x$r0G4l zaW%H5n;YGq*E0;vsXIrSU77ellmwBQuy=BF;i2m8>cYE*7dlJ>r$HC8CSz|pDRZ#t zei&b-C0(|gSMP<^@kAem3ryH5|MK$0sLy)Z@EqVE+>OF@*AXVX)RmrN!yU+Lfh%tv z^$`|IYc~$`j!*p%rU=fV`)aP^#j)7=e z1r?TC7Ng76IjJ1I2{+j+{bD!ZZ8*I=*D;b)f(p?@%#x~uJ>IyeqRZgd{&wrzK|<3E zX)Wn1NL8DOM0?yhKH9<2uhov}hrO*Ha**Hp&&dOxdPNGTT@z@@d#6|Kbd9d>W1OfG z3~3Al{R;!buHtbhJ>J=)NCoqt%|*!e>;GGXGC%=x(k7dB47fbf_p)e?KySHfX-jGDuRu zTBvdZW)l0ZK&1pi)U3D`k#Hc$nz;si&EI&uK^V)YO**y3)JgVgy~cOzdN;orws~Q* z8;p;g#4A4^L~fjJcQ~)eI6vi4W>FD26oMOxgr0AeEz};dY+(=J&x=$=*l=MM^Zj|R zOHkIa`m#+qd{DlPyEkcN#og<*vf}PYva)F4&8+UFMlrHja&X3g0au-irB&x9r<2Mg z3TVdguKDX%8rsQp?f@kKG{zb=If1Bgzwxr)f3a`FwCBT_`jhkZBR{cNKh6J-+|QN& z=Lf&GxBnvr_I`aw1j4oc^D1m)OrhqAMkN&;;DV@+6$KkwNU3L`n;eJQ@;Xdc^>H3Mnq@@2Qo&T`emz2 zFUyGmY5((n`geLh{bX{VBMmzBPo`Dm`cnM+$rl|?=%7SrXkwp1NfSF(-J{HX`B@aY z_iPH?^PGhO5*8c+64Ae>eg~}5slS$yP7GVKaGDElC6oe@Ipp47m-Da~eBvdJ-=7t2 zmOWM#XZE_7kF|Utd!~p52a8{k!bUGgld`<<5>2Sf^8FeBm(YEuvrcfDDJMVLXp#D7 zij-!~_`K-c-fwQx!*26_*r0BqzrA-!I3K1+_TJw)+gXZcjA@R9`drX(1S|lJU)=3J zar`(1u=JiS6`O|qV4+4u{4~4U$TL0WRzs)?3W`azF_rK0FD+I zZz!E0d0HYxqBFVih%>utMu0brfM+!%(BOm1vI4GH$25*QCx)1bId}!X)%1{yDBX8~ zsD3iNXZn9NTkOJRRU8yUq#A8eH8(*OOH<6BTDIQQYMk=rl7@}1R=peOs`grta)^RW zkZvfNsJ^fY{1#0W1m&bE3T?{fImEqH&uJM`czQh6^<1MT0P&>VbtpSJVo(2$_O%-` zHoRWa`=vD7_-eHMBo01;D+QP6-=*e`?bM#L2|mGec(gd)RVm*;S)F?a9$ycMl$t45 z@)b7j%_HO^{-&nm-PIb2z6$yj%2@kgOTI0_vQq}~(Y93rep+sZXvq0SaT6fYoWEJg zEe}!@DA<&70CCK?Z{xwX8&I&Q5hLf>c;PIkw^6%g&Bnw`m_o)xt2bqyF~h#NN; zkN60e6M^^*BuvhZgm4iOqhR>Dj9DA|*0GoA?a>e%wBEo&2orDwJc%q-9so5vTuAs? zhLCsAb0~Y3qvaAlrU6NhW+1pJd{7X-am)uy-+=sa05>pl==06|&1P+5L=bCnTq?=! zw)nO>2Nr%S@}{g7$s0is5qGF+ytBqa1ib>UUGdm3hU*B0#WLcZ$$IQI?EmVnd}%DB z#*D|vL*+1|=K;ZZ1wV^}lYgl*I8SfYgW5=?rG7S(&lEG|OlM{mKOUd&W41_$l@<H4BFxGAJ4NKSht{8-2-?30?|jcO*vJD}EFBbT-s$X!2&3=jk~?%N!mMjK4P zW{ND>!g_QR0?s5MtUC|qV8;+|Xacc8UMNkMDRqDawOY@M`FXpuQ4f{1!^y`eI&@N_ zA6OSrL*P}pl}6jKfa)>G)=49>9~ngfGpc&iR~s-kEbFxMN#n$6V~Fb21kQ%CH-ixwT(yw&X@_vf6y=z* zX(G7Yk04G|tw~9W8qQCcVsq4G&|X+c8(16G3fl8?sE=iv_%a3-x7)4w_*%+y?a18_ z>nsye=HgH^E6arTaLnI|GphZLTtL|{MQGsI3hJX76h|`KHk5|?x*MsF2V?3(UwIaW z%!uA=Y0y;!>Kr$z71?P~gL^LslJNSbb@$Ds);D}e>$4kM=fSx3xuau(#E?5p74C=H zJPKGGfoUW@k+s6hpVsU{u__oAe9WKr@q%_@EAbnhmr%FO(GB&lgM`E^(>?|p>!{# z+A%|buFVn}!}&Det&`B54H7zRivL$gXg4}Cm{StErK7EEu9)mJ${tD9+D(npW})>~ zME;olHH$E&80Bd~S!YaPc%u$I$rRF<8yi#zxG94Qr)#%~zsr7X+Z40k39)_X+7j-&GHSOb| zpawG_s3|s#6b36pNGLop85HYd|I=h@*+!k%%!jsXx{y>})HoXoC>9O2)IsCdkR^i2 z01|i_yE54&wGJ6I1PA)1e>xsJ9L7-QCGCndeQ{c+*DaQ|qjl}vK7ROmY4Y0cZJIIH zvp3UmKO-;+tXOYENdU;{y@Du=r9=nep~D*q9ZZ~oV4b!I*j_*Uvforui9TFT&X(Kf z%$6HclD3=Y7TW@WGAnu}*&Gdqi=;NxJLA#eDy_=Fdh-B*m=l@mzjLR%se79+QMA zkHRmBF^C2GQ)rMC6N3!0X$&&nXprHYt=MDp zLWBR)v*++-@W~(Jeo1#eo+!Ak6cYtBYLSTyfMm4 zg_AFOA*n(9^ zu)FnV_nf_G8zj;8%@G{mO3}vr@pPh%#nH1BzTZmGw)8wi8)9udoD6&#P&RXhER=fi z&k!cww4)U)MXVlvc%D>L4|GU>4gRZ)S8Y+pffH<@ivx+ zysn}MWTY*`Xbj52^AV%C&cal~w>L4>%B@VbQhL~6s@a~DaMoh9Ok$Kz*4b`CA-yF} zh3F1SQ*NdvV&(Jsh|$GH>|z%@Pcf=EwMVW5E_IQn;rN~62ED$)>_HMrxmX2OpkjL? z@3Fx{Pdch+P>v@L&E7HU8>h|}S-q!`A2T=bv;QE{I626)uxSYg#gzF$`k66%HpDp= z>@sGBlur`5q&IwyvEG!MUR1_=zgq8+iR~0BKqKcm8jdAKEkYL0)Q}v5#t)UxnRTVo z{l}b-MVr*QY@H%%EICr$-+0xNS{ba}XQRadLsc{-aHfs6SU1>Oi^Twh76Y$lKA5;m zAkP3~S~M`4tMy*7%G-p2nbp@JC&6lY!?9u6M5H4g$+BrU83rD2C#Y87o(-zM^b$XG zcxh<&6si+NHmLpvtCqnheFU_9*`BjSx2nU*j9WtKBxdrYlU92+os^z1IW~7P9yZJ2 z-)PnAI|*pdx06$5(KJ=1sPrHp<{62DTO-bd7r8BQ>LpQS;zO~=q{4^Qb6V@bEP5OH zhNPPk5PjUkhM1^DT_IIu!JA)v$qP}bjR<;>a6*?;6&xJNv(fACq*G}9 z*j;hdOoqMd`lpIKe@F0A#`gPHWv~9dU;WT1f1d*HRT=-?wDPL?FJJTuG6C@MrA6me z+28w(GnU}!syRuiEvi>#|KX)uL((Qod1@&?2j_~W#M2)b7+FYU5`^=$CrH43tL^dQa; z!j@S1(HT>-5<*&<*s)~Y&irCEnGEEa!GNY8N_o95r!-a%4ugm#Op$`|0Xi_YRJc8P zpLL`hMvtBHm})d$r?h5jA(h5sr`SVhq?e|ZJ50>Ml$ucN5Z{OhX8*n3B@IKqO~AK* zt2jWK1KQTgqwM_Q#%2f(4jg*H$YR-cUvY3a=jAFbF9Y8Yw}i{tYc`k+m%QvVYR$Mm zLKa>pXP)(1eo{@Swp}@uI&l7PnZb|uiiNzo~ZIiek`KGD}%QqyGu34@PO5- z>xk&J@OW2{$aWtBzY5|GSczc#k8;P_49hY{iRe>guuJB`V+<--nk5LItyKq=j2;AI zaa>H6bkrBA!+k}>2~Y=jh8h-91E(z5aL7Ge|JBmV^CNBXc+fx{0Xa7y>I_rn}o>?$4z>G1>*L_^oZQy?POq1OihH zyD!U+(2!kktJ&qOfK4V`$wvc^Y=`@rk8Cud&sBcF6R!ANd;x=HpPp`DW4UoNM6I*k zCDxOcn*p7L;-D3KA57m4JjtoD*ou(KiEu~Wh?5xkneoWawj;l7GVRUVM(Ei4`jQ^tFp?XrxZKC z${@VwRCdFtA30SBhKHCyK!?}Jfrg#>1eTi{Y=-7Bs3-+SL%6;|6_1Sm{J{#z8j!MY zuBScgF%_^@ybCBf&o{`)lYOTP*Y|!vIQgWL_I}~JeKmb#T@^_hf{WW#@G)DR`x<)e zGB#3!vwML9#t;VF@UI56BwDIjP7DNoPJTPcg+TwSxR8l9bV0=Eo0xDv578d`@Uvkg z8C$DMUwoqZfxn~q$j?`g&?$!(i~9FJJYebI>GuO}j6%88L1L5{@d%*WgA(J5%1u%A z-ou{Hj;sd7894$-B+uTK*hcH?i;^U5G$CWelpIB~kg+?2{(#d*5eNNivVtyzB?5qr zf<>3EJ@UlUWjN0<=PQuXJmTE8+I0k)&Dm;ub#}S-*n9Ilf1difevDCJ1gX6))1F06 zM|g|%Mt0z;FbgPXx;lHA@V-2|GDxC)y}z!`UK66ufQ7$sBjTzs8?C&>ziWrX}$|vvtbWR2#zBR9eLN@p!eRY_xqng9+w`gA80{oP@ z6(-|yo2xdM2{v`{>wEtRWap-mH*Hz!dkLwE!Fbuk9AQY4H6R5)=RcAt zZc(Oz-8W3H0GIee$T>IzeKjlyg1>|rfGP$n1aij{H^eSPuI#^7hwOpuN_#1xNH);s zCFNT;_Ln9Ad22SIcq0fWcMSyGQ4c`Ie(B0rWdEUtM+2X!qUKId`=$>?9!XKGgf3 z#foB(ZS25t7tWpU9^dwEziYIds-kh{Y|;9+ZH4k!?#{bQPo)D&L_M}+kH$=jD4j}stK@9N{dGQWj*2Th3>aLa_ zbokHRgkf1G(e^A&f#1jTrLxn>diHLu>G`hc`B^Y;=!L83gD8Loq3dr`zs*qry_t)J z7$sP&NQOiTNmA#4IE$_YBaQTcz(%`XF9B1@Obbo5%S|~vqPEx{sPph)#K*4hqi9j> zqMPE-cav|b<%EhpC%)vcbtr&P`^{*~@=<5u!hU%$gqz2JA+y{mJ+IBPooo*SCSD81 z2Q!>-4edv7Kz+qIbqmcL z*xm2{_n23E-TbK=haN-72eOOYh=w4es%>IoVTXu*;DKNKbpkZ@LSSeuqUeJZkO2sJ zGPfZ|r?uF=#48KSi8v<4&*M2Xid1UZMC8&LX#l+&ouseel9?M3v#4lBjwHQ(GN(*^ zqq6avMM0b970aKQUuGn>mS33UOton;=x8z3P_yAz#4A`MI+3}xx;z>@gq?&LF)R)h zeXz0I^5~nWp#iDo&~ASWx-e5k+dP`w?`a&8hP=WZoT&Rr)= z>iO}I?2xiz@?p;7P)*gm^U|zVFI9`_UZqqmrF%6}wJqJNj;dMio$@E`#$+JGRV-V(72y}R0V*Qj~XaM-z6MR3?II4p73 zt}|LkRtf&)t_5|OEOpD-1K+VP;58)#{?@YxezpZ(kBlSocLuy7M;f{X zF9r#>*L7i?+7RU9ZKE>HOkS%@l`R&EQn1Sj> zIFMZt-UPnco&4LkF>l78aSlwzC2_Kc7ZI&=9nbK)D;Hq#n0#{P6P|w@8_10$FC>8{ zw`6$*!$V3o@G7&Dkq(r79={& zf9xq&cux&@_7e2YIgwEudHJxIfpBEjqm!A1yTtHK@ zPSBUbz&g3-v8=GNoY*iZgFjpz%`YOZ7>n=H{yK#mjj6;f)_NO8r`KEkb2~p$wGIgr zX7(XMe{sJsTGT+K)F0%A@H(D!sIneoiZ{kQs+l9VoH`13N5N zqBYs!ShIbQS?;YvHn)T&Y=w@*f$XJWj~>WgE)G880BG_Y$ZmAxfi=nPr!P4QU{4Q^ z)@wZzv+#MzP`3Y=MHN{N8<1khB>_`YxoNJCAsLI}8IRa1SW}OyhPS;m^9c~53oU$j zXm&6#)^#skr8}}I?zHxqf8q>R|2B_ZR)`(*eLL?uMqN4;N2?L>a3ISK&*Dl9#I47V zJD;dahA7!jpJE6?{{&KDjk2*Y0-Fr!j0W)x#Z~0B#TAa{2TbQ5TD#-jBhCWhF(7uZ z`0A^w^B;5;GU~3Lyt~?SSNnR5{#e}Eb7&v=Tjv9Yic=|A%Q<=1==@X@jfRnDtC-pj zI-}iSjA8v6xOWGmmP}U+Cc~#&|9QL^G%vmmYM+JP8^ngJXdIu6CcVlW*4MOnh064x zGpOG|POIWza~$r@8&ZABEgl{Nd?6ABErsh?NQ+uUedl{)8 zH5jdVZS99S0zFk{1&$)^-_Na?oM_~J>Vn>;>dNYOMio=w{c!4_b6SRvB{CUnG^Ms+n{1@%MGD|BJsu>O^Eo>U1T~WTz~8H*S*)n~T`wDV|J?yQtUc+Gvtz*6E*LN>YK%(` zG+f*{OUVNni#kHXdS8Hdbw+Dpwfj=*nF~j~dtp^0eM4dIxR8L%X@Hx;u=L$=h)+=n zxUk8(X1!~>=3d$V?*WYZ?g_r$Bfb*bPcXKrfRb3zP~SEA@<;sA)h!$X96ts}!Zzgz zj<)p{-|7Qg>w6|2yw?vnbPIYkEeI0fYPmhD|KepVz}JtTDhFSUJgR@g?}zT=uyJ2L z!;e!RZhkz?k1zpv7t3I3rPisCtt)m)%8wIFKk}%7gswI`i>(k{(x*SaJu1dcyPnUh^QiYk2?1HEA z(Y)Cy>(A4sW`XX}Q{1aqF5v!A?qLGltZr{(ELpqP>47X z1+&@k$vxK8e17<&G#|{JQ{yL@ikYZ7>g$*?G6h3Lr%0b zCgKe(&%^T%z3YNEGz+7A_Kwk>Lz#fSX@!>@S>I~X6$kgz7#s`SJaTo4MS;pmKbtzc zqc~U|te*^)NcbYqMtqGfd_%S8&|3Az2Pit-EJzzWg5 zYTFl$Intn`%$ywrK1xLC9+t!bxvzNSY6gPq!&i?YcN47Q_^g7t_qh7qLC%o=5u1>3 zwa&_LSsd~4!&g_^sS8GgWK5tsIu8*<<@(66Fq~p&NN9jQ5Qar(gFV4c?{)SAB)Q@D zCVRs86DbbI=82P|i>mCqirsgN_CApEPP$zH-`Fx)LQ zL#a*(s!l8n9mu|Ok$4MX3^UpFP`KNC$fMbl)kSx3l=RL>OWdi>xz2EaUbPoWe1pee z1@87h!*eG`dt6!=J;>|bJl}OQqPXg>5Fo^GY>SFG78>$klw6ACEx+IKAXzV6I@;7*0-*xYe``*}xr z&x@g5sphtS7oS)|)7d~?bUJ32HAzWfRwHsq!vnW6+gyYF{etCTvQi*RMm>u4#0UHE zo#5V+!=-zw^T#YYJYUOfw%QgUY<_%8s^>uVipam6>giAqw58Y&5yS-HI{E1>hqCWA z<{1U&cChI-xA_T#@Ko~iN9a%hI%g}lCzybHp4j`T@rWU$sktp*MO(_&I& zSJn4G>q&0$yk{YQfjVipS#vhftws~~v;fA4&j))T`cw2WDD*9&k zDEQW6)$Ype;~Sdp&a03w!r1pL%aDRS40+)nRt=F!#xX=NWgQFj;pi{b z{`|xi7!7swyF56qr5ft!=TQw6ODk;;hC2GoYUtuOnfsj2rVPj*^Y zHBJF7p%})1fs%$jJw?S~#Z}vq6{+PGF^D|ZqN^?d6PxR*7I8JH;O0|LPEk*?CxfIm z1ogCFM}p1C3B`#(36jv9Cx z2VajTWIbFED)IKoVq|dVOSw_{U^u+A_#wr!S?PQApJYetU;jm3S=r#1Fi#1PC36J3 zNf>1W#^4zYUDqg!gRUXI4$)#7-ju2pGMF9wN+_BwK8f=B6}lD9!#b~b)B`?VIK~_f z-wKD<5G%(D*S)`iFK6&$1*S5X=*4mK=w^VwV*8Q?1(TZL3_8|2 z2|YNP%0d2tn7R5C>)UIQ&|2ht4D7}NF0)b*7MRber2&wnsOiUB%#!Nyd*a_%um^w6 z^wb>j+%^Dy1$}c3Ra1lB=Dpl=**~soA65O!Uli2Jn&i_KH*ofP+%Ti!yBCdMe%}-+14ZWu1ck@NTn{P)K@=YsmpDxUoZ8Cj2MFf;!%0dygWH6`Z>4@ z1`G-te1*AZ&%-G9X8m8y6R}ooOM_M!XpY&f7?+^cwB8A=LWzMZ7lCnt8y>$Wk*X(Q zNU8LW!`EPO0yU%M!j}DtmaBX}Qmv>j!OnnpqZK8eA4RoyjF4 z`DdR%-qFWsH#$&)V&LBasG&QIX=A^}Q_KCI&&dp$@*Z{eX52J=V=wp7DD!{prJ6W} zlNfXA#S9Hda9IB$Y1FktXVdq&C^5|fFn}6cW8Ga(3nbb` z{lKnpqJa_^wlzE6~e6sx(S+&EasRxPUg+PhD*X=v}lBwv;xHm zIHLvIUKlNfAn7qPNT=;Ep5uGWt7?uaJwq$*X{KXZJ0oK88ZpZWZ?mIIWy{;=7->B4 zxS!zzAU$)n1Y&GeEss~58hhJksWE~@%=G5D!teoU{7gBYT@Uf0URQ_62GqaQfK7xS zQ4VFBB;$Y#1}^0Gd2~D5ADgmt+?(8Wr;eIf)GWePGk7;oSn~^2>rjAsbVxOOtqBEZ zM%0wCS%`Yg_UI5a^>(cnAA|LFn|fnimP3XSolU*528=Fth^dzV;i$L3F`FD(eXlOFf;>+#QV zQ>EW;zu-bzw-t%tp$=zbgCfcNC^3 zjs@{Tj9A#E*g7vx(|n;1nk$aK_X_6otf&EXrX6e zTcDa>yJ*B6PU1yY!~mDKn>&j;M3ahwikU*s0X@nGUpHr(-7f0AS|}o*zI=6N5$hXN4S2y8;of&Y??pKuEnpE!z#@7m=Rx#H%GEz)eiEEullGAzr|K0 zWl{=VZ^;kQ@^7-$rK<^bUm)0Zf&WVXEbu%1iEDaGG++l-P6Y{!wUE{=iU#edBF?dM z4v#o{F|Y4nj>OH3#`koAKWPh;HJ?}j{O1t~Q4?pu2mm+|n}MdlOejJ+a2bdB93IWA z47V{rMO_^S`!g#@a3kWjRm+3VoUe71NOwZ6 z&x@BRJVkV1Hg-SS$<5?NQ&s2T(GEBl2qnR-__pN=6^rpUQ`Jw=bUm0(y3vkbbo>cM za5y_RSIqfeK38<|JfEA1Uu8V+%*`qF`wlk9oV`KZ-%4ioV;tVa#F2!2`X#s3+2E%y z4qi^fKg&yg*6H#RFE7n6 zHJ;6nf;<7@cOitC4d25}+F9&eV5GZ^9O9vru%hP~_B!Aw=k-?^cRE2e*Fr8`Cr0Qq ze~#F15HZkGzwdC_DR_=y=X0wnQdPw@i{#La`aA}@J|MF}$}Exd4b5mT1ozGJrDlJ= z8j$E$>k{o2YS{vaFFOeEY832+XeD+7R`UujLR;hIFx8jGnrDq20aX$}W>pY>(LaGuSJggNtkVv-dUObo}I>ew8i!Sa$(Ms~keoHS$+cqjErmP08O*QV)_5 zT=MO!Y^lsMT934&^#Kz0vyVu6JzZ64`WzCugUn3-fGZQY!L@E~yZl=1pyvTo{SS`S zPe@!r>y4s29RPGVDLP!R@BE$p5=Twa7Odf|`KRIfh^j<9B%}i?iLEvC#+BT_XrH-? zdV=(jZS$ca5Y~|M97N#|mJZbX%@I#i|HLQ$==1q?&j%4rU2KJcXig4ysFkQ(*mfM6 zzr!shCx^S9hXeyjsm>el^6t{o`AL8huor!wxmB%oWUZrJhwl85H_>j;Vi8_n`-7}CIj_v{{GjldR`rFMlkA%UeiCqiHQZFVNtM?`gc@2 z@8Hm$?#V;X=4?R#P+fbR;&VGeBpQ)tq}VM8W<>4o{o0AN+krjv0hZG^iQ)Bh-_k{W z?#-??caPQY{L22LOuh)`9utbwiqvm|1GnGG)E_HGrG<*-`*x*-uQNnVc!H4&CYS zosN%~&m6x7jNkb^P}0>sSwcYF`a zPrYlS~ugM~E1go(jpJ&|(wDQ;zC;9p?>G_b?-%$%Y^ZL(+x zYm=HDDo{@SMX_Ob?HF4`Q-5bu7hgyRqo$dP9)!=9z0r0z!Hg=3;G>PeCP)#Kd<7gC zOThsSPN4}1K{t&?%o>e||9(m%GAR|uAPleC(d71VlvQ*pVnU5a!d0?A)APGpE_u$H zQ@vst;P_u4aTH6((8@H6C|Y%hF*rQF4c1I_e*0+W>zN+I^xtzFdo2+dQF@G~ia|1D z+{4pGjG2QSOP0j6gii;c872GzX{w9Ud*~E*!bhpKnEl}haS}l~0{lzS`(z8{kU|e> z!KX3+^wRVs7=%fMJjaEl1H%#S^!u1Y%?%8K=a0tUBSkPWGjOkq{ZDr|?Weq>;YOSR zqzl%&kdel{zUr-PQpTv7tN+D^{@q?AZT&H>zQz+7uMs0A^yVN+7ucD~eCXeOY{%4}RM*bjJ?e&W6CkCUpEiGhUdEc_H1hLqhrj;&84)jWMyNu(lIc zyi+<1k?1&`+Oz19J!Oj7aJm;~EukT)rX?|3W2CGY+z1Mrs-2JPPua^Qzoh6~ z$;!ERS^vuHvZ}1FGGr6U#)1Z{#BVnBVv2I<0;n5K!~az2lHl%=V)vCEapm10PPp=p z^Mr8Q==d(6>1n7Kd+Qp5K;eA}gzhETWrDy0iS1+8=m3hor!Mddza^f{reAtfamNU1 z2}@uC1eCU#_AE!&G1_BZE=6f8@sIBr$L)soH4RBX+29^Xdhql78MoUs7%d^F=}S*) z>iEYk#B^KU0*1fDnM5~7$X z|NrWsFpBh+JLW^+K+iU)kBx~yK`~BZj*tC{a_m`;_Qayy z!6D5aZ@@7@3XM{16(1}gMrgl9z@|k?;AUM1cx-aiwBsIl%j45Z1LGJVD$-~8?PIqI z^a{PHZj?2gmEf2#u{107v(E|@ht%t7P^Dab zXZ(!!IA+j1B0Sn7a;xP(8dhv4@X zo+oRh^4|z+NEr~2cuyU>Po*HIN*Y2J%aLM$L8T1D77=172~ z9#9C4hC|Xy`;B^#_Cst?G^kxVX@)hv-Aur#s-})c;s<930sr}yVx!>1t+ytzQP#ip zvtRnzTvOpo-q-_{a-u+?t>6}S*c4P1H3hzujU`8Xm?X!7)`EhSBhYR}-XRW9(xG;_ zqs9<`Az_nLK{8R_0%xqNIATF1#7MMHB8V1)3+h}Jz>pZvQ6C(#Nt7sswGCrf;Gr>c z*)4)7VI&t;hu|Mo%S1J;oH&A_u0pyRM{owAk*aQRo~t+m=U*)H*{P_E)ViV?1q$^! z*AKNJ&K1=S&Xs9N(O{5PB+~#vt)eNg&Jt~+Y!ua{qFUMn$dX@yaUc(&3Ppx|89d8! zt9a%;fk>gC!&V$q>KMKiMXcK zAYc}BtQ|hu8l|birlw6~{P^im3K=&j-HMFCIRy&I7>tgwIw51Rx{-{>ScN*L=@=yq zR#{JNu`2b7RjBtgScPnZ%%`XqY|ths`KDntSmXs^^_0Q^Ifyw(+@x|`=0`Zn0~2#l z#?%xf5fuup(!@X_z;DL9Sytkp7K|nd(M2Yu-$VkO*}RFmW=)l(1*PA$G3SC?X&I)f zV9ubpbw=9kCL;~uOm$?QK@hdPQzmXpnn+$blP1F0&`iTE#tk0+RgU2X{87fPs49z) z;{;%`%D!B#XZ3_a1K8^;-pVX2nEf|?>KDFEUjH1|z%WbVzQ(zJ>&T;_m?k4$yY>J6 zg(r3*U1w^)cpd(infeM&o>R1j~wm{^i(vP#`C&Liivqc~%gb%cdQXZ<{l<=R*c zDp^NG&%~E3q8*{2H8PCFFL3`t`6Wd#3V=(b`QTNspkAV2G(4BWDC2L}zlxp9@ecR@c}~hguz;7og0fkWuOwyGQ*xjL@EC@W13ZXn z0utI6y}`d_&&ODfNNN69_RntKDMe%o9*vZ;6g87UOn7{XQfZ%}fs*cx@CH7l?BHYD zX%8t{_4}XCv6<59d=jh~kE0?Cx-C~RNHfR^cH>F>Na2&)`h)k+Wc^Q+1^E@@yS?i=~#BUia`0L?z7KDBW}>x-b4B4H%-dX$g}P4`I`i*VGc|jmOban0Mor zI;kb5SK1zvmYPXma_-ua3p6$TTL}+Hw9S(#LkUD64g@=JZ%?RF;T1+J;vZIvhg9X@ zkFv?v;r>;Tqpf)rco=^z)%!JXgs1<)28{)l7@bXnMw|#^`2#T7|37Ho!a@7ZxxBAg zj4ET|Jr7gO6VnYz6+|VM@LyG!#hwC)V#_dItdmsb_A;xp>xqNIIEc5aydBLU(Ain4 ze=8LTMwHS=IjrUX%?qO8Tng+TMm1zNMw~LHgM3XmA`KfQ1kWKgxJgk=DVT}r-;nu- zvp}XcDW<7E^5{u|tYZP3bxka@8UY5KH}b(oMoY*As-8jm3k9n|+4VSn%;L(!W-*1y z+CoKkTnv{n9L7ga;Ft?=*1^#nEl!jOB1x_weGSXhK*t=(McNIGGOedj7j-~%*>rKk zJqk><))_c~xpx|vl?0&SwbWso zRf-rFez3rfbZQ>gc=lM}YojRviFr`MgG;s|MCGjp7|zj6oLqef8WpWcDY-7W!3q}sJxH&2*CR&ilKZTLX*;VW}X_n&R&HP z2l}rHj|}$rZlZN~FmsijBMtI_Q9OZg;#~g)-(W0bX}&b_wuJr-yNB?6`jOOf5i8dW zQIk|AS%cwL`JXa|Do>^qL+zX-Oun!l<8uc<9UW!DxDIaxCM+dGt&g&(ALOR`<0(MI z%6R_*!4M>;W9?KY8qvSe|H(c(UIcUC9}=X8zl1c?VI1J|bQ~~p5h+~c2kKfFXQVj@ z_!!rb>2|g(I-NWNRH8p_gmTagOs_lj9mhm8Sr>-Uix{Y?q+f>iL;*YrL+sC zb&1Y)qg#GGjc^h3_|alTR{Wvd;whn}>I|{jB2$YUWRl{i!6KG4SOSZ~k}JZv#TIi2 zaYE=fExRS*K{R#V?%Rsq`342)cwOc0e|V0qZwJE7AH{ zw!HyAqK3T(*F*2b=Xh{O(V!;qfVCk}eZzPt*7Xc}IwKyKV@%9|5WX%?mOQ`1aMpPS#`1B|L0vI+w$8P zl`6D)Y_F_XR<6iVjQ5qsO%?&0ofu{%G6FN2(ZXiXPp!0O&43fz4pIYMh9S|ul(P(+ zg?kFK8#J=W^zCH^+9;s~r-iFEMkOOxD=F8M5wVkBKX}~z2x8mPvY{_3n^>9hd}a{+-$m*Qnis52h{H66nqK+)MZyTdT^FRB?kwekpIv`=p3 zh+c(UG&}RQZI=mneJs4F0{4}$NPcMR107Tf0m#xgdRwp zk9eLYfJV)jNxHwReEb>9TM5yqJIF3@9{9;v9e|^!AZ7X3CdwNiTe?xr1db-PHExSQ zkFW44(K$fU{dhZP_5>PYSQ57Ap5Dj+9RoFu0DckRbv!ZT^cjwa4I8Ni_6H@fK&u~N z)x|~k4SF85wR0tgkQ#s&!+6{fE|5T#R;;!lPC>&_ux@{Aj}I^b@I^xuL%lw5JXnGDQwTz-Y z3qK7D31}UIT893O*|8)<3ILbgp_?zz3pbM@oW!Nd=d{nVJSE}tS6I8&`ElCo-efhm}Y^fW3VXu>lP=*b~f z&2Z#gq|)FWc#FE&ZSTZW^@C4b@tQZRFmI49o5q_)5-Xq(f={}>j3opBj140IvpRAY zJ3WFa6+JosLTU{@*=(xo(xGm2$UYbv+~~Iq{md7^5Fy4YD4}791|Srn5ikL6mB9{^ z!U999azZEI47@`9GfAx)MNjQ^rWKQVuEsrwaqRh|LVWpD8Abw?Ojsd-HtWmTw2HE! z^E!ljX~YC*tY(_-f)E=~P7|H+Nel^AM@1F&1vCr;NcW8@!{G`c3a<5@K!WjAYI{ul zi2AX=jn-MK3}gWchq|q1fUnBetAxY|2Kmuw+vsOrr6VOl!~vUR0y$rKZj-Zqg8$g|TC zq4pug77h6(Ju$Wm&Y&uY$fLRF|JJGk&=|V)s-gjRY;-kzVdoN6Iih~3&o?dHN~mE6 zZ{U@1m`9l)%88j3OH0s7(izii^V`qOHfJ`ow5Pa?UzC4%G0{HBU0e~>eE?BM?_x0?thL|vsFhGXD^_b`tP4BGSpe0C(0-g+SGbq|Vy%h5&&@ z>?EX1+L{s3cG38>m@y+AUQ7>Q(BDtyJ$Ce{( zIKj7oaewD|GcIf&CMNWjsd+VcofwtTi|L`|NpxlX(8kWwX>GU_PvgCWr&E(GM%d&I9dK}#JtfrlJNTm@o554I^*Rf`$F z05dM&a_h_qFxwjFed>G67T5P(O;}bj-oa`1aNK!g>6(6rmnEJ+J>ZFtDoL-QHrW9vg&b6u7Op+%15#|Q4X>k4AGVCvmON3KvQnDn4(Gn)* zxQRGscv5e4AK@X6(*}gWf0EZ2Xq{aEGXz$nyNfAbM6xa0u?pLg9cqwSjG|*edp!We z{??Izz8SL;eQTFps9CQA@iIZIp~j6$(*ZUU=$Z4}BiJLGS zfOLDx0VooHd6R#karS+Cxi5ObHM#g^eL`;~ov`%i;;8HEG{I{8dkX7D!R6A~I$uM4 zmlRxUOMW8?j_S|W*8s4>uR$3-`bMouJ6~AiOp5^+I;NNtWu=h=zE1CV_@*eUJuukCV!QDNYi+bmAyYrJkxyUMgcr-^k2W#NTiY7hWAxX-#GG#I>lhxU13STOe zTaz?|d}2vQCCy3@RsjaZHhSD0Lj9(7!|P6J`AlRs1{q>hg;va{ms49nkStEDiv@4VlEszu?Kn^iTKJzyV(fmGwGMqHk&`ro3S`BT@IPx00eB9UOC|ol!gWo5 zziEs&!Onm8yq7@zma^aPeN)(P4Cpt&fvJwOWWu|biupTp^CVa3nl05{nO>UonA9(6 zNkj+5P_=>IK`k}IKDDqrIU&LMThAC3b_@~d<801|Ib5z|mPVYq=4@r5B7pn)m1sScH^DH$eAllW zQ8V!N2wuooqG&!>Lr}D5t-P|bFflvUN%0j^e>a9BG2n_%e}(Q{zPT!o#Ld22wx3&rB_aab3-8DzMa=_V%PDg`}l*1z}T!!H(}dHsI|> zK9WrgX6lmda z^2?ATG+^orqja#&hdHCqX3-W6`eHbHh$CO(m;>N;fY^-{;}_OnHtMJGvrq9_`vl{c zi~EX5NzV8IeUBepTnWVRXvUAXj9({a6XRCfO_jLJnoe`qbXs#JD2^G;x_O2ns_j4; zUd;bTR))Q>GFXjH3Aq!1s_O(bcY?}AQiGh1tdKOmp${g9^8nw_2eUc)-6DpGS>pxc zt^qQh#mEFs+2qgqDHiB12+! zH1xw=LqBmB^n>MjPN=y zN3?gqUF9KnaeuIKkOgWHT+7VCLz%l{Blre8kQJ8ocR*suwbW ziBaqdc;}#)BRC9IckpN&K!a1~rNtHY8qjq)Yo-Ufl}tQa93y`(6N5-C3h>2&Y#-Jz z6F{nPJ8t$jt+i@(*zy#Md7GCb~)$R<-LqT{EqW;qYrF}amBN9 zjgbQ+1x1a6R-j5JcX=8FAMtG2p&JAW96PYmJVQxU{tSlX?3tRa$7Ugj>@YnyI=k7l z`L*9)%kfL?*`XowZ3_Uki3`}T*^TLDP-!Bzw(xqlZ9n!w9gYVjGC(%Hsw(s+MIYdQWZ^_Bt<`snrSyuZf@R2k+JU$!qD)wEsDU zEk&JT!{NLl=<5|h5y-A=v{ZlOfBVhfogs$`N8wi8w>3ZO$3Oqm|8@3lJYAf6%Fk{7 zltj#;4iZ?v3#(|3*}V_`(TJ(8!7N=!e=csSxmy&26hj?3iM8E%4yz!=D8T{h_xa|L z`60PST1z!-9#GM<^XwLawHeN97paH$9C+X|QXMIIqh1ccMf@GpY#i55mwhYL31y)5eZ?z)Y)GS$%Yw>R4v$~U>B6Qg-|b~v0@&|+ zkDZm6ZN44gehl-xM*%tB@tRUj$veft8jDQyn3wbuqd~QBDMycNujW2+-w&`A7(TkQ z_B7z=p^Q!}^>xSnNpk28M(m*4{*m{O2CvGpwb$KLdCjsnn@oG~uY$q*2xkVv#FVZ( zW@fyS&OsQX#;?JbXDt&08Rt4u+Kq^;m|izrq6LBbM8I|ChQJh`a(+eUAJzE{#~nQC zX7K8~uKc_D4_9yHT3ol%A2B?fm5wV-ixoR~Zg4k)96+Sbjyfizr^YT@Tclt{S-*RC z{7b?LIm1^Cad|cmD*%3I##NWic%V7M@Hu!ew7-HPNKg=hp8Tv5Z=iV8-OwsMa`lwU z20Bh)%**OFVBfWy?28CvG<9O-{i`#%pI30dQd99YnnPGLvPoj$)JsWc0M577SjH=6 zRl)wy{89Ff=IcNHIi+|y&8qm7^kpEUZ+!M7zE2{a3{zI}w7T#8}?LMPqQ#>TfS7y=zL=QKGAexqF zNI7%NBIQE4jKx}rutoGGts~452vZ`>g9Oc_k`P13d#npX2~yAh!`{1qTXs~3 znfr0hxsQDx`?k8JM%@zo9LaIxsEy|PG(saF>Wxt&@i6%kG9eRY;+Y{|lD;sZo0cZY zfcqi~BaAS@1_L$$*$zg40P!%$0YeJ}$hL%q2W)JF5e8v!Y!D#Z8Y9&6|Eu;n_uSJD z2^%N=<{LHKvv=)!tXj2dtyQa5t(piyJGChU_h#qH^p~yYTrLR*Fg2X*CNjrV0p`#% zAZ;%U!x!+s6nMtcE)C2-I&=Hs!w;4OX*Z!4SHRkI3?9>ywa?Ma$xNd1G0xEQyxrXw zDG%*~CsHtkKN^~1)0^!Ut|~u7bchm`n3hp01PvKDv1tbWbQ!d!#TP=}`Gr5@qQ!v& zP-&o&in#~@AJGIX*i0}&aFof~4Z1KX$kEfL_gt<^F;`6=oBs3dh4WndZvxaacl2)D z8j5CqDH==%<;+*SGlia|_SRCICIkMt=S(1_wE&T-P&lj8C?@K%_BQs270s#9vwX3V9R|G=5ms~xANXh*TvN48<`ngWj0dL~_tRDhiJ>bv4HG}l4O znRTZVhYXnPL<) zcreQ0lR#GDKdfM||B#2j32T*AyQy$*Hs3ZKQ9iEzf-S+r9#>Uw-d3EJ z%sln_Xcya-V+#%CuIL**PBNJj(W(-+^$>*?bKq= zVg`BJmWXf60&daeCCwDICC#!6i)Z;=#h@9eaCCW`Sh9R>612AY_Js!(1HI9}`xXZ` z4s#{Q>_20<&|r>1qpU}#|04%*Pw~Wv*qiwNpjl8;jYHkRO*s_z#U>T(Uvt9dw~hcNEw72=CWOg0FeG^0*M2{ z|M+AeL1qFq@;=i&KwUfu$iR1k-@6nu-N5z zA)b2Lq#_TCbHnoJ&qRqaLU;^>2yp7h{$+MOO63Olir*izkg7Fr5o=5VtbL0_*3M~t zCzd#^203}FtRYZ8e8eH-z5a{s`2C~|{ybB9I<9|)FJ)#!*75Z8U7VXP+pC$?r}2At z=KbhiemFGP8Bq`YvO`*eh>LPx!IFxG<3QqQ{wVxcVTZ~G(X-Lk_kuT1Cia>&8TkMc zsb}^3&1oz_d~$NYb_##u!n|#cCF>iy4Dz?dNk(^sqACoik#l@WQvay4@kle*Z@+u2 zB$)ji9Eb8tvBZQcMJb@V+g(S1?YG~^bs(GP;!|{%pZTLWBucTEuVn0B>0(hBT&A-0 z?6;R3q*>pfy?%RNu1}Y*05vYR=o<6>&z|E5Q1`u9kT>GlY{llrV>|Di??>;< z;^ZlXxG!eo<|Bs~gvh&n=;79a3*QzgvOUOQbqgt=0CPUQS;5#zG}X_u@Zee-$O5R{ zES@91h;%Wv^rP^fK0Y1fWG=>!?dW1Y)KDeMBqXgsB$*dBoj5!T}0p8NmgI zE1_wCdElcPN;j6uiFb`e1-gbpZNj@^iNlQ&3~-v~GTFeG;bXV5SMLT17X6TXRyOF) zHO8Yjp5XLZl<}ZXV+9kBg^Xv>r_vRVybk6nWGp8pT(#ptWFW>y0KGk_5W)dR9|QQ1 z5QX?~%vs0vWx~%gOahoz8<-zIZWaAu8#C{|O)*4~Q;HyQ^iV=5$rRud%q7C zs53pL{D-_V)`aLt-_MU^Bw~C;Kr7SEHQ-pygMN8tVSMdi)RPUTKjDVIwxk-oHX9xR#a{#3Vlv zPVYt}InY$EF9=uPQmmx2>I8d=Jt(vMoaYS8LJ?~t;Q|)XYv<^VVL!+>%tJHx`Ft$T zsIi9+JUVAlLimq%<0fy$pw5`!*4N}>^i(yT?>Zz^EU3zdm?YD6-`~{@Q;JH9lT|7e z0@%1p)Ie7TV-Ta7o4I-c?gOT1DhMSwfEJkCSzo=l=b2)B2maUg0^OB)qypJmiALWz@Vt3n{Hri!5>3BnRY_a zEjYIH{Kgj~y?qS-xYy%hJ|$r!2qZLnHK7NQzlGo?L=ml=*PNUv0&@>Z6jU=s6V;i% zgOR3el^kgxcCYQv&a77WBvpIG@V~CA#7DTnOu1kEU+Erk)?@@z!uVen`&ewtb|wrc zIX4A=P!Lk}GZDT<;XlG0;=j3=MeQ0EE;DcySjb=*43a9H@59B6YiqA?po+xl%IaPD zq;Y~-(l9Hl3FEUbhH~zu+QJ5=?Fn{8e_SdnYJwD=i2-5?oF9+HS18rl!I5>akGGTl zWBBQ}H{5X!-k@~OS*Obrvo5Dyl#j5`aprOvR)#QxZ)I+R0CIQfcUk>P8CPe3BGDbu z!6uxV4u~o-`?Z|Cb9&IaWs}z6iE;f{`VDyZ^VcAscA%$%xK`?Gne)h&ln*qp8-Lkn|XnJNxkyunyG$?sy~t&dbhJ=BvsWt zby-1*Q&;^R{CR*nKzJdH zF%#(%%uJ)EdQ%=Twj7QSP`hAS#{X+`ANFQY4s~L!-~dI`S*WCsGn85w?eHzxdMpmk zynL6x^o|ei2hMz8_Q1=j7g=Jhob>?TsInrPABam{9k4`8yCl1!Iz4OO_1@2)(Prc> z_U~#x@yfkTwyXNxJnk!koFp{n(`ARe6E>^=G{-ijV^TDA8;D(DPa}959`GsKs!AOZ?Sse2*^8=S`=H@l! z{&6P+zT8GZptIv%68TD@R9r^aJ0;cgh*&Dv7v=~H47z#*=oo7h?aenlqJ1M8Mg6(D zs{V5x!FPq5z6Fc=P2pfGGAC*2IZW|aePSfsGTipM^sFdqH<~cYwy$lv0_{EDeZ^{g zVB0&^f>CDsbK2`a8C68FW2vLuQ^hT?8%MMKk^1tD+y$5n1!0o4%O1j!b+otrPL!3= zOGMUhO$!d17<ShS`KS&L-UQc1(QJ$oR-?!slia?wU>b z&TPU1vk9+$$4o0fH=FRQvkC8;P5ABEgga*wzA>9{?`*YG(x%+Wx@fe$T0LCzM2|EvhjAU*Dd8}+&WIzUBf_S>@R zLfpm*aKk~mmo>?ESO|;lvc7{0pLb{!A7?|Jv#NK&u0fg}-pW;!-uWIGl4UM^<`^X| z^#JLLw~YIrn}g<5k`k92Q{1?F6J*KBA0PLJ2IW2@66X4g(NUeyaH zI%WUd3}+f>vOJghfwa7NM_NNdL5SyM96^16lyvNmjX@I?V@IB^H7q_B^&jpS_1HFv zS2RZI;#Jy3rX{5I(@$32lcOJ|R?(*+Gn;V+wD0|+&#QGJ=FxC`sXwiJY;WL^d~CYD zWLZL8ZNGeReP7w$9O*!3V&wl!(5mUqWtPku=g~T7K{Yjxs$!bkL8nx#b`VPJJB1~I zWqK1&LDpeBV2#5hn!mz56Zk{xl!_au4>#pO?tWF;A)~KfP)qGJ_g?i6Vv>hK(iSnN z(KhP0r{h!9#O7J(OY`yj}^cHJMkCy5l zi_OQ9N8BBf4)s(uy{KwmR2980_K{Sqw{yu43_NKcjv5$jRFs^~xOS&W0|bJ<&`@lZ zlDH(*-#(-IX|+hI%G$m4N7;_;R4e-9I&%v6qS}fEtJ#}*e?y>wO+0E>6C91JQZuq< z`uW!rQ_@ubX8ss=w7_)~N@~LPW_O7wk z{}p%1xYnf^rZT8j@AfTArcvmDuY>)BA7^wM%tpY;Mkn24eCw;uqCJt&9;vV0A(3aH z*Hw=X$^^w&oVMVWX&s6Si_Xgbvr?gaR)2SQOp#%X&nFj&vd-*x6GCV8fz$tS{Opmh zaImReW6h!y2G>f}>fOK-JN5YeI71iPtBPFi1r!W!Zd_bYnIw#O(uuA-Nej9w}c zaTZGyJfYAzDKt@-eW|~Ny?_eaoE;#p?3ViQ#mbxIqc{Tn7w$`(&?E1^;CuV{sV_0| z=}Y_A;j+^^Dp+MtWA0MG&wlif{$l<`Q#ku^Wmr0V{GuutJ}K=U=aT?k3GwIx#a6hyT+&2mj~*XFBtV*hppF_ zo%a`PS0h~T$>2_N?M8lJrO0x+tIJXQq9ft$lJZI1^X8~uyv#;qc-8T=!Z6dnu9>&a zaU&-nvr##n2Aywd+|fgeWN$Bk`_K{r%8MaPcMP5`@2Od`L|;&4iuO})E|?@t5$ZeA z-uvJXmz25oW8dhR%C1U#A4zlVx9^xF+#d`CK5h)`y}DoNO;pcvU2PakI#4BjI&_JSp<}NO3^(d3)orVI@M=M@txJ=5>u*;tt}~gYD5{Vbs#KE{-M_ z?N7c%EG`#;#OpRjfy6&~T{*_ct4Nw_f95yyal&gO;eEe8$?^I~c*P_K+24MZUxDQM z4cwWj^>|2b+DLXHA*t}=gaWwuLJo?H*A`;fBm^$I8q+CMIZYpmXedMNK{6iG37W!- zKY+`ktK%P3#eb$ zy}PE!LjBe`0++n$-8vZSLR`bT^ul;&q_6^xl$B-x`UgQLeV+P0#d>L}J^C)n(gOk@ zw7>JNy8c={TDX)N{vbUMErvO}u7`I@7P2s&8Rmn38QL;2pyVqSFrWmeuY z3hlk`s>2y}WwfBldeHZL!Rey`Klosh$JyqR!gk}v zhNVQaOO?v?eCsL5Xk~>-a#p)%_=xsV!!z5@XTx3X=faY-GVayj(q?7cs|9*RfADg* zBe=~Ex+g;#EIfJi1H16-GL<)u`<>NZ^I$oA1m*dy-;Yni30fM9WORb|rDQ*|{dNBC zYCrH`Sq=XlIu!0baf6fbaNX)S4Me;1u1E6%mULV|>7}*;o`wu>Xm+~(lKcV!;FB^a z_rVud#M$A|k{jguq?kgag+u8bSK4^*b?m=8+;%f?y7Sa5IAoY_&p; zCLD~-r8B1*n>6JxSX3RQ!TapMh_ihbZ5FC^hWy#BH-DkD6VKEhi(~3m*L-kdgp*#2e}dP)@&Qc@GtPiyJ>2;6c=A~x=wER^7o(cq49~rY7m0)LFXwdWRpWpRLb{Xp`O}+No zcRAf+0(xZ8n@oE3o0o^DSIy~kL*SazgG`5yw3cOI26%v74!C3Smk!*--!yY#_UvBi zq2iPnMl%acdWPzPOcG1U;|%6;T!&sV-JvH(huG>Q)QQ*tN~^2y?c+k(b>!zx+>xcZ z+17hgtt-Ax)cVU#*gBhyGp%D1{pxEp4!q$ctsmF-a;kNMcbus8FV$0nIq5q-L^G{Z zdGOEnhLg08ZY`Rw+d+Lhz}t@c5f8atmWp!=PLS0p8-?UWuYh*AjBuLBzZq%7ccl^j>&HnW8q-SB zPgWA%u#Et3zcZF(EMt7*^7t=cgQ`Ee#5}Fq55BvuzqQ*wM)|D$;s>yW@*P1oY(ExA z>D9m18;wGg(smEAhWeNdw*e=y2G-C()@*yX6JMFTIs3!UJ>lJnSM4dDgTGDM%otBH zQ=d87+3vn_Wi{ib>pahTMbYQK9-6|MehWLBHN7A>hNafDWC>3pHaiiPzcD}Drk88f zo>JSKV!IF2Uti$~ZKVG7CGt?&mOS-0wtQwqS2a7Q3&g4}yfI=$CpFj!4BR{kndeQL zZNoMD&3KNs!3{vKo((Lsqk*&CF6i|OoujFdT;bc6t5EF`40np{^qD)=h(g4!T4=GWb{I*Q-Z-WNq)ds0=8Pxp!dBUw zu|7hoKDk1!>~0alyCD}U*)r2XW>mxJ2=K$(_DhjSO2~xfUUODc??Ta9YD=`>^%3i9 zG|Q%RA)?JLSO`-$)b{>xN#ilO*V`V^HC0F|6%vHi7KH?3)I=fSsd#LzD#BCmv216= z)8MiBNz{+kP(Q4Z%27a6^a7Ph**UTP0i>!fOG$NE1W;(Trk~WKzG3(2PIMz7qdC1f zyV=eqWVoa?r>TRgkl^r&n+5{=91B`VKaEE=XOLB7pho{Z(m-`*h+|IOdNVZA0Zb%e zagGBvJf|6$j3Q5!G2>WT&a(_~7SC1hD$>g1rs+l1jX7iT5UZ*iV+P*WEvs(CSTkN$ zy#NRp{=-|BRn$o0jrnmaD|*{&FJg5@M|iq77HBN3dV8~dsiupp2_)b)B2}?8h0W|K zo(J7_RZ`Sx!TRSynn0k?vG=R})2Ns^=Wm zCx4Ai3W{4B`}XI+IjZWd4xeQ@#AKlcutAcAms{-GxFu7xf8dU}k7fIV-P3$ZSTJ)_ zL_K_8YCp(tLSK6IuVOG4}B_WWgR(vCb@AW5`y>ul1(F0qfe$@3T9nu-pj z^uSTVY_V&|?*7x#KszvOd_H*W*d+&L3%v4RH*;Y7XgEbl51orJ)wIRBQXzI@o!EKH z!IPs|`@o!(d-^V{q`|BCuy7@(LgM|0!RB0ac4!m5E5Yp}Im8S!oK{uJN+ZNTPh}I+ zaJv@oGfqQrEWPFOHEpR~<#hERbr>7&09Vd!EFGkLX?gZMVV8&Oz-sCVpmOSXy&9s< zrX6d;G&h4o)$95|Gp74?W79P&y4SL$(K+qdTRcp+yb_sX`YX=c)343e*B3(!)1QBG z=KWZrd%dN|m$g52bSB}t*@QotP0(R#OB=_&i;;M`QO=}pO}KsrieH?0f5~i>*UToo zb2j0o*@Q37K=qxO_giM(KR5G!%Pi2Jn@#w|*#xWvTl@LPGj)Dq_I&;^}u7(tKDO6^m}IQ&sPlcJ7KM>l90T zDIdJV3j{y%pU+?eJ2-yP9_3|(k&1KM%;VUk&)S>t7l|!w(mVu`%k%Kj#4+=2XN1#6 zTyn(Z=R;_ReBLMy65^DaJZcwPY%o8v$j|4HRayJXb1F9pJ_-<)B`h5U1;!N*nF1|% zP4%fiy4K!gOTN+b5r;qE$eh;>X2VvLgVkc3-*v#Ic#gv>95EBFsD~0VHu}n0Mv76~ zplJIEo%Z|?uy?-w3}9`G>chRwp$_lazf%LvqO==mu$uVPJK-s!+}?>=It02Bz7dAZn>2N!gVQ;08<3TvLk_>#DpR4%8m}4 zM_}ARCf5`}kiQp)wsCx-q38{j{7uLr>&Sv%Bi?1}K?)sNwD~Zn=S7?nLNAnJ@Gj2i zw*a)v?!!Da#U?dMNMrgT+cX_QDA3_-gHTiUd|Y@W;lCS<0ZF~p1^T+TozcEw>;k>< z*M;=;XVE`Zlv$>A{l@9XGp)P7u*1X&)A}OssH!ZEsw1HW2Pw*0Wy$C1^u&%)cf#QO zt*;kseZ6Sw>*Kb*?%VqM*<$+L2CC1_C-)iDyUINjC`6rvy}s-+)S@M>h-TnfWZ{Rv zdO;3Bzy$ukY~Jxdw&W2=#8qXE{du;&(kqK1WA#z6`vCz9ST18P@($m-a`I){nG%y0m*D&Ew6z_A6c5S0au57}CDprF}ipVkfQr zR+sjzNL!A4_jPIaMcQhleTlUShfXvQoCZ`H1(aj$-Jdx}LdAiLllr~(ORgv?esD93 zAq*4~qT1Zj0@N}=RKMMrI&Xz)E*TZcU$Pqwbb+bUX443y!bJj?96(t(c4i#a?T3o4 zv5x(}NyPv#so3WeRP5%WZ6^pRJza4)^%DLj)))fF344eVcGxTT(HoD(c7$_23!V@d zEg_Mx(zdsFFhv6FyL=h6j{(jQsSN4(%TofUzsJdGXoa<=0q!Q?j8ceCKjuRAN^i=>+4G$ftCj;dd5Lg@T>q>`&&6CSfi z^!TgNBBxi~F^?k&C@n5!5yfemaD>b*MZ9(|d_%K3m?Uv5dD%L|*dPHaZ8gmC%n(6Z z-PzIZj8%+7(`V7_oaFor!=iK9mdJjc3F*;S0l+05TV1IT38c z$)2^OjDhMnFBE;I=4ajKkB8V2Hai)j$lm6aF4$Vwv8h55$rN8WK5^H_c;3QzoL|tW z@a01)3ygz9PJM-aFsr^$CciWkm2mTI^2g>YKvaaO9)Kq-0^2y+CyaB2!2sSfg9za~ zai|aYLq%uU)5OsPN+m1@K%PxIH%5p!9GMeH0F)ynlQ~bRnNeVKE{UsHk;z$e84~$p zw4lzSn~O0aymc02AmjQ{9?SBt08mmjN02A%Z$A}JBy!Bj2{CStJ9cjZU^NSd3!R@HLsiC=4~kwB7<;o_9?{)KAYFXuV;CAy|6eM2W@Ze51F)kiubA#7H((W4Zqh;f0w^( ziG8-D%Po=2L-zB|vGwHQm()F83*LMxRieF*6b`0k=o3LNg!TG9` z6xjg4-;M6~Rs0IK?k$MW;T5e7_GAQ* zYj8&5m0JamZNMHtz7EZA|mKsBZ=cf$E*c`%2wXo}s$`ku1(Hykzpt4<$=qarhylZuY@IQi1CLkm`1Dw(K`?+fXWRUVwiPQpb2r%Dj6r2>72gnW z9WXc`gd#%Z2|cM|r#X}~HCMoh4!LBS;1Br7I*qEd02(bgh7Sq3J3c@j0hx&+mtO(# zLbUW3Pxy$-m=tN4+}@z`pg7-~R=ujyxXX+f!WKTbs}LqUc2dnywFlYV?^Kfl>h-0*qtQmEwhjepd<)A-u(dsz3lZ z{UCb!1QDwM)Ai*vp%tYo<-X|1P*39MVR;L7JC}0+jIR=z*uf(gzA?(<$aD)&$(F?w zOqo>I#W0If5CmJ}uvZG~5IB*N_7wX%1wP@4G%5vr8<7iGy_BvN9INHnQ-oTkK*<2b zu!*MtWi<9iqizaQK!e{Y3Z$im&TnC8S)hTcJ~kTZ)fCuY8)Khv_FIOlPKam0T(;=? zaY#7`0;Km2Fn%MvSxrd$p$&`%0%Z6-8@E!8N>IGka9uKfjWJ9582C~JCH$&~g~>sz z>W`l>s>4TX&>n&210fg_3Oc7T8_hz7x-Dfl#Ph1Ik?0%Snr&b=!f^8H;|^9{8lOc< z44*cO?m#)FC)-OE8=8|e)0WYj~a458QD6y$y;gE>8G`wO* z?P~yDCiEFt5})xU<9;3(ZEsE!pb!*-lF`|cezLZ92}xrtA)zo2!coVnAh8#Cpk2Je zZjp~lV!80aegZ15-^8IeA&bM`zEbBR+6$9g4&{_VkR^Z@1b7|?(DF|_?Ap0VEpnRj3+L>ufe2_2^`4?k45PzRF^ zrtr-VA`+GuUm+8gL$}yS_iNErw77D)dBoUvdzWg@C^}BV*KaaYj8pAw*cL z_=MJasBylCby|EaC!YpXANDor6DV-ua?9_Pd)F`b0E2a ztGi+z66B(w&+TVfoaeh9osT;C+J1J>ej4tb?juk!x{t#>3~(eE2bNm?wUQ5Q5)5Gr zcAQXoQTtI0cd!dtr?bFA zb6kZqZ^g-No8%K!oQ1GgsXpxa)&Yl@gtK%_9r0KKKA_zMam(keU?q+p$|ZwE4X|{w z!;)Y}p7dg{aUF=mUeHX=H!iqb3abOuLARl-9D5R>*7#75IH%~Mf@hX`Bh`0u8 zNuNM#R~|o1s80-H{$z#(G|6YIx^--yy1O6M!h^h%04B_EJv-SvdQR~$V_;H}OU+Lb zwCIzteUi{wMV2NB=<8@c?uFPZFJI-iWM35V=ogq&s-I_F`PykM$I zqmyNL3T-8=RfoWkOJX!VJ~?hR7X5R6VOm0nWaoBce5$!lF;cO!utb;CoUgrj z8thjTq_a?HChC`q&HTEPcD;UEp?1ZhWStrjaqAd6;C-bQbIw7r?-4`35;eu?cJ4L` z2dX$|&MpLTs0>^^SSL2YpXbcLaBOT=P$S2(3kJ{ZPa@ERX#f|Bl8;_K({>?;+- z)kE}?ni{=pX>chj3J*|L1kq2}3v9EQkAA{|)^Ql8pM&TpEAQ!kGK^h6jhD;FhEK6G zvKjScO6Vtq(Dvsrj0($tEG%j^CWZ@4FwX)cDT*tvmJD5bk)oJ#&*Nj9-{1OWF$IdH z-v|sXQb@MWN%$5c{>F#0tBl|L(6A^V0QJHr0qq<&6@`+>hoRE#U4{2cw8v<*kl0X9fkIYn>Eq{h`CT3UtEVq((NTqCP^$YpD-ak zc&uc-A@c=U8AcVGm`bXk5;9t8-rb`7o$@Vnus}uVWCJ(4CrL+>$DCv+*H5glC5}`W~R(XvuSp@c8Y4; z{?|ay`6~DK=i`wA#stA2SMW|7lYZEU;oD=r=L#-yRv}A)PQA%L$%v*YUrO&9!YBbm zX~$?2;Iw-NHaf5(f<3((gT=ZUuwu{x5!5T@Zta8kNCSSD-QuK&dL{YW>`Baa`_YXR15Aq!uqUaoeO##u z%#~xiG)+2DaPxL%pjk4_P;uO{52C@V9!#-tOrc$%c(JCP7#{KzPxW}6L%E-2PyO_R z&Ace(PeN%7+Wv#w>kyd49+W1cjj*`j4{l0a|4^hhRB?cBo0Dtva+_N`OlGzGN!9k~ zAdcb2S6_Jw4xhv-6V?_wYUT(E8na)Z!Y(V%!5qxUyWCvSSlhEY{&dx8B|t*1=c^K7SJU`Q^*K7%FCvKwge3?94dK zK?i`v5g*SdiS|@D@Oo&p2nbVS7~t+d=oACZi!f(-l$c)Jl@PEW77%W>TBm8Y!)`Z~ zItsz_!G#9qY{BJEfZHr`PJqS^$|L|6x~yR_=^9FjVL~M1uH!BMv#L%|(Ri}rW>JRf z7nn2Xqp}B1j%L)Wet9u}L|E?#7n~+b!*9%Hnv+clWwHpY2 znN)<8aPO2${j^!zGL$ff_CZ{YrpN4X)oCX|-4ct}umFt~yE^!#jx&(*F_?W<#Ouz< zct6;1lsv}sj2O?IY36WV1^0oi(rm=BVa|5ZD_IT8q3(93K*ebccpWuz#GKx+6x80t zik#M%35Z((>tG5wINIUbWsUw?X`pBa<4l+6z=HjFghaW^KU+Jq*-$t?ct6ZkBRjfA z_@(1J0&5+Hn995C)#epox1gsyLQ3RMP+~|0#=(7=)DCeql@wiCRlywRn$z6j&?kbQ zGpXYYc%@$`mS*Z{&30{76m!D%N69ZljGPwYX5Mk$+O3M!W`~Hb5fI@?%54WGQ*>*I zDMUz*wCNl?RTGd>q8F^xTZflUNEvi<3nNJgRJ7BP9h@up z7lE$f*UM8R(GbCUJk4QGJ~u7^iv1_Nsdr^ynD#7y0fWnJeFQojXokLC$=ava3`Aa=?=w!_>@RTw>&NzrN_a{jxAPR2T^syWb&;a061Kg<5@N@QF z!ghuBcL>sI%PChsQLQif{2>9+N z%7mp!8x$|em;$mvCv*|25Z#aMF02os3lV1aF#CrP1MHBGMv?)pzQ@!Uj8f8}d=~t1 z6Zq1uFo9AZiqr@8uwW&dMO>54VVCsM$`WIX1MHLAXxrnd#}l_Ckyi5L2~jMaJh?ix z2`vS^wh328%q6r4+&I?;YCD^r`+@HFV9@M|vMf*`6+@WtrDX9ctDo4st#S7Ve=a!? zNIMt0G#e1k-b_kU9hvvD5vn&4; z;2|Shpzge$YMbAvV$_WhxDJ>dAW4ChQ^Sw5N1ej4k@E*?nB81jTz#U5<&-_%iiA)J z_l)KzNbu&PEl61Gkf4vNNGKl`62N6M;BHvV6?-!*QY<-{JuxYHNVQhn<0#7A1d+^};}MBcpz1xp1(BCPJR+Qx$DV9ym^TT*CO*XQu?~ka-&*4M zQtWdexWs`fkoEK!m3!P{Z~lxo62rU0KtZ9@(FyrvKlU4(m~a&x5TI1z8+tfZ>D)M- zaJF`}6a%&>6+R?hsfbxa-V9|Kh)&^k0QbV5osbGm^)x**1caFz3Li}~mdrs{>eTko zBPy+8UBZ;pD$oq-{51Ak6=8I?3yX`z$>y*Cz_8E&92&wi#l8zGgfx7p&KzoW+kR)L zfU%--ap`&pUAcY->sA#*Lb2;}2Imw?rk@jtxU-#Yes@ThvigMr|55Yb1FqxTm0P@C z2a4^_y{8-iv9|Bjm@2AW`%|6E+4{ke#Nj^QMeu#yH|f!%^FjTIGeYKclbIw0%K=Te z7K4tz^pzKXbP(EGIxE06AfJ5KM+Yi$etad5>H$d{l&Eu%I@$=PAJj9qklawY46GuK zFbH2p0@kZX=le%21o3~^Z;l_%zfz8Hi}*(=`mr#H9kdw5$M~1bECN4i{7xCgr%k zW_$W{ecrki!-%57#m19m*oWE)VkIac0p+RizBNWsi8g@0(DRZV1H<`O{qG)uH`2rSa9GxKUR!|#mA@wWW z4Ppjz#!Afs_i`I*ViTGHfT0|yuL*_8UXB}wZX`I=10M)o*({7QsEiI%(K;hyQq*O} zA$1a}OUcYY(@Q3gP(gR5!3Gq;fyZ$RsZZgg5uIe+b$kmce3-qr1^TGA(6ylI*<$ca z;VdA)g&#F;DZ+$V{?uLVR}ltmVC4`;#!GzkF?;f^LoIU>FUa(*nEnKJ3#B9fA-qIK zD?gHD8y|j_SZG!*^5z}V-@7GUj&gSTyxo37;Wv}?NOOKL<;=244LiFmN6B(l%6$uu zC_~UK)1*v;PzD7+Q81A66qD*A;-4ZOwMrH?Se@g~_LeIVnZ4tW`s->A$;_G}>&Bla z#~(ftV+JpeP2O-0exeMLr$-f!^Dgmty5KP=V_0uFqCunX9$9uIqoH2v3KAGsXGVDq zBFNz$1PKs>N5BY?V;cNf64=r|66x5vGG?A0RqT#NecJB5;UI8nY6S2PxTv@_@r*k0 z3`0-q9vgh+R`B>q1py=5;Ab0;tn)9Z=txJ9;jB4>{I&7!Of2RJ-8S(Nnul`v+JDb}7=citFU)0lmXEd@d&o~QA%^lw+ zH~r|VsAQB~JCzICy_V`3fy;JPFUr~D23m|{+?7LRdy2cb{tx~|5-VK!8lk#+GG%aDQ8DX;q!)>5i{PaU- zfrC_nPk)*ta+VLsh6`D@B99+M9zP5;GvIRwB3fZ<RzF zBIThdy=>la>9P=(aMFHo6YEBgL^~3=t9F2;A;6`DY*zh;iO))pO0*^*HUfm0zRcbP zmAV}BH6Zo6^Pb}YnY$qdm_foM13BL;lCGRVNvvPyofNkzAXH~`%GHUhs+KZv4eC&8 z&gxKVy+3vJsVAN6(BGPnm7ANOj&RYO|hz zv1_GzNiWoQT0xOvU8qup^h8CK2q0j7uwEuLE^eJhxcyL(T?A@i6d-^OFqe^R#y(?N zR9vCHHbk`!7Bcdp>zEbDu_#tjh|dXmWA7Xg9au(q7l+r8UUT(VSbj_zTXm*jFi$?~ z+VGs@?gl3cLG5#SWUN|UA5jS|=RRoSX(NE1z6&pe@WitS?(Xm%oC$wF$3dwASPDoB znnTeYi!0cW^i|U!3WD4YMH4NT_7@>v)&S`{L)hkg%enLwb19d;CZKFV>Kc{K2MFD& z<+dUgwLtlxZV&@8WJ8l_(&0ujr0)_7Mng$aq$;iWDaQy*hZa>@Su~}Q0{x=`lz~_* zm6EmmSi?~aVMs5Dja2F`6z6i_P+QME4bvJPIs{JvnsZse zWx!RanNgXOy-9C7(~m0&^>!M0BZA0hCa*u~zFrh67b#9lPzwxfUa|p_2 zLyrl~7o`?K9Hf$@d!#z^*D^*Zum2>62BS4MQm3ef22$f)tI-_7c}!!nIG9}h&AR>r zWp z=9qF8e}%Oj88+(^e!IwTz!Mnn@;{rx-B~Jzp-ViE#F+048Iue8q747rzSfJ@mmo?# zlX1OLE%abJllJeI*%PzwzouNzU2?g`j%>(z~xhS{n5aL z|9+z1rF+YCE^2o;?F&|yjB{T9HrpmJcc)){jHURwS@l1LUW0A}n^Tf35H-uD`HjSRhnlDmiRfwa5_F@7WIDO^(ewhUdKOf_VG;vZ@`$Q8g9^FT( zG&m}xGNO(42GnKQPgZ}Yc5$4wZ;l(lbG|J-x1Ia9C#j$}u7H!KGZnlsE_UuJSV|Ra z>BQ}Sd!2ajZ`z4*1t;pnDhP{NjaVHI5~$>@dRH0YHHv)&W1Ci9qT4NMC&BC#4*uL$R0*D1ycwsO<)Yn)4-=Fxyz6aEIUfC4S?_S$a z-~NWb8a$uW<*8I&SAB&ibH3KTJK_d6;JNp2)MnlPA2@FD(Da_CBH?HR7YIj3dc*b? zE?41s<|xR}R7`lrW~erY>gsL)ei6@OP~nW6GKJqWh11>%djYyASugSdoOs7EnC>dW z_+erkV;naCE>i;wPomxh1A%Y_^42=hQ1__(z%;0d|EY5%m5e0mA>MFXCRX>T^oz6& zk)O-Y&I9$AP{PajTfjTJhnNFl%{&#V5IU9l=Xf|U`f zw@-Mf@KE9{$tyd~CF~X_q*uRuwD==gw(<1;x$!s4e$0)8#kZ(nXBEh2_k(RRW)LfF z;PIc;F-}7Fdz@Yi5Ln%*tulwaw5+5dFOmr0-V<=0x*--lu3F}r^53-iQ@nSpPu;Tn zylwou{;$>#JM5S5s+f}GWdqZuqP5!NIggf#%OrsOiGkGs==u zu`f|wM^5Z^K|KaLW{SJQjhW_5WndjHRMwccDVs|f)uB>yO|1?#Th+HJpkxjM?DLEy z5fsLBW_=T%6Ja=~$PxmJmb%eI>uB@p;!JK4pEd?Xe>~AtaZfa5Sid<_BEFV1&*RA_ z4O>*RlZLHICrxbSfH5bHsKO0p%cP0u7*mr*@@gVradxpr-kY5dcBrgQ zSz@QwHnyiM=H%;k9Yo@ZT|l;hOk)#})wNA+F0xrBj_Wxu!Fq10r%7ela4><=dy@M* zPv?cP-+InVYj$$DvvWS8S4b`pW^cHNau-}^f;C)pVL=#NpC0GefP|kYQvK5u6+E;G z1S4$2>9`XX%Fk|%#qheAp|0S{*cE54g>4DrY%*IgDUZ~@O;mKyEC?vWKgd`V`;xX| zy;f7d?(F08y}IZCK%t;9z;p)@SfR6!i?QscUQ)zZ5EvDAbq4Ej<~hXtqR(L4_)<@m z-pZJKNu$E%zle>;fn3CS>d=UDc8laF+V3Q9?nQL{Ln)0s^B3bTMR}q~T%0YqGay81 z6*Pt@`0n4h5t|t1X(X4djrOXrn77wotId~B^?~}GUhJ5X?|)gBjLTF?zNrL>tis*M z&Rm8I+HGPBee!mOtNyTVZ>~-5#Kilt6$M0lD~l47ZY?-+y}|=QZR(#cu_om8FO>D& zQJy8sJ;d@M>Q8&pI~DqN?@ZWN6>yP_ zmV+o&ckOC@V7+}~oI{dYw2$H$CvCwFkh0isd;xsguK!9m3JPsDM>XgYxAjwF{7s#v zkBAZogiEZV9_qNgfLil3KGx7Z#m*cyHSN*u1NU(|_uJ>HHaFG6OGve>f*$o=+~mVGyGM1E$8yy;SCFDx)NAV0&BHcF;A-Ys*f=bFQW`s zRN<7uot5!dcayw+X>YVD*P`BMTYY<-Cg&fchd*87L|?U!bGi?gcsf6xaPHMZg*496 zyTIV7PR6}OAyhU13Y;=FN$Y#g!c_WQ&#f)WXR~K9t&92rkK$t@bSGwmd$>&dWj4mA z(^y^ApJ285Ov)DZ%XxZ67Q(eh0@gEhAZ>p_`AO#|1QR{^eXw4 zexCKpKBxLvGVNc+y4mI!t$w9fzhjQEh_FUk{Vi_9iD0Gm$9K4=dmOc(phx+Eo1mM7 z#a(Mt^{Z_4JH#*#(ml^az=(`2(l{POC|e3HPZwN1 zz91scusR&OB;$0!af{;$j_Vf7^vDAyQXbt2(<60yTF)~h#pO+LC>;?Ry7VmedjRKO zu;68tN(n+4)V~W2&ZpiJUF$&o8XWily|cqt2li(F9LPFri3MK7w9=(1a(_B>A5ocX z-FWIn^siq1p%vxPR1;=!sOH@*L)O;x*_9X`_FbLU*uwkQ>rd^#U~V$^ISS%%dzy_o z^p-cLg$gU%V16`cp1lyrn;Wp7o;SEFS#eTUfgv07wEoCBDN&DWW+k(E3}v@d%SPJs zT{evIf^ds&@`t>y0r=4I_-<#$ioh5t(|HqKrsz#-fqLx!7U~HscDUN6edc7fVQrY@ zgatIsP))Z2r{E2jO{l@B_6tJ|Xn6fhIR|*agQINf52-?{ zYcutS-%0wzRew|c0fxqKh4#=5n@R?NCGDXD@FdzpQj%DxcX}1T!}FDiNqbld>8-pM z{AnF*tM-tVsw^^th-9)`NGOolK{C-GPE_Lwgvg8rVN07D#OsJ%lV;7yHHbTQZ_yy~ zu~bvBJ&^{1`U&TD)GsrXt@vW;>2c{ zqMm7Soa*T`iQph7l*OmeB<|o~f^ZC{G>I)Z4^4u*YSAQiem^yd85F2Z+*3e?C&NRB zg@>n2czf@(Hi6YIX%im3oo3Bb+JyGM<n{wPSu+Q9oRcBH(sw#tr z(=0H6VHyk{?3B_Oj-T0v*aG^2>Lhn z&8QC#k(3;6n||;sjbB&QzjU@ObYa@?)5vj~V8K+4AD5m>B=g41-#n|DOW%{fQndHl zv%^^IbF%-&9$E6GjfU(_{hH1m&5QQsOZB=-_G|Xm8g~<-vR^p+=xl9F?1>vGU`K5~ zf2!K_YJg>7#0|xs9u^EB?p_LOTx{X50=0WN7>l!c6iCn&U(XkFgxlWY>_fQ zlJVcOc0FGUm|L5ylUdultIw8)yYNxb_Egc%@hKQ8a_h}F_0OLw8qR}^U$r}SWSAfc ze>}($p(*jVA_{oJ1E{|1oa#ntF%eK1>)WEfc?Wxj-_XgJ6>`BOsK4u6$awe`M%eBI zS(t`N`jore_3vWQO^EiFn@;NY;Xn{+^)a9N^|$*jb$}vm{^vEp;arN~|LHOASV2wzY6oPKGs$YcoIsvrzp4CC?&T2sW>nkUR_EoG14%EN**MRopdWR6#LfPJxNA^C%7fsSV1ljhzr!f zht~hFM~cqe3`-&on?5c3s(W&w7cxY}zp)>1^2Oy?q!i)>syRNex{St7Z5AzY#*fN_ zp^=A@6Mx-u?4#q(DkR_2Ul(1%U`d<S>z>JRjo0Fej4OJ(hsr=K{ zxD!su&vp(9@KeJH_*r5%C?_qo z;eB3>zf~|X6a#KF4+Y#1XB_a?n=o#&@72Ge-y=Is?uwWbSHxIr_{?xI9Je~^Z2yTfIF zaj=v7>7^M#t<~n#g8E&k-n?yKl9Ut>j$SeHs7UK1L;%h33QI&9=jZ7Y^uad=EPNPx zqlLf(w`85jg+Jm&>XsS$mV%4XOYmBEz}pj0$Wcu$VLSLgc+}IO`f%agx|Ym5{EJX53*sW~Cj0w#8){iRi$iLQ!n5{fW&}Zs;0f5K><9ckE(5B&ofv zbAe!r*LSGY#yqTl>kNRYI93R;Ne_g1;HNFCpYCNzvz&NGgm6Pjvd*V_X|j?z3CCex z>2#*Oj)JE0e4F0IHu6;=%lkM>ha?xT!R-Mt!`3{UT46V zf+M!v2sc~j(v|JqC#{nPC)GY=o6xS|Ah&|N?aKDvlU7gLr>y>AH!s~uY;tt96;OZx z5fMc-lz;j$Q2|e(H)Ux-nOAQyv~U6OHyq)B%^KODbOdz;rrz@D#tO}_!a3Uc!MI5g z?((BCxY0=7KEViVdHXLMLKyjY^!8>sBj&(x8w^y_<^H#mY-vFDW;h{A-MQ38(}VWU zJnzl#-ITQEyQ$@R&nFq+EWKK3x_)xf2HIbL^1|uX)L;Na48*)W%D`pBi_Z z(bMaOZgHC9Hyec}CaC8MV7yLw2j56N(0q4k079@lFiKVj%VDowf%|hB^fH4)N)rJ~ zF@(S-Aa!7Ep^5oTnz$T-3`p(`nh-Ex*#r#3T{T9{CWwaN?2Tcp#xzlE(nLTTGy#iC zH@!mIONo<16+}!*Y}(m8S>gb9gCp%CJ}BTDv&}E4HIfnx#cN0e*o{ol7_#za_fL~(t zD^Xw^wI!Y$=P7B&MK~_zNnugHRlaPBR6YM&c@4MSGIrk|Tu&q%H-xI9goF!SBxFkeA!+^HC2C=DLNPa( zh&hQKyebnQ_U%iC{kX518UFm(A! znk#w7>Xc=Qxc(HYgN3BmiHO^jGVlSm3pxp8lVvm+Fole}k0T+-Zf-~@;=*&WqWO9y@Tcup8CQ(2! zp@6?_VFwr?>N)`j;L42zOCpV;g(Q~Y3kdPCz~gsH;4!x)%v_R4jC?CuKqZ?>P%J&A zo21swC4wJQLs6^0R ziMu)(F}uXHBWGL<**@+dZ1d0N&v{Ux+|$=L0p>h64^ zFwULZE&JF|5Tfb51om{(UP6BSUPAtG_Y!jV5)wEbe`gAbUgC;0+>^@+QeO)!SlvRz zQ#zWBnE9cR$?;-`t4xbxG&0R+^nQB70er-c16-!t4tq;6*(ot-tP8;-&rf|j;3^}- z#S*KJ&AS&4;6@sjpE5fh-{Ib@D*hT4fT`G4|@V~M{{16|- za0moZ!z*C}mCNpVB$ldJYY!p~)4BoMi9O3%JtA~;Sui?~$p9iAI#}Q|b3D#P85t4O z9s4m@$yn>ZcrDmr+Pksow0EPi(fF9SoH{o!C7>Tdg4P;+V4EhzP3<;5es6PA$pL~z zxtoLrJi!xF^f)}ZeolDesl!v`3Ul~L@Wd#KCw?Y)Vq0m9lL;Q!Dgh640yGezOf+uo z{$RHI)@b(=v2-1Kr5$6WAHu$T{ zwDg-h)S#u95l*57zBM1&A<+OOSpErPreX_RwH#p-ouVH{Qm24BZkI+;>Uq`K)qA$$ zIvS-kI&&e>bg=XS_1K!mtwK}ym0LXssc&HqR4{x2!l&%w5$^Q#T?ZHn=C~Ooc^CbH z#}ZEP$RbGvcruXGO=_U0z(6Hnss13_*5j}T;PGeA&Z;+U0XiXZnp<>xd3oLK<(-gQ zJj}hk;1)~|Iw+Qz^={c=ssPL_yLOW)KL)n?KOJrOAV=QYdySjph7Ipo94{@}#h_>R zRq1=O0KiX)2~9`^jJ(4fjNq5ffB%jX1gJz|%@vdI04V^faCff2b0}<09hog=?OnfH z*1x+Ws~$aBH@Q7aNzosD5d9E!nb6N~@ZrM~c>qxs`+@>qvoMMf)d(XXk4l)x%tvbb zjGM4Am_ZC3t#yM5=afd)>5!7laIk5J)1W4L#P;_KM#^Cnwb6`3A4ndp;VbrN}Hmz=!_~IN)2fUN?G4bp_Hn$Hc_HODIF7~*ziTE z9U<1T+7=?TQ$N;Tq-J+ML{82?5S%<_aAk~czTFSVi z7b)L)8CydRjAIe@YP;R-TWXqvrY9zRYfpw_5uHIp1PT5>VAsR}q1IqY0_K{V?Sb)D z$&0X_|6mxIlWB-*YIhc>fC^Knn(mli_1~Q$-yR}z1m9!f80%DFt{&f&Fpw^l#konQ zSpBnr6V-ckGK$$Vw^+cg^UN&O51pbtL+A(>hAXogjL#~yZt=6F3sa!k#?qt^J~LT; zM}#?fc}@k;2W8z#5O{Vp_{&ZUL4^YwGau@|tWW$wEN^gs=E=V9tUt8M#h2qs6Q;Y? z*rEA3Tvh%tiB21A6^ZX`0g09+imgxvoy;WF*W)dec@`F0xyoy)CXBp6m4s!~Z#bJ? zmr#+=#x9`t5eKJ(sD2Qk(q5a6YGK#t)ql)XrsQALLkx8-XrInLS}>%?Q$6(xj6NnK z8&<>A_5dc?-2;wKI$ja=H~Vc{ZC^x2FYEt!How7p4>HOLjL?#&3oy9h=Bd}9aC@%?v+2^vYK{^f~-myTS_ruzM7SG#>eyv0>n zvAxMV@qBvq&1a`_O+eLeLM) z1XmD2h@4!(NZ2p4<2g1eiAgP>@#r|HUZ$W2gJE8}N#MMZ`Am5YQNh?_D*0-} zo~G;_W!s>2=vRdMrzwaFM;-IC@rF)DjXZZX%2tNF@`K_wm-Ym~N-#5&7X$Edas|P1 zCcj$PigjP$5oq9c%!`q{W_e@7!~Y4J2}v+T`>9S#$PR!XN4eqdL#pnIXzt#Oa-(;$ z+v_8MKBB3IqV?@wXtzsDf=ooq^5jVjl2ch&H!3V<^hZ~3@F1km8=R>R_ zYrtrF1s8N3yhssv3{CK?A~V_fY?n|fyR4D1%f?(^=RNjj9iEc8&3iDo^v>$ks*Phg zM)=sv2MXzFGa_A=0oG56IwEpk-XN+v#R**}I98HBu7M($@J!&FH76>lYOneBVtZD7 z-x*b6!wRkH*^~L1*hHv3X!sXrT;kqvyEvE3w?A-khGT%$6TOo^tbhONEEol~QZHcQ z`baXK)n!0kUx-p~Hxp;6KAs}=GXO#SA(_H+tLSdxPzI!;qlkV2!uS_Ngp}&sxB6Dk z$g`wK3ZhOJDv;tUZ1SD^7PN?Zb_IEL8kvxjR=%;z2xK2&zDbg%`f@5O^_Zg zBdn3vN6ebB`&K2Fg>^D7gIsuI{3$aTd1_V(;YU6m}->x1YW!C4RmllJlNdVM!Pq=F$W2t{pvhUX7{nbar?J)=rgg6n|t5dxDo3bby)=2s~msglwfV%9b;;3%sA_>7A) zV|DQ2>@kSU)FKRp&RdSe#aa+i^zY2oDg<)$g36LMnG? z>!0(oJBd%zvn&|o$(Tvxsn{pX#IT>wL8q`>Y6KlS!3g%!{@Z9qRi=A)cS4B>i{|x2j%sn9xMFaIo;O3^L)U%bYXDe|v5iBH()cC8w-NAV!OLWr% z?m31MCbXY>?@?hW8-C~MD0FpuKOJp{%g&5<8tr8dY;76Dc?WT@We^83h~^8-6VX3- z8w4{M#CZlWhLIq+upXto6{UgX>G**>S#{7%H;^aGfnyt&H;RK9Lt$24#JD7%`--X{_~C2S<*pnGyaMELtd zKr0B(Ia$>E2`Pu`?$Mg~7sEQH90@ik2Z|5M zSsjl|-HlA$tXi_$#^0oz7^Eqj#Pn+hX~ch6g#vQiI@p^tHU^t%A_>y*PYhUob`)VI zUHKUFpo!oNV9hD!l#5A+rW9Nx(3$2tj6|;>s9EOn(A0d-Ecg0mf0}#UaWd|8Y?FI^ zPppd-!W8RD5*=0%R+;aSby3w6>q=F@x~!^WU8l(LJ+m$haFQ<+>hFa99v z`+}~JJ!7r~bD!l#sag<1wb3$F#Dv&HjST2G?lVP`39}sOT8Kq8Yr5k|3L9pSRBA^J zB4o}Niph#Xk-MP62xl#b(K5{FjoP66oaG+}OBY~#i)eTkf&dd9m=37Ibu3)Bu;u$N zWAev(w;9u=M35flH<<$hsgdtSSEP0?1ye-3p7! zHG_#xa~cRnC-q|)pdo)@gxVw#|NbMdYK6A&bd!S^&a4+5E?#Y)?UAvb-#Mj1ugPGUSh& z%EvFT#U`o5T^#3CNJ03yXw|&78Fb>jSTs0fIM?jBRA&Y(0d$W) zTl%9Y7LMT=NZHd_xpx;4V)*c?kU@KtiD&OqloWNlm}bo8HqHn{;Z<%Dt-)!1DYeW! z-2g6J7|RxF4Zb^PZSDjv8hbNZOa0mA&)RTRg#o&+DTL;-O^60bnWu!H#dRQ-BotDe zT3v0Tbk{~#3H5hXt7}*%z_{$`s#_i7X-z0%g~2gSvFchxK6#`);(ok=)L=$cL|?Y7^!Xicq4?Kym#v!NQ5kabUPzq*nKwjMaSg`#F;*+#|6X zS#@GHK212;DOe2^Ox7iv+~#Y4r(v9CICpRABim;gj+|!4ET`E%#c8%DPV+l*nyWfa z^SN`R--p9#wx5vG?0DFmCd6&WJtS30IEmXCP7@@HXg+b?F{e3wE2r7gpO`FTPJ?4W zZ@5-Eo%+q%gww340;FIHLE+9YIL(MT$i*R`a#aSimKe;c3}&?<||}sPELWilQ9!m*HC71 zS}>C}oN?*>Y7=s#V-7PQ)y*O;%M=qc;kIlpwoc3>ZYn_3%rKLwWSI&4U=u%+(c`#% zj5N%|zKSlGNk#-6xQHy5l|cpBlDtC{RF_Ru7B`exiYX;A_h??!{>>i_AAVzQm^WGb zonv8eo3DR;_YkF}{yN?zL8geue=w=2PepxAZWvD8;Rt^XYJiC-8nG$ex<>Jy#V32~ zKQh^<&M8h~v3F+ih;l)3eD&JAz2O_5$NJ^}c41@0^$3k7flyRCgz4ALh9kRyiQ*Rf zm_Jc?EGK2 z;4oz7aBiJvgLfyf0R|^*Snd3y8hWWJ(&C`-+}632rgex2yp6ICB({NtB68|#S**Z0 z1^BWX^XQGmH+R4P{Wo3T;gT@>`KOORdgsmhncetCUUvj%P?e>&LXEmsI}@_6IcD|j?EZnZI}>L(3zMhNk5&OsjEl9u{U3S^hkIw#vhIJS? zHi0((M!GUIo$%D~rSupzWg>Y46nUNBOa}*O2DA1QG9@ zAM>3s&BgZ5jR=YTkZ<~-Q@{EA`nAbw=Zs)!3}r-|_sSndLll$xvqpbbBjxy-sDOpT zy3DSa+PqY|d%4T!JE)80?T^Bdz~BvgAWB~w;wcj5pVeY(L#^lAf|c_Z9|p_ z{6+|CHRm^5S5-pWq(L$Tx?R8ln_?$7=^+MZ0RxIF!;^9M1%4`?Nge~WNp%RI^>`z0 zA`7X5UObYhb1pyld5E7x30L5T2;-ys*RD!14$z9duAW7{LYK0ag*R zMjW3vWOD3u!d;))9;Q%T)v+%8IS?}2F>}Ktt68xZhQQlL5^;0AI?g&%L(CCkV8y`4 zt-f>Ui*UjQ!$xbN36c-|(3TPaKw1L^UBZaDJn;>z%ds5AU;{kzy#59_EWF+UFrj`B zE7%H4iHHuzb^4_LYh=`Cy`$UW8B7XG|14))Cn9~K?h9nOPF>h;=<2E;&8E;^E zVXHT2L@-3p$M7}uO+J=12p>l||E%ht{98@2DOTJN2__V`(j8cFSZk(L5RZK?%1d3w zA|S%f-KmGMC_|wZHE)doyc_+OSoKl9)8S2z`Qx$A# zx0b&-hiF`iglfihIJ4#$6?$gPb+4IE@=pCuFjE;;b8|OUu`IS*OO_z|9oA6e4pXLy z5K=P$i$B+j&2S@*eq`YX1LIJn@B^nE_dDx{jkerw*)v*vLX38h(W)+WJSluzhzf;{ zGlLXLD3sUUk=L%(-s1EfdHU;Z3s+1hEuNw_X%PZiooRigo{ae2^a@x}AZu~=hwM}b zoI86-F?Ak0qsverEjR<(kmNO5qF7sGADEJ8ADBua-IPwU5hy5I35cqG>PUuS+PJph zx^B1MY0aHKx?Mc-JAX#Q)hF4Li?I)iX@-TpR#?;oxH1eJA4G=)E+XO zps@zpuv0o(`)=thUKjlupOeX+@HI*8md?4Jvp7F@+d9R-4g9LQ3*hCDg)435a4R5K zXCJ-USL-`uzPx;+Om;IE%hZf;T{o&SQyB3B__kq&%adzqH{X8GpSQ>J#r!>sNo+8w za!ON%!pqaFy_hNX`@SQ%6K8(&sNtqz-H9z@DCd%oy2^!z^vJP%d{<{|(r$_&ODgB0 z{H$G_MU$p*k|kY{0#cO7)I2V}NB4qD3E?rUjCHHG-_uE79RITYpp%{Yi(_3Pvv^&` zkD(XG7xRO>l{_eS0S_`c`$>nZ11F+2w`|^TJ(2FY2$WV9!!O^^_G-PElun}#jWZ%} z1j%hUf`ICWvq5ux2Zr);goMoi`^N?6L?}|inFahVoZ)_;_`r(fIzYzbTJwp4@O=;_ z1g%)jHM8nGo+3?`?(VJa>Wn}5zIFL;b6aW&(&peJz(uIeNeu7x*Hj@=G}h<@eO(9hVtShR)6>ZVqQpd@C9g6HImK+|ri zMZKj^B_VH0jRoYa2hgS^JUa6=KP0s2L<3f0DRxBeS9Bi1xROM0IoTrLDBsqb( z%Ol#H4{>&R-rBEQ1NK77Uc`{Zba{f_qW>GcLjBGq_3!(%>&{x z=oI-`;vd{EApQ}Hcrh#W$URfeDwxAB^B5H0u4-r{ZTzks zRY+Z;GN(~hNIhC1^~jkZ^^l|SY@`-Kiw~oK&wRBLLur2!B=Iwuwe#e-`{Nq{|pqT z9$FQ)bqy4I{=(B#RqPCD>MOQ~G!+)pA&sTON|`pi)MX|0no`(qGVk1!LJS4hq};qR ztb9DSAkfbRejFtMjoav676)`M*AOb`C9zKR<1sE6UlNbOVtJh1b^y4R&_d32STlne zbP#ti`s|1BW~3B~8d4k$Xq;@c(lQ@RGQEfb0|j?7mH8?*X}{FGYkpn5WI+BtS31zu zTvH(L8i{-93?iOK%${p9n%O_`48xt#{ZV%wsMHx8{H_CegD%Sj{_x z1=seu{mQgyVHL0uRSx2y_aaV#JKvQ09|BI=FXf~_2bKF=qa1->1%tXArpc9N3Qq8f zf>2613)Cfzo4TZHQ)H3{bFvz^^{B?sEO3-FVa};RGWTf6&oVX78Tm^ES*QyT>_=pP$yb(}!~-b`Dk)_WC}>VZ zAKhZ89@l#A(_P<0qK?cnktIPs=ZWm0Q>IS}?ee4~*Taz+Y|w}%5O?-0vek4}<|>HF z%t}jUs(Yxn_2T#6`QQHsE1|TL~j!=SI1$cRa~9upjBMs?c;62U7<@> z4#5t_A9XlvGft+U$YC)ZGc35U4z$&_Dl~HXV9T;p!0|dnvuekad6f9dV)F4w>jo-3 zl~_2k{si$#@6j6 z#8ARff{;4egqibCiz>h{XHnS_@;kCsjx`t-la}a}t%gWz`HdCw9fvKlEmbwjudLVbejru)f_dzYAG!0+-6V>GNml7YYp@oPp!T*z0OmUm!_{LHMl(Gi#K>4ZCp)? zg|1`zlEv4fdb0XT{kpN36s2)^XuG1xP(prwRcRfh&%j>(XL95WMJp5`W!s0y z5zMwTIzTm%?2H9Qea&({2(~r>Zp+g>aT_&Emv=C2+yWAr^BTq_XhyOErl(ozyo(|6 z^+E0{csG+NxIISpK2=5f5b3+Y%xn*sC7sx zHzMetv6D|ZfMeeRo6Bjnr#Ug~;;#VhD9@Uee9Qz)>sr><{#w$w&G3~&-LzEFgRkYR z3%`8U@ja+-NMM;6hROp58MbcX{s}0I3PUMIA`}+x>KleCkb!(cA|S|+4I}pI=?EH- zYHvWQdkv{{KzWH!OrRqa-@k;;LSBs;%B4H z;GAf~)KzG+y9aG{{L9d0=^SV?`08JL?>gOGL!=Vl`(GK*M^el}l;JtBte5)CStWAl{a>Ut}z< z{fm0!ZMtx#rVn%{sA-K9&3gWeGS=$(i=?F1^IwobUeA9? zMhg3ixF8#+J9yd|pgWCX?-&C$)~45_U~PLe3d*o`c{j;oCuKlr+p)^#94oV(7b}t- zW9`++lu(?F;6dROb)?1Q^*R>3R!nlTiWK|i7TY_TQo2@b*BL(QyIhH_;uL{C(U!L4 zb}a=)u$vSMndgxNlbGk;q{IH3iR5_P8PfB<7;58r6Yicm(*#_wtjQQqFc1GmUcRKG z=U8|Shi5Z9hr)9~c#enXqL&jhNtFk2DCvwqqPV!^Q%*#bEe7b_8z57)4~Ei{Dx7Md zs5@TRTrUN=u6EEHaNXk=$PTDC#pu?~fFm*O3By$(62O-=Vb8QH zXOnVmzqm0iF+*1Q*zt{r0Rb5LU@Q7?;p|?WMx07@GRK>^d3TkQ-e?$7dTb&z8G{>^ z;Nc_h!rvr#YYPWg(1IvWO0sS{0M+37jp8J+K(%c9*#hvWl3!#QuQ)QK7CmD3zd=T#DgHHbSAH|CBZcQo!CYM(7v@OXQf z9>eX6sE0)M5&d2Kk-h69``^)*{@w>Clc%*=`l65I%Vy-Cs?8!eP+tVMsZIBb$Hq3b zb*jT*o;lA$JljDo!d@E1wndxT7w|mAi%u#e8PhCcMQaiU^Q`%FEm@IFpnVWTVfuXT`KG_C(~V;L80tP4Ax=RZ z14JNuWgSdnj>bHwv)&ks0wAcmTj6WAs~uT2q1-P_Lf3=+qt~ec|rCUi{LwP_FF8N z=hEmel)Pv%c}&lV$>gw}%O;aU;xGaSc3F?f#F~?Gkz+DwB$aS=J@>kWW#TnV zx@bWX@=$tb_Kg8YbB>7<=3CV#=#ZS{$6$x#97{K4-(Yu#Y%37uIEOBp-ROl6B0^O7 zz?hLA+AROGBXStJ7;n?ikPb`MV6)(;S(_XjlR#BQK@2G&BJu{%9=q+65F+XUL%Dcox%e3sD<3YTSYm`?$k1#&a$MWkP18>b&)qxw61dMY!nB^Hf7sU zvr`F#-VY5stQNSqehk%e`nH&SU^#{S*D0YvdrO+`BC!(joZrPpLqsCl! za~lZ=iVEC=;|zIivVELsfai>F%03k6Z##uG16~^KWPbW{f>rHj_<^SFz*s15ktzlS zM!_@PWPRB)#!-G+0m(jwyw{|&a`E(exQtL;ZZ1_h8HynG&B~m%NM7OMbP#Af$=_Dx zZwvW)+HBiYP9`Tb^NrcHh~Zb3CP}>*k?e!7C4Nd z@KO3s3#eja*n#m3Q2cfkiX!LoK$VMk_uLAO7R;h z8Z1Miy;1Hg?kEtS;jU2QlH&^-h;D}6T%HcB`-ScI5Sj}yjV4iyaL)2kY=q8>?)mfl zMHaLK_hF^0spYXzJlKq`k zcjQ#rx%iIG3m!BMc+(r-=P%FS-&x5^YpZj~9i10e?+JUcrP-DFS@$a%EjqX>zhqZu zC4y!mU-{}K2$>fmW|rkIB#pR1^6=klmb91WtMbw6lZ$r&nv3}N0*YNkzgS(iNzy>+ zzB%dWx8S5x#ED%~*JXp5o(i*+9tyV{$j=E(O=5{aSrb$D>4|N2x1Qki9zB=sm?Val z#Bvh%DnZBxp2oGwUj4vavLAQp#}GeK-t5*7j#{xFJJWn&_AUbFTquDkcc*P)OR%R> z$IrXcww#{i>;h_mVym(!1HpaG11|DZ1-C5dTJ zj~~&;h#5ABG>S*`fm|MAtD;|`*VaGtd;m=OPd;icG+hYbo)5au-H$TAr7)TnrV+8; ziV25LoE-))*CA>qbgq;$EiI0`*Bl~gu}uleiY-&QhIz7P9>HRD+}zCrH~kAYNau@{8Fn9_PacpoAc?Yocdagu+K@bI+V8^@QJE^LOQj1_7(8ksHutDCRz=4NL`Nal z=DG$Bgj8yUX}yL8J{-!sAKtuajuvMuR%(()W>FJ-Dz&}5szFNz`1-V*4>_Q=vkMco zohA{MOpP{+VgNJkw1{&ec1h~`0a-yB>FtrBwaH=ebtK18J&`02hu;TkF8A}QyMvOP*3E@%kfbFAnKz(<0dmCbjiCc z{@#%HAbER83xV5BWXj=av(6g^nVrGvC{}j__2yWhA#6(Fh3$)wzj6;}QgDATzc9wyw z*F@TVL8R?Nq;&<&yrN8ZjyPv#A&oYAKiBWR>R)sZf`QBj<2EWO`c&Lr(v@pEL26#P zmYQ5sSovw>+7ezP&Nv0ZpfFQP)gWI9Dmy)ygDeQPsx40!cYi10 z_4#=XUqbr@`Zd;Gs$b`~Ux-N7y_=hI9TtLM9X9Fod}Qhl2GuW8^QB1B9r+92F}Eb; z^bX|Oy5)4Gi2)bom*gw+h4=637pfP#_}tZ5Wny!ciOu;Wt*%{e8=?epD)GrY8AK#b zu?}X7Qwd=>!eSSvO^MS97#v35QXX)R#XOKi!#pHPbDol<=kpvuKJl1K#%MeXC3!Yaw zSV=*J2hDUjFebSQwvUNzOkl5}9l&j&JnCG1ag{v;)0wbI`biuw3;qDR%$=Q zE8)lvst(WTnQb<&>}ZOl(e$*bEc6;{b0=-yR5i)slQkI>n&)J?NxD=b35Mmi*$iQm zJ+W9iuj#$ALQ8wdra4rQvjfxJ2e^PjHB4;~OEO9%?EN>m<_|btW>CfuK_y7+be?2LBjx?bRZ|nNNKy za#JW-rM=3=cSn6FO<=hZXIYwP_ikxkp&46eG~4D3=V+OCX;N(0g#iu`1`Nl4P9Rt%57s?j_SR!i_fWi93{LILmCc!NOxUHnsfSva&Y{*0pY)D8v4;w;CJ~uX` z2tC90)3c#9bF(3_9ZCI?v4}05jt!Y>qAINr*{ZZmZS9Q|p2Jq`T=hOSWOgFbR&0D8 zZe&iv(#EY7pa1N8KMyxT^cXh^4o8-EjT-^Ql8xv93ujAO;xe|>UEV6$5;d+DQ?U`ff{o1g3N|v=tH4HZ{fZ%EE~Jf(pvBDF zjlf32cD*3lXF#TxPd__A%y&^+;>=nuh0)R$KNJ{{F(^pZ7!WL%qvxSX(h@j@}Ev{*T7ii(xSpu!ZPXx;4$D($iN55S7h``jr{-Eb#t zde%%yu0RQ#MEfMUDmuiuO>BtA1H(Fy+5hU#gt)`1=x@esJwPg8XD}r3A#358iER%8 z_&R4{YdwZMpACW+JrW=pt$OZsbbYIl^zVZq3fcPsDHHrOevZdvtBE zm*3dD{8p;cwvR39b23P`MlJ+L!?8so8^1D6E3?bAB0Ju`h&tw7pmmA(5!Pt;uEz@G zf4*?r<1E3t&-N`6f2rK#+n6I^&C`spbdNu!G4cmn=kdV2!4A9(q`D<7zr-L@+j-Ykx1O zW?zk?s^B%D;IEbiuMP#V+slFw*BlN-pO(x)tVJ%v(iv{WdqpI;6%Xi%Tko#$djmi5 zDn6i}(9(T+0s(my_bH86agUyO6?cbs@+#gP(()?qwKRTnJcJ;LEkrRwk?y@@O?q-K zN%ncD?FrA>O-{~ebQUp%tn+PB%jE z>b_9LLn~BdYQbleqZnn~*+SJYKcsrHM)krS=J#85M`uN~29>isbuszAJhifS`Knx= z8p?@E`o$in+QnM0%2)2{T%0fG-^KXPmgg_bN61{YtMkHK%U4>mn#fm36yz&NYx%0X zMny1zpT(MMsJ2FxntI(`qng8R?_Z;;<;&$%tI4;vlm`^Y6>~c472Q0)$ee05bFQ7w zZ}eDOcEUt6N1E276zw5L+5*xt=wxmy4O>RF^K|5^RP}0=3O+Lke`*B3*+GdKcbv)F zq-A!;Qygb3qnqOlF$Y?k84eV(k?CLv?9O z3#*)HL*_)|;$8XNI2FC}x#5;@Ct7jWIPykLEf#Siy1+whnlT1D#@uK+6KN02Smeu( zC>&B&xm>1YG4^db+g9XVnmyu9G#pE&_4lfR#ZKBJ`pq0^Y7>1}BBZy?L3g8R39YA1 zxzT!8)A-oiv<8C43O!X9<(?>GIt|=LgtR4 zGV^FR^GKC>0y`j-JT_XEJOz%2%##bs%x#<-8Zw_==$YnfVga^6u&(5Az4do7w>*Zh zRnCl&8r;@`o=2_5A!;>I)M^ce8CMajc5ix8Myvu++pR2lP95k<{ADePzwmMX9*^~x zl_37!lt&(^svqo&-xU7W=53*P(Eh|M*FL@x%l46>pXIKf*6-(SBjaVIEh&poPnG3f7j7A;t z!Kp!!zAJWq5u#^vMzIp2h1C~R_?3GLJozRNT?JNo0qWvto-c^}r%+YRKAFM4DVjeiJFfKs$ zmh7e|k8@5Fz$%l?W>T^Y{be@>>7 zsSS~-4DHBdN#Y0Oq;@b)&ep5m%0B)Bfs?O4uccwY)%)^oQepJ+ul16+CiZ814Vd&c zvMugEOV;`huo$3LW5YbgvP7u~z_r0M|79EglI+u*ykK8xVO6g~;p#Q*_J0Re>NEC} zz;HC_t^M_+?t3DpQQ@_nEXh83fh|<#Rm3sMwhm{?KJ`3l0L^lu6+Mz}Qrvs9xFhF) zqwBVi1D|RZC!WDm`plRAnagLF@b;5nTvI{Fhq#n%z>BOQ-deG2L&X}t;G6h2vqQ8D zZ$q(?el?^s|x6l5S-hI^zq#BSJH_UHwK zkYTpj0g>tvDGrFdMo$~cM6$kZ>nnC3UvZc3=!h*`wb=RBtMnf{u#>=B1kt#7+9O&a zE2A>Io|5)}_eRm0Gyp1OzoTS4&tDa$xq@J?$MxDao$F){QrBs>c+AeAWF`2FHaG#^ z(GtyRVho8z#$auYof%HMJmH0&E373r6GFB*rOow(+0iGWBiNI%z^JJ>r}*d>)9hod z*6$A_gB$<_0iI044vpey!p^tsZ7bBgLY;YV36haDUYn!9c13bL(Wx^ej@i!>$*UDL zOi9#L8hZ@pt3yqa>>-8lY0+sQ`@2C#Zxa7{9`Fs}2O9h9HDiRFQ;7H3+lCo=-PYAt z5PE>}Qu1X87JBykojB3cPMS;8DT@0FpH}xe@x^gte`jGHW1ii=tCQsmF(m=c#c^#v z@|Ns`?D2fevKgI}Qk||-Qye-=zzcTg{E9l+u1O;$Y9Nmvj5lAzi9z;5gtRCh^B?P( zBAE->lUQM?Bo9F<5>GZ~>ULmC)_cmT_sFBR_a1+fR2<(Js(xFC>8PGvr^uxHKcI}# zB?4)v^1PcP!tgP5=!Mq9v_t?uV0@EcBSe+sywm`7dKEwI1!@liSggen9YfLKCYX^x zlGmw_k)%l1N%Cq>L4F%N1<_3z1Qh$EStBNXLG~@*;bl|O1|1j~Hj`$86(&uDsEq-n z8UPPg)dN}&K#T!mAMOejPTJ0T~ zTudtD1|}t+MN%C8qHiqKQGd-%fK~b(ycLR|Qd^0lTAjG)wd)&6;MQkqI=xZ5%cekF z#BYlavyUst&e&s(evyD*qt$5R$B6L?aeLduv)~#EB*ju(0k+S=?|9e#--d>Sm4cf8 zI~VEj5~AR&DqG@pZ6&6`QiTu^DmEKS#bi#b!@#w5+%$zcu|)lqs4m^`&4W>s)*n0K zP)LDEu0M-`K-eCnpWa89mGXqoZob$kt@ZPvRW)d< zw@53b3*bnLTeq|^M(vbDh?$;rnww-a!{PZ^gMkfc0ar5g7abQDb&^&#x`>#X0X;qK6t8l)m-Pr0u0BR6m6C=c;7u1++ zY%Xr!amxYaH~S=fA$wHY>vSM<>m3Wyg}0@?F?(lH3Pee!IK$qSd^2++&A!0&7+A>C zgz4BMc)#*f+tDBL*#UsRKF$8Z_7g_(lZt>W)X+C*SriU^!Kgri&)%NMPyvUfrnMDj zU`uBv6Krc3pYsY6LA$$H4V30l<748n`aT{mKOWAzAM4X`{Es}cj!beRiMn zr$i3_XnSVhzvTwXWki1NBr2^WIT1p_Xzn@kPTO_42C^1#;FNRv3^C~H4!S>VeNanw zKE`-Heuq*6yY+W?cZUplu7*XLTH#yBf5N;G{?lsfkaUsqAKd>7i$`mORHsaUnnPG| zBa$f;$YFdb+2>dlqj{zQ9YjtLK)Ox32vI!KdZL9);~Ipe7u(T(DB@}ef_evM?W(Ki zn5xPiwR3c^WNvznV#+%skP(ZjTRMvjHMCYOrAa5b!9a8d8^#-}MigUrl@5^`&j*P< z+eKYxDK)-}`mo#yG|v|~YJ#ykcTDGF6)6@U;!f_AP3=+Gx3z#nrN0FuSe?2y&i*;I zL2@yQj)W<_$j|1aMGF@Y+aMIAThKbAf;tSbEQm`=Gs@=0Zo#TXmg=g4T8*%adFL9H ztjSKb^<~IqGUOzgTuv&)0Pn<>K@V%|LM>hl8hj0RFk?X%DA?_#O&~=_2O|^fwxxrE zz66M(koAEbLN37D`G);~4@S9Kr{&8!o%ipdnH`(6pcyn+q| z+`d`DDY|rif@AEOAy@HHqcOt1C>Cju)$1mM%0AI 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≫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