From 184ef5975a5a767453381c9d01598bdf73e55a96 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Thu, 21 Nov 2024 22:24:37 +0100 Subject: [PATCH 01/30] filters structure --- .vscode/settings.json | 4 +- README.md | 8 +- example/pubspec.lock | 2 +- ios/Classes/flutter_recorder.mm | 1 + .../flutter_recorder_bindings_generated.dart | 112 ++++++++ lib/src/bindings/recorder.dart | 38 +++ lib/src/bindings/recorder_io.dart | 55 ++++ lib/src/enums.dart | 14 +- lib/src/exceptions/exceptions.dart | 10 +- lib/src/exceptions/exceptions_from_cpp.dart | 41 ++- lib/src/flutter_recorder.dart | 4 + macos/Classes/flutter_recorder.mm | 1 + src/CMakeLists.txt | 5 + src/capture.cpp | 2 +- src/capture.h | 1 - src/enums.h | 27 +- src/filters/autogain.cpp | 240 ++++++++++++++++++ src/filters/autogain.h | 123 +++++++++ src/filters/echo_cancellation.cpp | 212 ++++++++++++++++ src/filters/echo_cancellation.h | 72 ++++++ src/filters/filters.cpp | 109 ++++++++ src/filters/filters.h | 55 ++++ src/filters/generic_filter.h | 26 ++ src/flutter_recorder.cpp | 49 +++- src/flutter_recorder.h | 10 + 25 files changed, 1198 insertions(+), 23 deletions(-) create mode 100644 src/filters/autogain.cpp create mode 100644 src/filters/autogain.h create mode 100644 src/filters/echo_cancellation.cpp create mode 100644 src/filters/echo_cancellation.h create mode 100644 src/filters/filters.cpp create mode 100644 src/filters/filters.h create mode 100644 src/filters/generic_filter.h diff --git a/.vscode/settings.json b/.vscode/settings.json index 52362ce..11cbee0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -93,6 +93,8 @@ "xtr1common": "cpp", "xtree": "cpp", "xutility": "cpp", - "bitset": "cpp" + "bitset": "cpp", + "cfenv": "cpp", + "unordered_set": "cpp" } } \ No newline at end of file diff --git a/README.md b/README.md index 72f236a..6b2a2f7 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,8 @@ A low-level audio recorder plugin that uses miniaudio as the backend and support [A web example compiled in WASM.](https://marcobavagnoli.com/flutter_recorder/) -## πŸš€ Setup Permissions -After setting up permission for you Android, MacOS or iOS, in your app, you will need to ask for permission to use the microphonem maybe using [permission_handler](https://pub.dev/packages/permission_handler) plugin. +## πŸš€ Setup +After setting up permission for you Android, MacOS or iOS, in your app, you will need to ask for permission to use the microphone maybe using [permission_handler](https://pub.dev/packages/permission_handler) plugin. https://pub.dev/packages/permission_handler #### Android @@ -45,6 +45,10 @@ Add this in `web/index.html` under the `` tag. ``` +#### Linux +- [`GStreamer`](https://gstreamer.freedesktop.org/documentation/installing/index.html?gi-language=c) is installed by default on most distributions, but if not, please [install it](https://gstreamer.freedesktop.org/documentation/installing/on-linux.html?gi-language=c) through your distribution's package manager. +- Installing Flutter using `snap` could cause compilation problems with native plugins. The only solution is to uninstall it with `sudo snap remove flutter` and install it the [official way](https://flutter-ko.dev/get-started/install/linux). + ## πŸ› οΈ Usage Example ```dart import 'package:permission_handler/permission_handler.dart'; diff --git a/example/pubspec.lock b/example/pubspec.lock index d86cb4c..fe3a76c 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -84,7 +84,7 @@ packages: path: ".." relative: true source: path - version: "0.9.1" + version: "0.9.2" flutter_test: dependency: "direct dev" description: flutter diff --git a/ios/Classes/flutter_recorder.mm b/ios/Classes/flutter_recorder.mm index 755875b..951683d 100644 --- a/ios/Classes/flutter_recorder.mm +++ b/ios/Classes/flutter_recorder.mm @@ -5,3 +5,4 @@ #include "../../src/analyzer.cpp" #include "../../src/capture.cpp" #include "../../src/fft/soloud_fft.cpp" +#include "../../src/filters/autogain.cpp" diff --git a/lib/src/bindings/flutter_recorder_bindings_generated.dart b/lib/src/bindings/flutter_recorder_bindings_generated.dart index 3c6ec45..5eb5ac9 100644 --- a/lib/src/bindings/flutter_recorder_bindings_generated.dart +++ b/lib/src/bindings/flutter_recorder_bindings_generated.dart @@ -399,6 +399,104 @@ class FlutterRecorderBindings { 'setFftSmoothing'); late final _setFftSmoothing = _setFftSmoothingPtr.asFunction(); + + /// ////////////////////// + /// FILTERS + /// ////////////////////// + int isFilterActive( + FilterType filterType, + ) { + return _isFilterActive( + filterType.value, + ); + } + + late final _isFilterActivePtr = + _lookup>( + 'isFilterActive'); + late final _isFilterActive = + _isFilterActivePtr.asFunction(); + + CaptureErrors addFilter( + FilterType filterType, + ) { + return CaptureErrors.fromValue(_addFilter( + filterType.value, + )); + } + + late final _addFilterPtr = + _lookup>( + 'addFilter'); + late final _addFilter = _addFilterPtr.asFunction(); + + CaptureErrors removeFilter( + FilterType filterType, + ) { + return CaptureErrors.fromValue(_removeFilter( + filterType.value, + )); + } + + late final _removeFilterPtr = + _lookup>( + 'removeFilter'); + late final _removeFilter = _removeFilterPtr.asFunction(); + + void getFilterParamNames( + FilterType filterType, + ffi.Pointer> names, + ffi.Pointer paramsCount, + ) { + return _getFilterParamNames( + filterType.value, + names, + paramsCount, + ); + } + + late final _getFilterParamNamesPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.UnsignedInt, ffi.Pointer>, + ffi.Pointer)>>('getFilterParamNames'); + late final _getFilterParamNames = _getFilterParamNamesPtr.asFunction< + void Function( + int, ffi.Pointer>, ffi.Pointer)>(); + + void setFilterParams( + FilterType filterType, + int attributeId, + double value, + ) { + return _setFilterParams( + filterType.value, + attributeId, + value, + ); + } + + late final _setFilterParamsPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.UnsignedInt, ffi.Int, ffi.Float)>>('setFilterParams'); + late final _setFilterParams = + _setFilterParamsPtr.asFunction(); + + double getFilterParams( + FilterType filterType, + int attributeId, + ) { + return _getFilterParams( + filterType.value, + attributeId, + ); + } + + late final _getFilterParamsPtr = + _lookup>( + 'getFilterParams'); + late final _getFilterParams = + _getFilterParamsPtr.asFunction(); } typedef dartSilenceChangedCallback_t @@ -413,3 +511,17 @@ typedef dartStreamDataCallback_tFunction = ffi.Void Function( ffi.Pointer data, ffi.Int dataLength); typedef DartdartStreamDataCallback_tFunction = void Function( ffi.Pointer data, int dataLength); + +enum FilterType { + autogain(0), + echoCancellation(1); + + final int value; + const FilterType(this.value); + + static FilterType fromValue(int value) => switch (value) { + 0 => autogain, + 1 => echoCancellation, + _ => throw ArgumentError("Unknown value for FilterType: $value"), + }; +} diff --git a/lib/src/bindings/recorder.dart b/lib/src/bindings/recorder.dart index 6674afc..a0d17ae 100644 --- a/lib/src/bindings/recorder.dart +++ b/lib/src/bindings/recorder.dart @@ -4,6 +4,7 @@ import 'dart:async'; import 'dart:typed_data'; import 'package:flutter_recorder/src/audio_data_container.dart'; +import 'package:flutter_recorder/src/bindings/flutter_recorder_bindings_generated.dart'; import 'package:flutter_recorder/src/enums.dart'; import 'package:flutter_recorder/src/exceptions/exceptions.dart'; import 'package:flutter_recorder/src/flutter_recorder.dart'; @@ -196,4 +197,41 @@ abstract class RecorderImpl { /// Get the current volume in dB. Returns -100 if the capture is not inited. @mustBeOverridden double getVolumeDb(); + + // /////////////////////// + // FILTERS + // /////////////////////// + + /// Check if a filter is active. + /// Return -1 if the filter is not active or its index. + @mustBeOverridden + int isFilterActive(FilterType filterType); + + /// Add a filter. + /// + /// Throws [RecorderFilterAlreadyAddedException] if the filter has already + /// been added. + /// Throws [RecorderFilterNotFoundException] if the filter could not be found. + @mustBeOverridden + void addFilter(FilterType filterType); + + /// Remove a filter. + @mustBeOverridden + CaptureErrors removeFilter(FilterType filterType); + + /// Get filter param names. + @mustBeOverridden + List getFilterParamNames(FilterType filterType); + + /// Set filter param value. + @mustBeOverridden + void setFilterParamValue( + FilterType filterType, + int attributeId, + double value, + ); + + /// Get filter param value. + @mustBeOverridden + double getFilterParamValue(FilterType filterType, int attributeId); } diff --git a/lib/src/bindings/recorder_io.dart b/lib/src/bindings/recorder_io.dart index 503903d..9ec01ee 100644 --- a/lib/src/bindings/recorder_io.dart +++ b/lib/src/bindings/recorder_io.dart @@ -309,4 +309,59 @@ class RecorderFfi extends RecorderImpl { calloc.free(volume); return v; } + + @override + int isFilterActive(FilterType filterType) { + return _bindings.isFilterActive(filterType); + } + + @override + void addFilter(FilterType filterType) { + final error = _bindings.addFilter(filterType); + if (error != CaptureErrors.captureNoError) { + throw RecorderCppException.fromRecorderError(error); + } + } + + @override + CaptureErrors removeFilter(FilterType filterType) { + final error = _bindings.removeFilter(filterType); + if (error != CaptureErrors.captureNoError) { + throw RecorderCppException.fromRecorderError(error); + } + return error; + } + + @override + List getFilterParamNames(FilterType filterType) { + final ffi.Pointer> names = + calloc(ffi.sizeOf>>() * 30); + final ffi.Pointer paramsCount = calloc(ffi.sizeOf()); + _bindings.getFilterParamNames(filterType, names, paramsCount); + final List ret = []; + for (var i = 0; i < paramsCount.value; i++) { + final s1 = (names + i).value; + final s = s1.cast().toDartString(); + ret.add(s); + _bindings.nativeFree(s1.cast()); + } + calloc + ..free(names) + ..free(paramsCount); + return ret; + } + + @override + void setFilterParamValue( + FilterType filterType, + int attributeId, + double value, + ) { + _bindings.setFilterParams(filterType, attributeId, value); + } + + @override + double getFilterParamValue(FilterType filterType, int attributeId) { + return _bindings.getFilterParams(filterType, attributeId); + } } diff --git a/lib/src/enums.dart b/lib/src/enums.dart index 9652dc4..9814f72 100644 --- a/lib/src/enums.dart +++ b/lib/src/enums.dart @@ -37,7 +37,16 @@ enum CaptureErrors { invalidArgs(5), /// Failed to write wav file. - failedToWriteWav(6); + failedToWriteWav(6), + + /// Filter not found + filterNotFound(7), + + /// The filter has already been added. + filterAlreadyAdded(8), + + /// Error getting filter parameter. + filterParameterGetError(9); /// Internal value final int value; @@ -53,6 +62,9 @@ enum CaptureErrors { 4 => failedToInitializeRecording, 5 => invalidArgs, 6 => failedToWriteWav, + 7 => filterNotFound, + 8 => filterAlreadyAdded, + 9 => filterParameterGetError, _ => throw ArgumentError('Unknown value for CaptureErrors: $value'), }; } diff --git a/lib/src/exceptions/exceptions.dart b/lib/src/exceptions/exceptions.dart index 6ae6031..336ad6c 100644 --- a/lib/src/exceptions/exceptions.dart +++ b/lib/src/exceptions/exceptions.dart @@ -64,10 +64,16 @@ abstract class RecorderCppException extends RecorderException { return const RecorderFailedToInitializeRecordingException(); case CaptureErrors.failedToStartDevice: throw const RecorderFailedToStartDeviceException(); - case CaptureErrors.failedToWriteWav: - return const RecorderFailedToWriteWavException(); case CaptureErrors.invalidArgs: return const RecorderInvalidArgumentsException(); + case CaptureErrors.failedToWriteWav: + return const RecorderFailedToWriteWavException(); + case CaptureErrors.filterNotFound: + return const RecorderFilterNotFoundException(); + case CaptureErrors.filterAlreadyAdded: + return const RecorderFilterAlreadyAddedException(); + case CaptureErrors.filterParameterGetError: + return const RecorderFilterParameterGetException(); } } } diff --git a/lib/src/exceptions/exceptions_from_cpp.dart b/lib/src/exceptions/exceptions_from_cpp.dart index 736554c..65ee797 100644 --- a/lib/src/exceptions/exceptions_from_cpp.dart +++ b/lib/src/exceptions/exceptions_from_cpp.dart @@ -46,6 +46,16 @@ class RecorderFailedToStartDeviceException extends RecorderCppException { '(on the C++ side).'; } +/// An exception that is thrown when passing invalid arguments. +class RecorderInvalidArgumentsException extends RecorderCppException { + /// Creates a new [RecorderInvalidArgumentsException]. + const RecorderInvalidArgumentsException([super.message]); + + @override + String get description => 'Some invalid arguments were passed in ' + '(on the C++ side).'; +} + /// An exception that is thrown when the wav file could not be written. class RecorderFailedToWriteWavException extends RecorderCppException { /// Creates a new [RecorderFailedToWriteWavException]. @@ -56,12 +66,33 @@ class RecorderFailedToWriteWavException extends RecorderCppException { '(on the C++ side).'; } -/// An exception that is thrown when passing invalid arguments. -class RecorderInvalidArgumentsException extends RecorderCppException { - /// Creates a new [RecorderInvalidArgumentsException]. - const RecorderInvalidArgumentsException([super.message]); +/// An exception that is thrown when the filter could not be found. +class RecorderFilterNotFoundException extends RecorderCppException { + /// Creates a new [RecorderFilterNotFoundException]. + const RecorderFilterNotFoundException([super.message]); @override - String get description => 'Some invalid arguments were passed in ' + String get description => 'The filter could not be found ' + '(on the C++ side).'; +} + +/// An exception that is thrown when the filter has already been added. +class RecorderFilterAlreadyAddedException extends RecorderCppException { + /// Creates a new [RecorderFilterAlreadyAddedException]. + const RecorderFilterAlreadyAddedException([super.message]); + + @override + String get description => 'The filter has already been added ' '(on the C++ side).'; } + +/// An exception that is thrown when an error occurred while getting a +/// filter parameter. +class RecorderFilterParameterGetException extends RecorderCppException { + /// Creates a new [RecorderFilterParameterGetException]. + const RecorderFilterParameterGetException([super.message]); + + @override + String get description => 'An error occurred while getting a filter ' + 'parameter (on the C++ side).'; +} diff --git a/lib/src/flutter_recorder.dart b/lib/src/flutter_recorder.dart index a4a4c36..0edbb72 100644 --- a/lib/src/flutter_recorder.dart +++ b/lib/src/flutter_recorder.dart @@ -215,6 +215,10 @@ interface class Recorder { /// Throws [RecorderCaptureNotInitializedException]. /// Throws [RecorderFailedToInitializeRecordingException]. void startRecording({String completeFilePath = ''}) { + assert( + !kIsWeb && completeFilePath.isNotEmpty, + 'completeFilePath is required ' + 'on all platforms but on the Web.'); _recoreder.impl.startRecording(completeFilePath); } diff --git a/macos/Classes/flutter_recorder.mm b/macos/Classes/flutter_recorder.mm index 755875b..951683d 100644 --- a/macos/Classes/flutter_recorder.mm +++ b/macos/Classes/flutter_recorder.mm @@ -5,3 +5,4 @@ #include "../../src/analyzer.cpp" #include "../../src/capture.cpp" #include "../../src/fft/soloud_fft.cpp" +#include "../../src/filters/autogain.cpp" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 46dcdfd..9f63b5b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,6 +4,8 @@ cmake_minimum_required(VERSION 3.10) project(flutter_recorder_library VERSION 0.0.1 LANGUAGES CXX) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/fft) @@ -13,6 +15,9 @@ add_library(flutter_recorder SHARED "analyzer.cpp" "capture.cpp" "fft/soloud_fft.cpp" + "filters/filters.cpp" + "filters/autogain.cpp" + "filters/echo_cancellation.cpp" ) set_target_properties(flutter_recorder PROPERTIES diff --git a/src/capture.cpp b/src/capture.cpp index 486a42d..1c6ad3c 100644 --- a/src/capture.cpp +++ b/src/capture.cpp @@ -223,7 +223,7 @@ Capture::Capture() : isDetectingSilence(false), mInited(false) { memset(waveData, 0, sizeof(float) * 256); -}; +} Capture::~Capture() { diff --git a/src/capture.h b/src/capture.h index 3f72193..ca34f8d 100644 --- a/src/capture.h +++ b/src/capture.h @@ -110,7 +110,6 @@ class Capture /// true when the capture device is initialized. bool mInited; - }; #endif // CAPTURE_H \ No newline at end of file diff --git a/src/enums.h b/src/enums.h index 02d4158..9c3075e 100644 --- a/src/enums.h +++ b/src/enums.h @@ -5,20 +5,25 @@ typedef enum CaptureErrors { /// No error - captureNoError, + captureNoError = 0, /// The capture device has failed to initialize. - captureInitFailed, + captureInitFailed = 1, /// The capture device has not yet been initialized. - captureNotInited, + captureNotInited = 2, /// Failed to start the device. - failedToStartDevice, + failedToStartDevice = 3, /// Failed to initialize wav recording. - failedToInitializeRecording, + failedToInitializeRecording = 4, /// Invalid arguments while initializing wav recording. - invalidArgs, + invalidArgs = 5, /// Failed to write wav file. - failedToWriteWav - + failedToWriteWav = 6, + /// Filter not found + filterNotFound = 7, + /// The filter has already been added. + filterAlreadyAdded = 8, + /// Error getting filter parameter. + filterParameterGetError = 9 } CaptureErrorsInternal_t; typedef enum PCMFormat @@ -30,4 +35,10 @@ typedef enum PCMFormat pcm_f32 } PCMFormatInternal_t; +typedef enum FilterType +{ + autogain, + echoCancellation +} FilterType_t; + #endif // ENUMS_H \ No newline at end of file diff --git a/src/filters/autogain.cpp b/src/filters/autogain.cpp new file mode 100644 index 0000000..6287c16 --- /dev/null +++ b/src/filters/autogain.cpp @@ -0,0 +1,240 @@ +#include "autogain.h" + +#include +#include +#include +#include + +AutoGain::AutoGain(unsigned int sampleRate) + : mSampleRate(sampleRate), mCurrentGain(1.0f), mSmoothedRMS(0.0f), + mParams{ + {TargetRMS, {0.1f, 0.01f, 0.5f}}, + {AttackTime, {0.02f, 0.001f, 0.02f}}, + {ReleaseTime, {0.2f, 0.01f, 0.2f}}, + {GainSmoothing, {0.001f, 0.001f, 0.01f}}, + {MaxGain, {6.0f, 1.0f, 6.0f}}, + {MinGain, {0.2f, 0.1f, 0.2f}} + } +{ + // Initialize values with defaults + for (const auto &[param, range] : mParams) + { + mValues[param] = range.defaultVal; + } +} + +// Override parameter management methods +int AutoGain::getParamCount() const +{ + return ParamCount; +} + +float AutoGain::getParamMax(int param) const +{ + validateParam(param); + return mParams.at(static_cast(param)).maxVal; +} + +float AutoGain::getParamMin(int param) const +{ + validateParam(param); + return mParams.at(static_cast(param)).minVal; +} + +float AutoGain::getParamDef(int param) const +{ + validateParam(param); + return mParams.at(static_cast(param)).defaultVal; +} + +std::string AutoGain::getParamName(int param) const +{ + validateParam(param); + switch (static_cast(param)) + { + case TargetRMS: + return "Target RMS"; + case AttackTime: + return "Attack Time"; + case ReleaseTime: + return "Release Time"; + case GainSmoothing: + return "Gain Smoothing"; + case MaxGain: + return "Max Gain"; + case MinGain: + return "Min Gain"; + default: + return "Unknown"; + } +} + +void AutoGain::setParamValue(int param, float value) +{ + validateParam(param); + const auto &range = mParams.at(static_cast(param)); + if (value < range.minVal || value > range.maxVal) + { + // Parameter value out of range + return; + } + mValues[param] = value; +} + +float AutoGain::getParamValue(int param) const +{ + validateParam(param); + return mValues[param]; +} + +void AutoGain::process(void *pInput, ma_uint32 frameCount, unsigned int channels, ma_format format) +{ + // Calculate the current frame's RMS + float currentRMS = calculateRMS(pInput, frameCount, channels, format); + + // Smooth RMS over time using exponential smoothing + mSmoothedRMS += (currentRMS - mSmoothedRMS) * rmsSmoothingFactor(); + + // Calculate the target gain based on smoothed RMS + float targetGain = getParamValue(TargetRMS) / (mSmoothedRMS + 1e-6f); + targetGain = std::clamp(targetGain, getParamValue(MinGain), getParamValue(MaxGain)); + + // Smoothly adjust gain + float smoothing = targetGain > mCurrentGain ? getParamValue(AttackTime) : getParamValue(ReleaseTime); + mCurrentGain += (targetGain - mCurrentGain) * (1.0f - std::exp(-smoothing * getParamValue(GainSmoothing))); + + // Apply the gain to the input buffer + applyGain((void *)pInput, frameCount, channels, format); +} + +// Calculate RMS for the current frame +float AutoGain::calculateRMS(const void *pInput, ma_uint32 frameCount, unsigned int channels, ma_format format) +{ + double rmsSum = 0.0; + ma_uint32 sampleCount = frameCount * channels; + + switch (format) + { + case ma_format_u8: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + float sample = (static_cast(pInput)[i] - 128) / 128.0f; + rmsSum += sample * sample; + } + break; + case ma_format_s16: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + float sample = static_cast(pInput)[i] / 32768.0f; + rmsSum += sample * sample; + } + break; + case ma_format_s24: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + int32_t sample = (static_cast(pInput)[i * 3] << 16) | + (static_cast(pInput)[i * 3 + 1] << 8) | + static_cast(pInput)[i * 3 + 2]; + sample = sample << 8 >> 8; // Sign extend + rmsSum += (sample / 8388608.0f) * (sample / 8388608.0f); + } + break; + case ma_format_s32: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + float sample = static_cast(pInput)[i] / 2147483648.0f; + rmsSum += sample * sample; + } + break; + case ma_format_f32: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + float sample = static_cast(pInput)[i]; + rmsSum += sample * sample; + } + break; + default: + return 0.0f; // Unknown format + } + + return std::sqrt(rmsSum / sampleCount); +} + +// Exponential smoothing factor for RMS calculation +float AutoGain::rmsSmoothingFactor() const +{ + float windowSizeSeconds = 0.1f; // Adjust smoothing window as needed + return 1.0f - std::exp(-1.0f / (windowSizeSeconds * mSampleRate)); +} + +// Apply gain to the audio data +void AutoGain::applyGain(void *pInput, ma_uint32 frameCount, unsigned int channels, ma_format format) +{ + ma_uint32 sampleCount = frameCount * channels; + + switch (format) + { + case ma_format_u8: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + float sample = (static_cast(pInput)[i] - 128) / 128.0f * mCurrentGain; + sample = std::clamp(sample, -1.0f, 1.0f); + static_cast(pInput)[i] = static_cast((sample * 128.0f) + 128); + } + break; + case ma_format_s16: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + float sample = static_cast(pInput)[i] / 32768.0f * mCurrentGain; + sample = std::clamp(sample, -1.0f, 1.0f); + static_cast(pInput)[i] = static_cast(sample * 32768.0f); + } + break; + case ma_format_s24: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + // Read the 24-bit signed sample (3 bytes per sample) + uint8_t *samplePtr = static_cast(pInput) + i * 3; + int32_t sample = (samplePtr[0] << 8) | (samplePtr[1] << 16) | (samplePtr[2] << 24); // Reassemble to 32-bit signed + sample >>= 8; // Shift to make it a signed 24-bit value + + // Scale and apply gain + float normalizedSample = sample / 8388608.0f; // Scale to -1.0 to +1.0 range + normalizedSample *= mCurrentGain; + normalizedSample = std::clamp(normalizedSample, -1.0f, 1.0f); + + // Convert back to signed 24-bit + int32_t processedSample = static_cast(normalizedSample * 8388608.0f); + processedSample = std::clamp(processedSample, -8388608, 8388607); + + // Write back the processed sample into 3 bytes + samplePtr[0] = (processedSample & 0xFF0000) >> 16; + samplePtr[1] = (processedSample & 0x00FF00) >> 8; + samplePtr[2] = (processedSample & 0x0000FF); + } + break; + case ma_format_s32: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + float sample = static_cast(pInput)[i] / 2147483648.0f * mCurrentGain; + sample = std::clamp(sample, -1.0f, 1.0f); + static_cast(pInput)[i] = static_cast(sample * 2147483648.0f); + } + break; + case ma_format_f32: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + static_cast(pInput)[i] *= mCurrentGain; + } + break; + } +} + +void AutoGain::validateParam(int param) const +{ + if (param < 0 || param >= ParamCount) + { + // Invalid parameter index + return; + } +} diff --git a/src/filters/autogain.h b/src/filters/autogain.h new file mode 100644 index 0000000..b7e8a42 --- /dev/null +++ b/src/filters/autogain.h @@ -0,0 +1,123 @@ +#ifndef AUTO_GAIN_H +#define AUTO_GAIN_H + +#include "../miniaudio.h" +#include "generic_filter.h" + +#include +#include + +// 1. **Target RMS Level (g_targetRMS)** +// - Purpose: Sets the desired loudness level. +// - Typical Value: +// - For speech: 0.05 to 0.2 (RMS values in the -1.0 to +1.0 range). +// - For music: 0.1 to 0.3. +// - Adjust to: Match the desired loudness without introducing excessive distortion or artifacts. +// 2. **Attack Time (g_attackTime)** +// - Purpose: Determines how quickly the gain increases when the signal level is below the target. +// - Typical Value: 0.005 to 0.05 seconds. +// - Faster attack (e.g., 0.005) ensures quick response to sudden volume drops, but may sound unnatural. +// - Slower attack (e.g., 0.02-0.05) smoothens gain changes. +// 3. **Release Time (g_releaseTime)** +// - Purpose: Determines how quickly the gain decreases when the signal level is above the target. +// - Typical Value: 0.05 to 0.5 seconds. +// - Short release (e.g., 0.05-0.1) responds quickly to loud bursts but risks unnatural pumping effects. +// - Long release (e.g., 0.2-0.5) creates smoother transitions for dynamic content like music. +// 4. **Gain Smoothing (g_gainSmoothing)** +// - Purpose: Controls how quickly the gain changes overall, acting as a dampening factor. +// - Typical Value: 0.01 to 0.1. +// - Lower values (e.g., 0.01) result in slow gain adjustments, reducing artifacts but possibly underreacting to fast changes. +// - Higher values (e.g., 0.05-0.1) provide faster responsiveness but may sound less smooth. +// 5. **Maximum Gain (g_maxGain)** +// - Purpose: Caps the maximum amplification to avoid over-amplification or distortion. +// - Typical Value: 4.0 to 10.0. +// - Adjust to: Match the dynamic range of the input; keep lower for highly dynamic signals to prevent clipping. +// 6. **Minimum Gain (g_minGain)** +// - Purpose: Prevents excessive attenuation of the signal. +// - Typical Value: 0.1 to 0.5. +// - Adjust to: Avoid muting low signals unless silence is acceptable. + +// #### Recommended Settings for Common Scenarios +// **Speech in a Noisy Environment** +// - targetRMS = 0.1f +// - attackTime = 0.02f +// - releaseTime = 0.2f +// - gainSmoothing = 0.01f +// - maxGain = 6.0f +// - minGain = 0.2f +// **Music Playback** +// - targetRMS = 0.2f +// - attackTime = 0.01f +// - releaseTime = 0.3f +// - gainSmoothing = 0.05f +// - maxGain = 4.0f +// - minGain = 0.1f +// **Podcast Recording** +// - targetRMS = 0.15f +// - attackTime = 0.02f +// - releaseTime = 0.2f +// - gainSmoothing = 0.03f +// - maxGain = 5.0f +// - minGain = 0.1f + +class AutoGain : public GenericFilter +{ +public: + // Enum for filter parameters + enum Params + { + TargetRMS, // Target RMS level + AttackTime, // Attack time in seconds + ReleaseTime, // Release time in seconds + GainSmoothing, // Smoothing factor for gain adjustment + MaxGain, // Maximum gain multiplier + MinGain, // Minimum gain multiplier + ParamCount // Always keep this last; indicates the number of parameters + }; + + AutoGain() {}; + AutoGain(unsigned int sampleRate); + + int getParamCount() const override; + float getParamMax(int param) const override; + float getParamMin(int param) const override; + float getParamDef(int param) const override; + std::string getParamName(int param) const override; + void setParamValue(int param, float value) override; + float getParamValue(int param) const override; + + void process(void *pInput, ma_uint32 frameCount, unsigned int channels, ma_format format) override; + +private: + // Struct to hold parameter information + struct ParamInfo + { + float defaultVal; + float minVal; + float maxVal; + }; + + float mSampleRate; + float mCurrentGain; + float mSmoothedRMS; + + // Parameter metadata + std::unordered_map mParams; + + // Parameter values + std::vector mValues; + + // Calculate RMS for the current frame + float calculateRMS(const void *pInput, ma_uint32 frameCount, unsigned int channels, ma_format format); + + // Exponential smoothing factor for RMS calculation + float rmsSmoothingFactor() const; + + // Apply gain to the audio data + void applyGain(void *pInput, ma_uint32 frameCount, unsigned int channels, ma_format format); + + // Validate parameter index + void validateParam(int param) const; +}; + +#endif // AUTO_GAIN_H \ No newline at end of file diff --git a/src/filters/echo_cancellation.cpp b/src/filters/echo_cancellation.cpp new file mode 100644 index 0000000..24f2e5a --- /dev/null +++ b/src/filters/echo_cancellation.cpp @@ -0,0 +1,212 @@ +#include "echo_cancellation.h" + +#include +#include +#include +#include +#include + +EchoCancellation::EchoCancellation(unsigned int sampleRate) + : mWriteIndex(0), + mParams{ + {EchoDelayMs, {50.0f, 0.0f, 1000.0f}}, // Delay in ms (default, min, max) + {EchoAttenuation, {0.7f, 0.0f, 1.0f}} // Attenuation (default, min, max) + }, + mValues(ParamCount, 0.0f) +{ + // Initialize values with defaults + for (const auto &[param, range] : mParams) + { + mValues[param] = range.defaultVal; + } + mDelaySamples = static_cast((getParamDef(EchoDelayMs) / 1000.0f) * sampleRate); + // Allocate twice the delay size to handle circular buffer + mBuffer = std::vector(mDelaySamples * 2, 0.0f); +} + +// Override parameter management methods +int EchoCancellation::getParamCount() const +{ + return ParamCount; +} + +float EchoCancellation::getParamMax(int param) const +{ + validateParam(param); + return mParams.at(static_cast(param)).maxVal; +} + +float EchoCancellation::getParamMin(int param) const +{ + validateParam(param); + return mParams.at(static_cast(param)).minVal; +} + +float EchoCancellation::getParamDef(int param) const +{ + validateParam(param); + return mParams.at(static_cast(param)).defaultVal; +} + +std::string EchoCancellation::getParamName(int param) const +{ + validateParam(param); + switch (static_cast(param)) + { + case EchoDelayMs: + return "Echo Delay (ms)"; + case EchoAttenuation: + return "Echo Attenuation"; + default: + return "Unknown"; + } +} + +void EchoCancellation::setParamValue(int param, float value) +{ + validateParam(param); + const auto &range = mParams.at(static_cast(param)); + if (value < range.minVal || value > range.maxVal) + { + throw std::out_of_range("Parameter value out of range"); + } + mValues[param] = value; +} + +float EchoCancellation::getParamValue(int param) const +{ + validateParam(param); + return mValues[param]; +} + +void EchoCancellation::process(void *pInput, ma_uint32 frameCount, unsigned int channels, ma_format format) +{ + switch (format) + { + case ma_format_u8: + processAudio(pInput, frameCount, channels); + break; + case ma_format_s16: + processAudio(pInput, frameCount, channels); + break; + case ma_format_s24: + processAudioS24(pInput, frameCount, channels); + break; + case ma_format_s32: + processAudio(pInput, frameCount, channels); + break; + case ma_format_f32: + processAudio(pInput, frameCount, channels); + break; + default: + std::cerr << "Unsupported format\n"; + break; + } +} + +template +void EchoCancellation::processAudio(void *pInput, ma_uint32 frameCount, unsigned int channels) +{ + T *input = static_cast(pInput); + + for (ma_uint32 i = 0; i < frameCount * channels; ++i) + { + // Normalize sample to float [-1, 1] + float currentSample = normalizeSample(input[i]); + float delayedSample = mBuffer[mWriteIndex]; + + // Apply echo cancellation + float processedSample = currentSample - getParamValue(EchoAttenuation) * delayedSample; + + // Store result back to circular buffer + mBuffer[mWriteIndex] = currentSample; + + // Write processed sample back to input + input[i] = denormalizeSample(processedSample); + + // Increment and wrap write index + mWriteIndex = (mWriteIndex + 1) % mBuffer.size(); + } +} + +void EchoCancellation::processAudioS24(void *pInput, ma_uint32 frameCount, unsigned int channels) +{ + uint8_t *input = static_cast(pInput); + + for (ma_uint32 i = 0; i < frameCount * channels; ++i) + { + // Extract 24-bit signed integer from the 3 bytes + int32_t sample = (input[i * 3 + 0] << 8) | (input[i * 3 + 1] << 16) | (input[i * 3 + 2] << 24); + sample >>= 8; // Convert to signed 32-bit integer + + // Normalize sample to float [-1, 1] + float currentSample = sample / 8388608.0f; // 2^23 + + float delayedSample = mBuffer[mWriteIndex]; + + // Apply echo cancellation + float processedSample = currentSample - getParamValue(EchoAttenuation) * delayedSample; + + // Store result back to circular buffer + mBuffer[mWriteIndex] = currentSample; + + // Write processed sample back to input + int32_t processedInt = static_cast(std::clamp(processedSample * 8388608.0f, -8388608.0f, 8388607.0f)); + input[i * 3 + 0] = static_cast((processedInt >> 8) & 0xFF); + input[i * 3 + 1] = static_cast((processedInt >> 16) & 0xFF); + input[i * 3 + 2] = static_cast((processedInt >> 24) & 0xFF); + + // Increment and wrap write index + mWriteIndex = (mWriteIndex + 1) % mBuffer.size(); + } +} + +float EchoCancellation::normalizeSample(unsigned char sample) +{ + return (sample - 128) / 128.0f; +} + +float EchoCancellation::normalizeSample(int16_t sample) +{ + return sample / 32768.0f; +} + +float EchoCancellation::normalizeSample(int32_t sample) +{ + return sample / 2147483648.0f; +} + +float EchoCancellation::normalizeSample(float sample) +{ + return sample; // Already normalized +} + +template +T EchoCancellation::denormalizeSample(float sample) +{ + if (std::is_same::value) + { + return static_cast(std::clamp(sample * 128.0f + 128, 0.0f, 255.0f)); + } + else if (std::is_same::value) + { + return static_cast(std::clamp(sample * 32768.0f, -32768.0f, 32767.0f)); + } + else if (std::is_same::value) + { + return static_cast(std::clamp(sample * 2147483648.0f, -2147483648.0f, 2147483647.0f)); + } + else if (std::is_same::value) + { + return sample; + } + return 0; +} + +void EchoCancellation::validateParam(int param) const +{ + if (param < 0 || param >= ParamCount) + { + throw std::invalid_argument("Invalid parameter index"); + } +} diff --git a/src/filters/echo_cancellation.h b/src/filters/echo_cancellation.h new file mode 100644 index 0000000..9d1ad12 --- /dev/null +++ b/src/filters/echo_cancellation.h @@ -0,0 +1,72 @@ +#ifndef ECHO_CANCELLATION_H +#define ECHO_CANCELLATION_H + +#include "generic_filter.h" + +#include +#include + +class EchoCancellation : public GenericFilter +{ +public: + // Enum for filter parameters + enum Params + { + EchoDelayMs, + EchoAttenuation, + ParamCount // Always keep this last; indicates the number of parameters + }; + + EchoCancellation() {}; + EchoCancellation(unsigned int sampleRate); + + int getParamCount() const override; + float getParamMax(int param) const override; + float getParamMin(int param) const override; + float getParamDef(int param) const override; + std::string getParamName(int param) const override; + void setParamValue(int param, float value) override; + float getParamValue(int param) const override; + + void process(void *pInput, ma_uint32 frameCount, unsigned int channels, ma_format format) override; + +private: + // Struct to hold parameter information + struct ParamInfo + { + float defaultVal; + float minVal; + float maxVal; + }; + + unsigned int mDelaySamples; + std::vector mBuffer; // Circular buffer for storing past samples + unsigned int mWriteIndex; + + // Parameter metadata + std::unordered_map mParams; + + // Parameter values + std::vector mValues; + + template + void processAudio(void *pInput, ma_uint32 frameCount, unsigned int channels); + + void processAudioS24(void *pInput, ma_uint32 frameCount, unsigned int channels); + + float normalizeSample(unsigned char sample); + + float normalizeSample(int16_t sample); + + float normalizeSample(int32_t sample); + + float normalizeSample(float sample); + + template + T denormalizeSample(float sample); + + // Validate parameter index + void validateParam(int param) const; +}; + +#endif // ECHO_CANCELLATION_H \ No newline at end of file diff --git a/src/filters/filters.cpp b/src/filters/filters.cpp new file mode 100644 index 0000000..d919eff --- /dev/null +++ b/src/filters/filters.cpp @@ -0,0 +1,109 @@ +#include "filters.h" +#include "autogain.h" +#include "echo_cancellation.h" + +#include +#include +#include + +Filters::Filters(unsigned int samplerate) : mSamplerate(samplerate) {} + +Filters::~Filters() {} + +int Filters::isFilterActive(FilterType filter) +{ + for (int i = 0; i < filters.size(); i++) + { + if (filters[i].get()->type == filter) + return i; + } + return -1; +} + +std::vector Filters::getFilterParamNames(FilterType filterType) +{ + std::vector ret; + switch (filterType) + { + case FilterType::autogain: + { + AutoGain f; + int nParams = f.getParamCount(); + for (int i = 0; i < nParams; i++) + ret.push_back(f.getParamName(i)); + } + break; + case FilterType::echoCancellation: + { + EchoCancellation f; + int nParams = f.getParamCount(); + for (int i = 0; i < nParams; i++) + ret.push_back(f.getParamName(i)); + } + break; + default: + break; + } + + return ret; +} + +CaptureErrors Filters::addFilter(FilterType filterType) +{ + // Check if the new filter is already here. + // Only one kind of filter allowed. + if (isFilterActive(filterType) >= 0) + return CaptureErrors::filterAlreadyAdded; + + std::unique_ptr newFilter; + switch (filterType) + { + case autogain: + newFilter = std::make_unique(mSamplerate); + break; + case echoCancellation: + newFilter = std::make_unique(mSamplerate); + break; + default: + return CaptureErrors::filterNotFound; + } + + std::unique_ptr nfo = std::make_unique(filterType, std::move(newFilter)); + /// In [filters] we add the new filter to the list. All these filters must be processed inside the callback. + filters.push_back(std::move(nfo)); + + return CaptureErrors::captureNoError; +} + +CaptureErrors Filters::removeFilter(FilterType filterType) +{ + int index = isFilterActive(filterType); + if (index < 0) + return CaptureErrors::filterNotFound; + + filters[index].get()->filter.reset(); + + /// remove the filter from the list + filters.erase(filters.begin() + index); + + return CaptureErrors::captureNoError; +} + +void Filters::setFilterParams(FilterType filterType, int attributeId, float value) +{ + int index = isFilterActive(filterType); + if (index < 0) + return; + filters[index].get()->filter.get()->setParamValue(attributeId, value); +} + +float Filters::getFilterParams(FilterType filterType, int attributeId) +{ + int index = isFilterActive(filterType); + if (index < 0) + return 9999.0f; + + float ret = filters[index].get()->filter.get()->getParamValue(attributeId); + + return ret; +} diff --git a/src/filters/filters.h b/src/filters/filters.h new file mode 100644 index 0000000..d3ba927 --- /dev/null +++ b/src/filters/filters.h @@ -0,0 +1,55 @@ +#ifndef FILTERS_H +#define FILTERS_H + +#include "../enums.h" +#include "generic_filter.h" + +#include +#include +#include + +struct FilterObject +{ + FilterType type; + std::unique_ptr filter; + + FilterObject(FilterType t, std::unique_ptr f) + : type(t), filter(std::move(f)) {} + + bool operator==(FilterType const &i) + { + return (i == type); + } +}; + +/// Class to manage global filters. +class Filters +{ + /// Setting the global filter to NULL will clear the global filter. + /// The default maximum number of global filters active is 4, but this + /// can be changed in a global constant in soloud.h (and rebuilding SoLoud). +public: + Filters(unsigned int samplerate); + ~Filters(); + + /// Return -1 if the filter is not active or its index + int isFilterActive(FilterType filter); + + CaptureErrors addFilter(FilterType filterType); + + CaptureErrors removeFilter(FilterType filterType); + + std::vector getFilterParamNames(FilterType filterType); + + /// If [handle]==0 the operation is done to global filters. + void setFilterParams(FilterType filterType, int attributeId, float value); + + /// If [handle]==0 the operation is done to global filters. + float getFilterParams(FilterType filterType, int attributeId); + + unsigned int mSamplerate; +private: + std::vector> filters; +}; + +#endif // PLAYER_H diff --git a/src/filters/generic_filter.h b/src/filters/generic_filter.h new file mode 100644 index 0000000..81ce248 --- /dev/null +++ b/src/filters/generic_filter.h @@ -0,0 +1,26 @@ +#ifndef GENERIC_FILTERS_H +#define GENERIC_FILTERS_H + +#include "../miniaudio.h" + +#include + +// Abstract Base Class for Generic Filters +class GenericFilter { +public: + virtual ~GenericFilter() = default; + + // Methods for managing parameters + virtual int getParamCount() const = 0; + virtual float getParamMax(int param) const = 0; + virtual float getParamMin(int param) const = 0; + virtual float getParamDef(int param) const = 0; + virtual std::string getParamName(int param) const = 0; + virtual void setParamValue(int param, float value) = 0; + virtual float getParamValue(int param) const = 0; + + // Pure virtual method to apply the filter (to be implemented by derived classes) + virtual void process(void* pInput, ma_uint32 frameCount, unsigned int channels, ma_format format) = 0; +}; + +#endif // GENERIC_FILTERS_H \ No newline at end of file diff --git a/src/flutter_recorder.cpp b/src/flutter_recorder.cpp index fdd98ac..2fdadde 100644 --- a/src/flutter_recorder.cpp +++ b/src/flutter_recorder.cpp @@ -1,10 +1,10 @@ -// TODO(marco): add all miniaudio errors #define MINIAUDIO_IMPLEMENTATION #include "miniaudio.h" #include "flutter_recorder.h" #include "capture.h" #include "analyzer.h" +#include "filters/filters.h" #include #include @@ -17,6 +17,7 @@ Capture capture; std::unique_ptr analyzerCapture = std::make_unique(256); +std::unique_ptr mFilters = nullptr; dartSilenceChangedCallback_t dartSilenceChangedCallback; dartSilenceChangedCallback_t nativeSilenceChangedCallback; @@ -179,6 +180,12 @@ FFI_PLUGIN_EXPORT enum CaptureErrors init( unsigned int channels) { CaptureErrors res = capture.init(deviceID, (PCMFormat)pcmFormat, sampleRate, channels); + if (mFilters != nullptr || mFilters.get()->mSamplerate != sampleRate) + { + mFilters.reset(); + mFilters = std::make_unique(sampleRate); + } + return res; } @@ -342,3 +349,43 @@ FFI_PLUGIN_EXPORT float getTextureValue(int row, int column) { return capturedTexture2D[row][column]; } + +///////////////////////// +/// FILTERS +///////////////////////// +FFI_PLUGIN_EXPORT int isFilterActive(enum FilterType filterType) +{ + return mFilters.get()->isFilterActive(filterType); +} + +FFI_PLUGIN_EXPORT enum CaptureErrors addFilter(enum FilterType filterType) +{ + return mFilters.get()->addFilter(filterType); +} + +FFI_PLUGIN_EXPORT enum CaptureErrors removeFilter(enum FilterType filterType) +{ + return mFilters.get()->removeFilter(filterType); +} + +FFI_PLUGIN_EXPORT void getFilterParamNames(enum FilterType filterType, char **names, int *paramsCount) +{ + std::vector pNames = mFilters.get()->getFilterParamNames(filterType); + *paramsCount = static_cast(pNames.size()); + *names = (char *)malloc(sizeof(char *) * *paramsCount); + for (int i = 0; i < *paramsCount; i++) + { + names[i] = strdup(pNames[i].c_str()); + printf("C i: %d names[i]: %s names[i]: %p\n", i, names[i], names[i]); + } +} + +FFI_PLUGIN_EXPORT void setFilterParams(enum FilterType filterType, int attributeId, float value) +{ + mFilters.get()->setFilterParams(filterType, attributeId, value); +} + +FFI_PLUGIN_EXPORT float getFilterParams(enum FilterType filterType, int attributeId) +{ + return mFilters.get()->getFilterParams(filterType, attributeId); +} diff --git a/src/flutter_recorder.h b/src/flutter_recorder.h index c4ce7c8..873dd3a 100644 --- a/src/flutter_recorder.h +++ b/src/flutter_recorder.h @@ -79,6 +79,16 @@ extern "C" FFI_PLUGIN_EXPORT void setFftSmoothing(float smooth); + ///////////////////////// + /// FILTERS + ///////////////////////// + FFI_PLUGIN_EXPORT int isFilterActive(enum FilterType filterType); + FFI_PLUGIN_EXPORT enum CaptureErrors addFilter(enum FilterType filterType); + FFI_PLUGIN_EXPORT enum CaptureErrors removeFilter(enum FilterType filterType); + FFI_PLUGIN_EXPORT void getFilterParamNames(enum FilterType filterType, char **names, int *paramsCount); + FFI_PLUGIN_EXPORT void setFilterParams(enum FilterType filterType, int attributeId, float value); + FFI_PLUGIN_EXPORT float getFilterParams(enum FilterType filterType, int attributeId); + #ifdef __cplusplus } #endif From af6b08cc9a7f854fc52b9b8a4924e5b00a2f0512 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Fri, 22 Nov 2024 13:37:07 +0100 Subject: [PATCH 02/30] added filter management in Dart --- .../flutter_recorder_bindings_generated.dart | 15 +- lib/src/bindings/recorder.dart | 4 + lib/src/bindings/recorder_io.dart | 1 + lib/src/filters/autogain.dart | 86 ++++++++++++ lib/src/filters/echo_cancellation.dart | 47 +++++++ lib/src/filters/filters.dart | 131 ++++++++++++++++++ lib/src/flutter_recorder.dart | 51 ++++++- src/filters/autogain.cpp | 2 +- src/filters/echo_cancellation.cpp | 2 +- 9 files changed, 321 insertions(+), 18 deletions(-) create mode 100644 lib/src/filters/autogain.dart create mode 100644 lib/src/filters/echo_cancellation.dart create mode 100644 lib/src/filters/filters.dart diff --git a/lib/src/bindings/flutter_recorder_bindings_generated.dart b/lib/src/bindings/flutter_recorder_bindings_generated.dart index 5eb5ac9..5fb762f 100644 --- a/lib/src/bindings/flutter_recorder_bindings_generated.dart +++ b/lib/src/bindings/flutter_recorder_bindings_generated.dart @@ -9,6 +9,7 @@ import 'dart:ffi' as ffi; import 'package:flutter_recorder/src/enums.dart'; +import 'package:flutter_recorder/src/filters/filters.dart'; /// Bindings for `src/flutter_recorder.h`. /// @@ -511,17 +512,3 @@ typedef dartStreamDataCallback_tFunction = ffi.Void Function( ffi.Pointer data, ffi.Int dataLength); typedef DartdartStreamDataCallback_tFunction = void Function( ffi.Pointer data, int dataLength); - -enum FilterType { - autogain(0), - echoCancellation(1); - - final int value; - const FilterType(this.value); - - static FilterType fromValue(int value) => switch (value) { - 0 => autogain, - 1 => echoCancellation, - _ => throw ArgumentError("Unknown value for FilterType: $value"), - }; -} diff --git a/lib/src/bindings/recorder.dart b/lib/src/bindings/recorder.dart index a0d17ae..ae50b9b 100644 --- a/lib/src/bindings/recorder.dart +++ b/lib/src/bindings/recorder.dart @@ -7,6 +7,7 @@ import 'package:flutter_recorder/src/audio_data_container.dart'; import 'package:flutter_recorder/src/bindings/flutter_recorder_bindings_generated.dart'; import 'package:flutter_recorder/src/enums.dart'; import 'package:flutter_recorder/src/exceptions/exceptions.dart'; +import 'package:flutter_recorder/src/filters/filters.dart'; import 'package:flutter_recorder/src/flutter_recorder.dart'; import 'package:meta/meta.dart'; @@ -216,6 +217,9 @@ abstract class RecorderImpl { void addFilter(FilterType filterType); /// Remove a filter. + /// + /// Throws [RecorderFilterNotFoundException] if trying to a non active + /// filter. @mustBeOverridden CaptureErrors removeFilter(FilterType filterType); diff --git a/lib/src/bindings/recorder_io.dart b/lib/src/bindings/recorder_io.dart index 9ec01ee..e5dedac 100644 --- a/lib/src/bindings/recorder_io.dart +++ b/lib/src/bindings/recorder_io.dart @@ -12,6 +12,7 @@ import 'package:flutter_recorder/src/bindings/flutter_recorder_bindings_generate import 'package:flutter_recorder/src/bindings/recorder.dart'; import 'package:flutter_recorder/src/enums.dart'; import 'package:flutter_recorder/src/exceptions/exceptions.dart'; +import 'package:flutter_recorder/src/filters/filters.dart'; import 'package:flutter_recorder/src/flutter_recorder.dart'; import 'package:meta/meta.dart'; diff --git a/lib/src/filters/autogain.dart b/lib/src/filters/autogain.dart new file mode 100644 index 0000000..4e85db8 --- /dev/null +++ b/lib/src/filters/autogain.dart @@ -0,0 +1,86 @@ +// ignore_for_file: public_member_api_docs +import 'package:flutter_recorder/src/filters/filters.dart'; + +enum AutoGainEnum { + targetRms, + attackTime, + releaseTime, + gainSmoothing, + maxGain, + minGain; + + final List _mins = const [0, 0, 0, 0, 0]; + final List _maxs = const [1, 1, 1, 1, 1]; + final List _defs = const [1, 0, 0.5, 0.5, 1]; + + double get min => _mins[index]; + double get max => _maxs[index]; + double get def => _defs[index]; + + @override + String toString() => switch (this) { + AutoGainEnum.targetRms => 'Target RMS', + AutoGainEnum.attackTime => 'Attack Time', + AutoGainEnum.releaseTime => 'Release Time', + AutoGainEnum.gainSmoothing => 'Gain Smoothing', + AutoGainEnum.maxGain => 'Max Gain', + AutoGainEnum.minGain => 'Min Gain', + }; +} + +abstract class _AutoGainInternal extends FilterBase { + const _AutoGainInternal() : super(FilterType.autogain); + + AutoGainEnum get queryTargetRms => AutoGainEnum.targetRms; + AutoGainEnum get queryAttack => AutoGainEnum.attackTime; + AutoGainEnum get queryRelease => AutoGainEnum.releaseTime; + AutoGainEnum get queryGainSmoothing => AutoGainEnum.gainSmoothing; + AutoGainEnum get queryMaxGain => AutoGainEnum.maxGain; + AutoGainEnum get queryMinGain => AutoGainEnum.minGain; +} + +class AutoGain extends _AutoGainInternal { + const AutoGain() : super(); + + FilterParam get targetRms => FilterParam( + filterType, + AutoGainEnum.targetRms.index, + AutoGainEnum.targetRms.min, + AutoGainEnum.targetRms.max, + ); + + FilterParam get attackTime => FilterParam( + filterType, + AutoGainEnum.attackTime.index, + AutoGainEnum.attackTime.min, + AutoGainEnum.attackTime.max, + ); + + FilterParam get releaseTime => FilterParam( + filterType, + AutoGainEnum.releaseTime.index, + AutoGainEnum.releaseTime.min, + AutoGainEnum.releaseTime.max, + ); + + FilterParam get gainSmoothing => FilterParam( + filterType, + AutoGainEnum.gainSmoothing.index, + AutoGainEnum.gainSmoothing.min, + AutoGainEnum.gainSmoothing.max, + ); + + FilterParam get maxGain => FilterParam( + filterType, + AutoGainEnum.maxGain.index, + AutoGainEnum.maxGain.min, + AutoGainEnum.maxGain.max, + ); + + FilterParam get minGain => FilterParam( + filterType, + AutoGainEnum.minGain.index, + AutoGainEnum.minGain.min, + AutoGainEnum.minGain.max, + ); +} diff --git a/lib/src/filters/echo_cancellation.dart b/lib/src/filters/echo_cancellation.dart new file mode 100644 index 0000000..ea12c21 --- /dev/null +++ b/lib/src/filters/echo_cancellation.dart @@ -0,0 +1,47 @@ +// ignore_for_file: public_member_api_docs +import 'package:flutter_recorder/src/filters/filters.dart'; + +enum EchoCancellationEnum { + echoDelayMs, + echoAttenuation; + + final List _mins = const [0, 0, 0, 0, 0]; + final List _maxs = const [1, 1, 1, 1, 1]; + final List _defs = const [1, 0, 0.5, 0.5, 1]; + + double get min => _mins[index]; + double get max => _maxs[index]; + double get def => _defs[index]; + + @override + String toString() => switch (this) { + EchoCancellationEnum.echoDelayMs => 'Echo Delay (ms)', + EchoCancellationEnum.echoAttenuation => 'Echo Attenuation', + }; +} + +abstract class _EchoCancellationInternal extends FilterBase { + const _EchoCancellationInternal() : super(FilterType.autogain); + + EchoCancellationEnum get queryEchoDelayMs => EchoCancellationEnum.echoDelayMs; + EchoCancellationEnum get queryEchoAttenuation => + EchoCancellationEnum.echoAttenuation; +} + +class EchoCancellation extends _EchoCancellationInternal { + const EchoCancellation() : super(); + + FilterParam get echoDelayMs => FilterParam( + filterType, + EchoCancellationEnum.echoDelayMs.index, + EchoCancellationEnum.echoDelayMs.min, + EchoCancellationEnum.echoDelayMs.max, + ); + + FilterParam get echoAttenuation => FilterParam( + filterType, + EchoCancellationEnum.echoAttenuation.index, + EchoCancellationEnum.echoAttenuation.min, + EchoCancellationEnum.echoAttenuation.max, + ); +} diff --git a/lib/src/filters/filters.dart b/lib/src/filters/filters.dart new file mode 100644 index 0000000..16f319e --- /dev/null +++ b/lib/src/filters/filters.dart @@ -0,0 +1,131 @@ +import 'package:flutter_recorder/src/exceptions/exceptions.dart'; +import 'package:flutter_recorder/src/filters/autogain.dart'; +import 'package:flutter_recorder/src/filters/echo_cancellation.dart'; +import 'package:flutter_recorder/src/flutter_recorder.dart'; +import 'package:meta/meta.dart'; + +/// This class serves as a base for all audio filter methods. +abstract class FilterBase { + /// The base class common to all filters. It can be used to [activate], + /// [deactivate] or query its status and its index in the filter list. + const FilterBase(FilterType ft) : filterType = ft; + + /// The type of this filter. It can be used to get the number of its + /// parameters or the name of the filter. + final FilterType filterType; + + /// Activate this filter. + void activate() => filterType.activate(); + + /// Deactivate this filter. + void deactivate() => filterType.deactivate(); + + /// Returns `-1` if the filter is not active. Otherwise, returns + /// the index of this filter. + int get index => filterType.isActive(); + + /// Checks whether this filter is active. + bool get isActive => index >= 0; +} + +/// Filters instance used in [Recorder.filters]. +final class Filters { + /// The class to get access to all the filters available globally. + const Filters(); + + /// The `Auto Gain` filter. + AutoGain get autoGainFilter => const AutoGain(); + + /// The `Echo Cancellation` filter. + EchoCancellation get echoFilter => const EchoCancellation(); +} + +/// Common class for single and global filters. +class FilterParam { + /// Every filter parameter values can be set or get. + FilterParam( + this._type, + this._attributeId, + this._min, + this._max, + ); + + final FilterType _type; + final int _attributeId; + final double _min; + final double _max; + + /// Get the parameter value. + double get value => Recorder.instance.getFilterParamValue( + _type, + _attributeId, + ); + + /// Set the parameter value. + set value(double val) { + if (val < _min || val > _max) { + return; + } + Recorder.instance.setFilterParamValue( + _type, + _attributeId, + val, + ); + } +} + +/// The different types of audio filters. +enum FilterType { + /// Auto gain filter. + autogain(0), + + /// Echo cancellation filter. + echoCancellation(1); + + /// The number of parameter this filter owns. + final int value; + + // ignore: sort_constructors_first + const FilterType(this.value); + + /// Get the filter type from its value. + static FilterType fromValue(int value) => switch (value) { + 0 => autogain, + 1 => echoCancellation, + _ => throw ArgumentError('Unknown value for FilterType: $value'), + }; + + @override + String toString() => switch (this) { + FilterType.autogain => 'Auto Gain', + FilterType.echoCancellation => 'Echo Cancellation', + }; + + /// The number of parameter this filter owns. + int get numParameters => switch (this) { + FilterType.autogain => 6, + FilterType.echoCancellation => 2, + }; + + /// Activate this filter. + @internal + void activate() { + Recorder.instance.addFilter(this); + } + + /// Checks whether this filter is active. + /// + /// Returns `-1` if the filter is not active. Otherwise, returns + /// the index of the given filter. + @internal + int isActive() => Recorder.instance.isFilterActive(this); + + /// Deactivate this filter. + /// + /// Throws [RecorderFilterNotFoundException] if trying to remove a non active + /// filter. + @internal + void deactivate() { + Recorder.instance.removeFilter(this); + } +} diff --git a/lib/src/flutter_recorder.dart b/lib/src/flutter_recorder.dart index 0edbb72..4686648 100644 --- a/lib/src/flutter_recorder.dart +++ b/lib/src/flutter_recorder.dart @@ -1,13 +1,12 @@ // ignore_for_file: omit_local_variable_types // ignore_for_file: avoid_positional_boolean_parameters -import 'dart:typed_data'; - import 'package:flutter/foundation.dart'; import 'package:flutter_recorder/src/audio_data_container.dart'; import 'package:flutter_recorder/src/bindings/recorder.dart'; import 'package:flutter_recorder/src/enums.dart'; import 'package:flutter_recorder/src/exceptions/exceptions.dart'; +import 'package:flutter_recorder/src/filters/filters.dart'; /// Callback when silence state is changed. typedef SilenceCallback = void Function(bool isSilent, double decibel); @@ -63,6 +62,8 @@ interface class Recorder { /// ``` static final Recorder instance = Recorder._(); + final filters = const Filters(); + final _recoreder = RecorderController(); /// Listening to silence state changes. @@ -269,4 +270,50 @@ interface class Recorder { double getVolumeDb() { return _recoreder.impl.getVolumeDb(); } + + // /////////////////////// + // FILTERS + // /////////////////////// + + /// Check if a filter is active. + /// Return -1 if the filter is not active or its index. + int isFilterActive(FilterType filterType) { + return _recoreder.impl.isFilterActive(filterType); + } + + /// Add a filter. + /// + /// Throws [RecorderFilterAlreadyAddedException] if the filter has already + /// been added. + /// Throws [RecorderFilterNotFoundException] if the filter could not be found. + void addFilter(FilterType filterType) { + _recoreder.impl.addFilter(filterType); + } + + /// Remove a filter. + /// + /// Throws [RecorderFilterNotFoundException] if trying to a non active + /// filter. + CaptureErrors removeFilter(FilterType filterType) { + return _recoreder.impl.removeFilter(filterType); + } + + /// Get filter param names. + List getFilterParamNames(FilterType filterType) { + return _recoreder.impl.getFilterParamNames(filterType); + } + + /// Set filter param value. + void setFilterParamValue( + FilterType filterType, + int attributeId, + double value, + ) { + _recoreder.impl.setFilterParamValue(filterType, attributeId, value); + } + + /// Get filter param value. + double getFilterParamValue(FilterType filterType, int attributeId) { + return _recoreder.impl.getFilterParamValue(filterType, attributeId); + } } diff --git a/src/filters/autogain.cpp b/src/filters/autogain.cpp index 6287c16..d95ee56 100644 --- a/src/filters/autogain.cpp +++ b/src/filters/autogain.cpp @@ -7,7 +7,7 @@ AutoGain::AutoGain(unsigned int sampleRate) : mSampleRate(sampleRate), mCurrentGain(1.0f), mSmoothedRMS(0.0f), - mParams{ + mParams{ // def min max {TargetRMS, {0.1f, 0.01f, 0.5f}}, {AttackTime, {0.02f, 0.001f, 0.02f}}, {ReleaseTime, {0.2f, 0.01f, 0.2f}}, diff --git a/src/filters/echo_cancellation.cpp b/src/filters/echo_cancellation.cpp index 24f2e5a..18b1c94 100644 --- a/src/filters/echo_cancellation.cpp +++ b/src/filters/echo_cancellation.cpp @@ -8,7 +8,7 @@ EchoCancellation::EchoCancellation(unsigned int sampleRate) : mWriteIndex(0), - mParams{ + mParams{ // def min max {EchoDelayMs, {50.0f, 0.0f, 1000.0f}}, // Delay in ms (default, min, max) {EchoAttenuation, {0.7f, 0.0f, 1.0f}} // Attenuation (default, min, max) }, From 66aada11841f98fe3348edee75cd00ac1af9182e Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Tue, 26 Nov 2024 13:50:11 +0100 Subject: [PATCH 03/30] test autoGain --- .vscode/launch.json | 2 +- .vscode/tasks.json | 2 +- example/lib/loopback.dart | 438 ++++++++++++++++++ example/lib/main.dart | 7 + example/linux/flutter/generated_plugins.cmake | 1 + example/pubspec.lock | 39 ++ example/pubspec.yaml | 3 + .../windows/flutter/generated_plugins.cmake | 1 + lib/flutter_recorder.dart | 2 + lib/src/bindings/recorder.dart | 1 - lib/src/bindings/recorder_io.dart | 2 + lib/src/filters/autogain.dart | 10 +- lib/src/filters/echo_cancellation.dart | 8 +- lib/src/filters/filters.dart | 2 +- src/capture.cpp | 43 +- src/capture.h | 5 + src/filters/autogain.cpp | 32 +- src/filters/filters.cpp | 14 +- src/filters/filters.h | 2 +- src/flutter_recorder.cpp | 6 +- 20 files changed, 581 insertions(+), 39 deletions(-) create mode 100644 example/lib/loopback.dart diff --git a/.vscode/launch.json b/.vscode/launch.json index b6fb754..42a77cf 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,7 +8,7 @@ "name": "example debug", "request": "launch", "type": "dart", - "program": "lib/main.dart", + "program": "lib/loopback.dart", "cwd": "${workspaceFolder}/example" }, { diff --git a/.vscode/tasks.json b/.vscode/tasks.json index a5808d5..61698e2 100755 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -9,7 +9,7 @@ }, { "label": "compile linux debug", - "command": "cd ${workspaceFolder}/example; flutter build linux -t lib/main.dart --debug", + "command": "cd ${workspaceFolder}/example; flutter build linux -t lib/loopback.dart --debug", "type": "shell" }, { diff --git a/example/lib/loopback.dart b/example/lib/loopback.dart new file mode 100644 index 0000000..c4c0b44 --- /dev/null +++ b/example/lib/loopback.dart @@ -0,0 +1,438 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_recorder/flutter_recorder.dart'; +import 'package:flutter_recorder_example/ui/bars.dart'; +import 'package:flutter_soloud/flutter_soloud.dart'; +import 'package:permission_handler/permission_handler.dart'; + +/// Loopback example which uses `flutter_soloud` to play audio back to the +/// device from the microphone data stream. +/// +/// If you want to try other formats than `f32le`, you must comment out +/// the `Bars()` widget. +/// +/// No web support yet. +/// +/// The `Echo Cancellation` code is not yet ready and don't know if it will be! +void main() async { + runApp( + MaterialApp( + home: Scaffold( + appBar: AppBar( + title: Text('loopback and filter example'), + ), + body: Padding( + padding: const EdgeInsets.all(16.0), + child: LoopBack(), + ), + ), + ), + ); +} + +class LoopBack extends StatefulWidget { + const LoopBack({super.key}); + + @override + State createState() => _LoopBackState(); +} + +class _LoopBackState extends State { + final audioStreamChannels = Channels.mono; + final audioStreamFormat = BufferPcmType.f32le; + + final recorderChannels = RecorderChannels.mono; + final recorderFormat = PCMFormat.f32le; + + final sampleRate = 22050; + + final soloud = SoLoud.instance; + final recorder = Recorder.instance; + AudioSource? audioSource; + + bool autoGain = false; + // bool echoCancellation = false; + + @override + void initState() { + super.initState(); + if (defaultTargetPlatform == TargetPlatform.android || + defaultTargetPlatform == TargetPlatform.iOS) { + Permission.microphone.request().isGranted.then((value) async { + if (!value) { + await [Permission.microphone].request(); + } + }); + } + + /// Listen for microphne data. + recorder.uint8ListStream.listen((chunks) { + if (audioSource != null) { + soloud.addAudioDataStream( + audioSource!, + chunks.toF32List(from: PCMFormat.f32le).buffer.asUint8List(), + ); + } else { + initAudioSource(); + soloud + ..addAudioDataStream( + audioSource!, + chunks.toF32List(from: PCMFormat.f32le).buffer.asUint8List(), + ) + ..play(audioSource!, volume: 4); + } + }); + } + + /// Initialize the audio source + void initAudioSource() { + if (audioSource != null) disposeAudioSource(); + + audioSource = soloud.setBufferStream( + channels: audioStreamChannels, + pcmFormat: audioStreamFormat, + sampleRate: sampleRate, + bufferingTimeNeeds: 0.2, + ); + + audioSource!.allInstancesFinished.listen((data) async { + await soloud.disposeSource(audioSource!); + audioSource = null; + }); + } + + /// Dispose the audio source if it exists + Future disposeAudioSource() async { + if (audioSource == null) return; + + await soloud.disposeSource(audioSource!); + audioSource = null; + } + + @override + void dispose() { + soloud.deinit(); + recorder.deinit(); + super.dispose(); + } + + Future init() async { + /// Initialize the player and the recorder. + await soloud.init(channels: Channels.mono, sampleRate: sampleRate); + // soloud.filters.echoFilter.activate(); + // soloud.filters.echoFilter.delay.value = 0.1; + // soloud.filters.echoFilter.decay.value = 0.2; + + recorder + ..init( + format: recorderFormat, + sampleRate: sampleRate, + channels: recorderChannels, + ) + ..start() + ..startStreamingData(); + + setState(() {}); + } + + @override + Widget build(BuildContext context) { + const gap = SizedBox(width: 8, height: 8); + + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + // Start / Stop + Row( + mainAxisSize: MainAxisSize.min, + children: [ + OutlinedButton( + onPressed: () { + init(); + }, + child: const Text('Init loopback'), + ), + gap, + OutlinedButton( + onPressed: () { + soloud.deinit(); + recorder + ..stopStreamingData() + ..deinit(); + audioSource = null; + }, + child: const Text('Stop'), + ), + ], + ), + gap, + + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text('Auto gain'), + Checkbox( + value: autoGain, + onChanged: (v) { + if (v!) { + recorder.filters.autoGainFilter.activate(); + } else { + recorder.filters.autoGainFilter.deactivate(); + } + setState(() { + autoGain = v; + }); + }, + ), + // gap, + // gap, + // Text('Echo Cancellation'), + // Checkbox( + // value: echoCancellation, + // onChanged: (v) { + // if (v!) { + // recorder.filters.echoCancellationFilter.activate(); + // } else { + // recorder.filters.echoCancellationFilter.deactivate(); + // } + // setState(() { + // echoCancellation = v; + // }); + // }, + // ), + ], + ), + gap, + + if (autoGain) AutoGainSliders(), + + // if (echoCancellation) EchoCancellationSliders(), + + const Bars(), + ], + ); + } +} + +// class EchoCancellationSliders extends StatefulWidget { +// const EchoCancellationSliders({super.key}); + +// @override +// State createState() => +// _EchoCancellationSlidersState(); +// } + +// class _EchoCancellationSlidersState extends State { +// late final Recorder recorder; +// late final EchoCancellation echoCancellation; + +// @override +// void initState() { +// super.initState(); +// recorder = Recorder.instance; +// echoCancellation = recorder.filters.echoCancellationFilter; +// } + +// @override +// Widget build(BuildContext context) { +// return Column( +// children: [ +// Row( +// mainAxisSize: MainAxisSize.min, +// children: [ +// Text( +// '${echoCancellation.queryEchoDelayMs}: ' +// '${echoCancellation.echoDelayMs.value.toStringAsFixed(2)}', +// ), +// Expanded( +// child: Slider( +// value: echoCancellation.echoDelayMs.value, +// min: echoCancellation.queryEchoDelayMs.min, +// max: echoCancellation.queryEchoDelayMs.max, +// onChanged: (v) { +// setState(() { +// echoCancellation.echoDelayMs.value = v; +// }); +// }, +// ), +// ), +// ], +// ), +// Row( +// mainAxisSize: MainAxisSize.min, +// children: [ +// Text( +// '${echoCancellation.queryEchoAttenuation}: ' +// '${echoCancellation.echoAttenuation.value.toStringAsFixed(2)}', +// ), +// Expanded( +// child: Slider( +// value: echoCancellation.echoAttenuation.value, +// min: echoCancellation.queryEchoAttenuation.min, +// max: echoCancellation.queryEchoAttenuation.max, +// onChanged: (v) { +// setState(() { +// echoCancellation.echoAttenuation.value = v; +// }); +// }, +// ), +// ), +// ], +// ), +// ], +// ); +// } +// } + +class AutoGainSliders extends StatefulWidget { + const AutoGainSliders({super.key}); + + @override + State createState() => _AutoGainSlidersState(); +} + +class _AutoGainSlidersState extends State { + late final Recorder recorder; + late final AutoGain autoGain; + + @override + void initState() { + super.initState(); + recorder = Recorder.instance; + autoGain = recorder.filters.autoGainFilter; + } + + @override + Widget build(BuildContext context) { + return Column( + children: [ + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + '${autoGain.queryTargetRms}: ' + '${autoGain.targetRms.value.toStringAsFixed(2)}', + ), + Expanded( + child: Slider( + value: autoGain.targetRms.value, + min: autoGain.queryTargetRms.min, + max: autoGain.queryTargetRms.max, + onChanged: (v) { + setState(() { + autoGain.targetRms.value = v; + }); + }, + ), + ), + ], + ), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + '${autoGain.queryAttackTime}: ' + '${autoGain.attackTime.value.toStringAsFixed(2)}', + ), + Expanded( + child: Slider( + value: autoGain.attackTime.value, + min: autoGain.queryAttackTime.min, + max: autoGain.queryAttackTime.max, + onChanged: (v) { + setState(() { + autoGain.attackTime.value = v; + }); + }, + ), + ), + ], + ), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + '${autoGain.queryReleaseTime}: ' + '${autoGain.releaseTime.value.toStringAsFixed(2)}', + ), + Expanded( + child: Slider( + value: autoGain.releaseTime.value, + min: autoGain.queryReleaseTime.min, + max: autoGain.queryReleaseTime.max, + onChanged: (v) { + setState(() { + autoGain.releaseTime.value = v; + }); + }, + ), + ), + ], + ), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + '${autoGain.queryGainSmoothing}: ' + '${autoGain.gainSmoothing.value.toStringAsFixed(2)}', + ), + Expanded( + child: Slider( + value: autoGain.gainSmoothing.value, + min: autoGain.queryGainSmoothing.min, + max: autoGain.queryGainSmoothing.max, + onChanged: (v) { + setState(() { + autoGain.gainSmoothing.value = v; + }); + }, + ), + ), + ], + ), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + '${autoGain.queryMaxGain}: ' + '${autoGain.maxGain.value.toStringAsFixed(2)}', + ), + Expanded( + child: Slider( + value: autoGain.maxGain.value, + min: autoGain.queryMaxGain.min, + max: autoGain.queryMaxGain.max, + onChanged: (v) { + setState(() { + autoGain.maxGain.value = v; + }); + }, + ), + ), + ], + ), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + '${autoGain.queryMinGain}: ' + '${autoGain.minGain.value.toStringAsFixed(2)}', + ), + Expanded( + child: Slider( + value: autoGain.minGain.value, + min: autoGain.queryMinGain.min, + max: autoGain.queryMinGain.max, + onChanged: (v) { + setState(() { + autoGain.minGain.value = v; + }); + }, + ), + ), + ], + ), + ], + ); + } +} diff --git a/example/lib/main.dart b/example/lib/main.dart index a4669e0..bb823d5 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -280,6 +280,13 @@ class _MyAppState extends State { ), ], ), + + OutlinedButton( + onPressed: () { + _recorder.filters.autoGainFilter.activate(); + }, + child: const Text('autogain'), + ), // Threshold dB slider Row( mainAxisSize: MainAxisSize.max, diff --git a/example/linux/flutter/generated_plugins.cmake b/example/linux/flutter/generated_plugins.cmake index ed75c38..c7af760 100644 --- a/example/linux/flutter/generated_plugins.cmake +++ b/example/linux/flutter/generated_plugins.cmake @@ -7,6 +7,7 @@ list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_FFI_PLUGIN_LIST flutter_recorder + flutter_soloud ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/example/pubspec.lock b/example/pubspec.lock index fe3a76c..d800f35 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -85,6 +85,13 @@ packages: relative: true source: path version: "0.9.2" + flutter_soloud: + dependency: "direct main" + description: + path: "../../flutter_soloud" + relative: true + source: path + version: "2.1.7" flutter_test: dependency: "direct dev" description: flutter @@ -95,6 +102,22 @@ packages: description: flutter source: sdk version: "0.0.0" + http: + dependency: transitive + description: + name: http + sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 + url: "https://pub.dev" + source: hosted + version: "1.2.2" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" leak_tracker: dependency: transitive description: @@ -127,6 +150,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.0.0" + logging: + dependency: transitive + description: + name: logging + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 + url: "https://pub.dev" + source: hosted + version: "1.3.0" matcher: dependency: transitive description: @@ -332,6 +363,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.7.2" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" + source: hosted + version: "1.4.0" vector_math: dependency: transitive description: diff --git a/example/pubspec.yaml b/example/pubspec.yaml index d8426b9..b471dd5 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -13,6 +13,9 @@ dependencies: flutter_recorder: path: ../ + flutter_soloud: + path: ../../flutter_soloud + cupertino_icons: ^1.0.8 open_filex: ^4.5.0 path_provider: ^2.1.5 diff --git a/example/windows/flutter/generated_plugins.cmake b/example/windows/flutter/generated_plugins.cmake index e1ad92b..73f8c86 100644 --- a/example/windows/flutter/generated_plugins.cmake +++ b/example/windows/flutter/generated_plugins.cmake @@ -8,6 +8,7 @@ list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_FFI_PLUGIN_LIST flutter_recorder + flutter_soloud ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/lib/flutter_recorder.dart b/lib/flutter_recorder.dart index 8bbf087..2703872 100644 --- a/lib/flutter_recorder.dart +++ b/lib/flutter_recorder.dart @@ -3,4 +3,6 @@ library flutter_recorder; export 'src/audio_data_container.dart'; export 'src/enums.dart' show PCMFormat, RecorderChannels; +export 'src/filters/autogain.dart'; +export 'src/filters/echo_cancellation.dart'; export 'src/flutter_recorder.dart'; diff --git a/lib/src/bindings/recorder.dart b/lib/src/bindings/recorder.dart index ae50b9b..66d0e21 100644 --- a/lib/src/bindings/recorder.dart +++ b/lib/src/bindings/recorder.dart @@ -4,7 +4,6 @@ import 'dart:async'; import 'dart:typed_data'; import 'package:flutter_recorder/src/audio_data_container.dart'; -import 'package:flutter_recorder/src/bindings/flutter_recorder_bindings_generated.dart'; import 'package:flutter_recorder/src/enums.dart'; import 'package:flutter_recorder/src/exceptions/exceptions.dart'; import 'package:flutter_recorder/src/filters/filters.dart'; diff --git a/lib/src/bindings/recorder_io.dart b/lib/src/bindings/recorder_io.dart index e5dedac..3e8a23d 100644 --- a/lib/src/bindings/recorder_io.dart +++ b/lib/src/bindings/recorder_io.dart @@ -71,6 +71,8 @@ class RecorderFfi extends RecorderImpl { ); } + ffi.NativeCallable? + nativeStreamDataCallable; @override void setDartEventCallbacks() { // Create a NativeCallable for the Dart functions diff --git a/lib/src/filters/autogain.dart b/lib/src/filters/autogain.dart index 4e85db8..14a7e17 100644 --- a/lib/src/filters/autogain.dart +++ b/lib/src/filters/autogain.dart @@ -9,9 +9,9 @@ enum AutoGainEnum { maxGain, minGain; - final List _mins = const [0, 0, 0, 0, 0]; - final List _maxs = const [1, 1, 1, 1, 1]; - final List _defs = const [1, 0, 0.5, 0.5, 1]; + final List _defs = const [0.1, 0.1, 0.2, 0.05, 6, 0.2]; + final List _mins = const [0.01, 0.01, 0.01, 0.001, 1, 0.1]; + final List _maxs = const [1, 0.5, 0.5, 1, 6, 1]; double get min => _mins[index]; double get max => _maxs[index]; @@ -32,8 +32,8 @@ abstract class _AutoGainInternal extends FilterBase { const _AutoGainInternal() : super(FilterType.autogain); AutoGainEnum get queryTargetRms => AutoGainEnum.targetRms; - AutoGainEnum get queryAttack => AutoGainEnum.attackTime; - AutoGainEnum get queryRelease => AutoGainEnum.releaseTime; + AutoGainEnum get queryAttackTime => AutoGainEnum.attackTime; + AutoGainEnum get queryReleaseTime => AutoGainEnum.releaseTime; AutoGainEnum get queryGainSmoothing => AutoGainEnum.gainSmoothing; AutoGainEnum get queryMaxGain => AutoGainEnum.maxGain; AutoGainEnum get queryMinGain => AutoGainEnum.minGain; diff --git a/lib/src/filters/echo_cancellation.dart b/lib/src/filters/echo_cancellation.dart index ea12c21..f207e1a 100644 --- a/lib/src/filters/echo_cancellation.dart +++ b/lib/src/filters/echo_cancellation.dart @@ -5,9 +5,9 @@ enum EchoCancellationEnum { echoDelayMs, echoAttenuation; - final List _mins = const [0, 0, 0, 0, 0]; - final List _maxs = const [1, 1, 1, 1, 1]; - final List _defs = const [1, 0, 0.5, 0.5, 1]; + final List _defs = const [50, 0.7]; + final List _mins = const [0, 0]; + final List _maxs = const [1000, 1]; double get min => _mins[index]; double get max => _maxs[index]; @@ -21,7 +21,7 @@ enum EchoCancellationEnum { } abstract class _EchoCancellationInternal extends FilterBase { - const _EchoCancellationInternal() : super(FilterType.autogain); + const _EchoCancellationInternal() : super(FilterType.echoCancellation); EchoCancellationEnum get queryEchoDelayMs => EchoCancellationEnum.echoDelayMs; EchoCancellationEnum get queryEchoAttenuation => diff --git a/lib/src/filters/filters.dart b/lib/src/filters/filters.dart index 16f319e..e7a2a27 100644 --- a/lib/src/filters/filters.dart +++ b/lib/src/filters/filters.dart @@ -37,7 +37,7 @@ final class Filters { AutoGain get autoGainFilter => const AutoGain(); /// The `Echo Cancellation` filter. - EchoCancellation get echoFilter => const EchoCancellation(); + EchoCancellation get echoCancellationFilter => const EchoCancellation(); } /// Common class for single and global filters. diff --git a/src/capture.cpp b/src/capture.cpp index 1c6ad3c..6e86084 100644 --- a/src/capture.cpp +++ b/src/capture.cpp @@ -13,12 +13,14 @@ #define CLOCK_REALTIME 0 // struct timespec { long long tv_sec; long tv_nsec; }; //header part // Windows is not POSIX compliant. Implement this. -int clock_gettime(int, struct timespec *spec) //C-file part -{ __int64 wintime; GetSystemTimeAsFileTime((FILETIME*)&wintime); - wintime -=116444736000000000i64; //1jan1601 to 1jan1970 - spec->tv_sec =wintime / 10000000i64; //seconds - spec->tv_nsec =wintime % 10000000i64 *100; //nano-seconds - return 0; +int clock_gettime(int, struct timespec *spec) // C-file part +{ + __int64 wintime; + GetSystemTimeAsFileTime((FILETIME *)&wintime); + wintime -= 116444736000000000i64; // 1jan1601 to 1jan1970 + spec->tv_sec = wintime / 10000000i64; // seconds + spec->tv_nsec = wintime % 10000000i64 * 100; // nano-seconds + return 0; } #endif @@ -48,7 +50,7 @@ double getElapsed(struct timespec since) #define BUFFER_SIZE 1024 // Buffer length #define MOVING_AVERAGE_SIZE 4 // Moving average window size float capturedBuffer[BUFFER_SIZE]; -std::atomic is_silent{true}; // Initial state +std::atomic is_silent{true}; // Initial state bool delayed_silence_started = false; // Whether the silence is delayed std::atomic energy_db{-100.0f}; // Current energy @@ -164,11 +166,24 @@ void data_callback(ma_device *pDevice, void *pOutput, const void *pInput, ma_uin { // Process the captured audio data as needed. float *captured = (float *)(pInput); // Assuming float format + Capture *userData = (Capture *)pDevice->pUserData; + + // Apply filters + if (userData->mFilters->filters.size() > 0) + { + for (auto &filter : userData->mFilters->filters) + { + filter->filter->process( + captured, + frameCount, + userData->deviceConfig.capture.channels, + userData->deviceConfig.capture.format); + } + } + // Do something with the captured audio data... memcpy(capturedBuffer, captured, sizeof(float) * BUFFER_SIZE); - Capture *userData = (Capture *)pDevice->pUserData; - if (userData->deviceConfig.capture.format == ma_format_f32) calculateEnergy(captured, frameCount); @@ -178,9 +193,8 @@ void data_callback(ma_device *pDevice, void *pOutput, const void *pInput, ma_uin if (nativeStreamDataCallback != nullptr) { nativeStreamDataCallback( - (unsigned char*)captured, - frameCount * userData->bytesPerSample * userData->deviceConfig.capture.channels - ); + (unsigned char *)captured, + frameCount * userData->bytesPerSample * userData->deviceConfig.capture.channels); } } @@ -190,7 +204,8 @@ void data_callback(ma_device *pDevice, void *pOutput, const void *pInput, ma_uin detectSilence(userData); // Copy current buffer to circularBuffer - if (delayed_silence_started && userData->isRecording && userData->secondsOfAudioToWriteBefore > 0) { + if (delayed_silence_started && userData->isRecording && userData->secondsOfAudioToWriteBefore > 0) + { std::vector values(captured, captured + frameCount); circularBuffer.get()->push(values); } @@ -271,6 +286,7 @@ std::vector Capture::listCaptureDevices() } CaptureErrors Capture::init( + Filters *filters, int deviceID, PCMFormat pcmFormat, unsigned int sampleRate, @@ -326,6 +342,7 @@ CaptureErrors Capture::init( return captureInitFailed; } mInited = true; + mFilters = filters; return captureNoError; } diff --git a/src/capture.h b/src/capture.h index ca34f8d..aab55ef 100644 --- a/src/capture.h +++ b/src/capture.h @@ -8,6 +8,7 @@ #include #include +#include "filters/filters.h" struct CaptureDevice { @@ -29,12 +30,14 @@ class Capture /// @brief initialize the capture with a [deviceID]. A list of devices /// can be acquired with [listCaptureDevices]. /// If [deviceID] is -1, the default will be used + /// @param filters the filters /// @param deviceID the device ID chosen to be initialized /// @param pcmFormat the PCM format /// @param sampleRate the sample rate /// @param channels the number of channels /// @return `captureNoError` if no error or else `captureInitFailed` CaptureErrors init( + Filters *filters, int deviceID, PCMFormat pcmFormat, unsigned int sampleRate, @@ -99,6 +102,7 @@ class Capture /// the number of bytes per sample int bytesPerSample; + Filters *mFilters; private: ma_context context; ma_device_info *pPlaybackInfos; @@ -108,6 +112,7 @@ class Capture ma_result result; ma_device device; + /// true when the capture device is initialized. bool mInited; }; diff --git a/src/filters/autogain.cpp b/src/filters/autogain.cpp index d95ee56..810485d 100644 --- a/src/filters/autogain.cpp +++ b/src/filters/autogain.cpp @@ -6,21 +6,23 @@ #include AutoGain::AutoGain(unsigned int sampleRate) - : mSampleRate(sampleRate), mCurrentGain(1.0f), mSmoothedRMS(0.0f), + : mSampleRate(sampleRate), mCurrentGain(1.0f), mParams{ // def min max - {TargetRMS, {0.1f, 0.01f, 0.5f}}, - {AttackTime, {0.02f, 0.001f, 0.02f}}, - {ReleaseTime, {0.2f, 0.01f, 0.2f}}, - {GainSmoothing, {0.001f, 0.001f, 0.01f}}, + {TargetRMS, {0.1f, 0.01f, 1.f}}, + {AttackTime, {0.1f, 0.01f, 0.5f}}, + {ReleaseTime, {0.2f, 0.01f, 0.5f}}, + {GainSmoothing, {0.05f, 0.001f, 1.f}}, {MaxGain, {6.0f, 1.0f, 6.0f}}, - {MinGain, {0.2f, 0.1f, 0.2f}} + {MinGain, {0.2f, 0.1f, 1.f}} } { + mValues.resize(ParamCount); // Initialize values with defaults for (const auto &[param, range] : mParams) { mValues[param] = range.defaultVal; } + mSmoothedRMS = mValues[TargetRMS]; // Initialize with Target RMS } // Override parameter management methods @@ -97,12 +99,28 @@ void AutoGain::process(void *pInput, ma_uint32 frameCount, unsigned int channels // Calculate the target gain based on smoothed RMS float targetGain = getParamValue(TargetRMS) / (mSmoothedRMS + 1e-6f); + targetGain = std::min(targetGain, getParamValue(MaxGain)); targetGain = std::clamp(targetGain, getParamValue(MinGain), getParamValue(MaxGain)); + // if (mSmoothedRMS < 0.01f) { + // targetGain = getParamValue(MaxGain); // Boost gain to reach MinRMS. + // } else if (mSmoothedRMS > .1f) { + // targetGain = getParamValue(MinGain); // Lower gain to stay below MaxRMS. + // } else { + // targetGain = getParamValue(TargetRMS) / mSmoothedRMS; + // } // Smoothly adjust gain float smoothing = targetGain > mCurrentGain ? getParamValue(AttackTime) : getParamValue(ReleaseTime); mCurrentGain += (targetGain - mCurrentGain) * (1.0f - std::exp(-smoothing * getParamValue(GainSmoothing))); + mCurrentGain += (targetGain - mCurrentGain) * getParamValue(GainSmoothing); + // float delta = targetGain - mCurrentGain; + // if (std::abs(delta) > 0.001f) { // Adjust threshold as needed + // mCurrentGain += delta * getParamValue(GainSmoothing); + // } + printf("currentRMS: %f smoothedRMS: %f targetGain: %f currentGain: %f\n", + currentRMS, mSmoothedRMS, targetGain, mCurrentGain); + // Apply the gain to the input buffer applyGain((void *)pInput, frameCount, channels, format); } @@ -163,7 +181,7 @@ float AutoGain::calculateRMS(const void *pInput, ma_uint32 frameCount, unsigned // Exponential smoothing factor for RMS calculation float AutoGain::rmsSmoothingFactor() const { - float windowSizeSeconds = 0.1f; // Adjust smoothing window as needed + float windowSizeSeconds = 0.5f; // Adjust smoothing window as needed return 1.0f - std::exp(-1.0f / (windowSizeSeconds * mSampleRate)); } diff --git a/src/filters/filters.cpp b/src/filters/filters.cpp index d919eff..f3eac2d 100644 --- a/src/filters/filters.cpp +++ b/src/filters/filters.cpp @@ -100,8 +100,18 @@ void Filters::setFilterParams(FilterType filterType, int attributeId, float valu float Filters::getFilterParams(FilterType filterType, int attributeId) { int index = isFilterActive(filterType); - if (index < 0) - return 9999.0f; + // If not active return its default value + if (index < 0) { + switch (filterType) + { + case autogain: + return AutoGain(0).getParamDef(attributeId); + case echoCancellation: + return EchoCancellation(0).getParamDef(attributeId); + default: + return 9999.f; + } + } float ret = filters[index].get()->filter.get()->getParamValue(attributeId); diff --git a/src/filters/filters.h b/src/filters/filters.h index d3ba927..336edbc 100644 --- a/src/filters/filters.h +++ b/src/filters/filters.h @@ -48,7 +48,7 @@ class Filters float getFilterParams(FilterType filterType, int attributeId); unsigned int mSamplerate; -private: + std::vector> filters; }; diff --git a/src/flutter_recorder.cpp b/src/flutter_recorder.cpp index 2fdadde..0e35705 100644 --- a/src/flutter_recorder.cpp +++ b/src/flutter_recorder.cpp @@ -17,7 +17,7 @@ Capture capture; std::unique_ptr analyzerCapture = std::make_unique(256); -std::unique_ptr mFilters = nullptr; +std::unique_ptr mFilters = std::make_unique(0); dartSilenceChangedCallback_t dartSilenceChangedCallback; dartSilenceChangedCallback_t nativeSilenceChangedCallback; @@ -179,12 +179,12 @@ FFI_PLUGIN_EXPORT enum CaptureErrors init( unsigned int sampleRate, unsigned int channels) { - CaptureErrors res = capture.init(deviceID, (PCMFormat)pcmFormat, sampleRate, channels); - if (mFilters != nullptr || mFilters.get()->mSamplerate != sampleRate) + if (!mFilters || mFilters.get()->mSamplerate != sampleRate) { mFilters.reset(); mFilters = std::make_unique(sampleRate); } + CaptureErrors res = capture.init(mFilters.get(), deviceID, (PCMFormat)pcmFormat, sampleRate, channels); return res; } From ccd2be561bd1131e0338eed7b2553b1779b22c5e Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Tue, 26 Nov 2024 14:05:51 +0100 Subject: [PATCH 04/30] autoGainFilter doc --- example/lib/loopback.dart | 2 +- lib/src/filters/filters.dart | 67 ++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/example/lib/loopback.dart b/example/lib/loopback.dart index c4c0b44..cca2e77 100644 --- a/example/lib/loopback.dart +++ b/example/lib/loopback.dart @@ -10,7 +10,7 @@ import 'package:permission_handler/permission_handler.dart'; /// /// If you want to try other formats than `f32le`, you must comment out /// the `Bars()` widget. -/// +/// /// No web support yet. /// /// The `Echo Cancellation` code is not yet ready and don't know if it will be! diff --git a/lib/src/filters/filters.dart b/lib/src/filters/filters.dart index e7a2a27..be210f0 100644 --- a/lib/src/filters/filters.dart +++ b/lib/src/filters/filters.dart @@ -34,6 +34,73 @@ final class Filters { const Filters(); /// The `Auto Gain` filter. + /// + /// 1. **Target RMS Level (g_targetRMS)** + /// - Purpose: Sets the desired loudness level. + /// - Typical Value: + /// - For speech: 0.05 to 0.2 (RMS values in the -1.0 to +1.0 range). + /// - For music: 0.1 to 0.3. + /// - Adjust to: Match the desired loudness without introducing excessive + /// distortion or artifacts. + /// 2. **Attack Time (g_attackTime)** + /// - Purpose: Determines how quickly the gain increases when the signal + /// level is below the target. + /// - Typical Value: 0.005 to 0.05 seconds. + /// - Faster attack (e.g., 0.005) ensures quick response to sudden volume + /// drops, but may sound unnatural. + /// - Slower attack (e.g., 0.02-0.05) smoothens gain changes. + /// 3. **Release Time (g_releaseTime)** + /// - Purpose: Determines how quickly the gain decreases when the signal + /// level is above the target. + /// - Typical Value: 0.05 to 0.5 seconds. + /// - Short release (e.g., 0.05-0.1) responds quickly to loud bursts but + /// risks unnatural pumping effects. + /// - Long release (e.g., 0.2-0.5) creates smoother transitions for + /// dynamic content like music. + /// 4. **Gain Smoothing (g_gainSmoothing)** + /// - Purpose: Controls how quickly the gain changes overall, acting as + /// a dampening factor. + /// - Typical Value: 0.01 to 0.1. + /// - Lower values (e.g., 0.01) result in slow gain adjustments, reducing + /// artifacts but possibly underreacting to fast changes. + /// - Higher values (e.g., 0.05-0.1) provide faster responsiveness but + /// may sound less smooth. + /// 5. **Maximum Gain (g_maxGain)** + /// - Purpose: Caps the maximum amplification to avoid over-amplification + /// or distortion. + /// - Typical Value: 4.0 to 10.0. + /// - Adjust to: Match the dynamic range of the input; keep lower for + /// highly dynamic signals to prevent clipping. + /// 6. **Minimum Gain (g_minGain)** + /// - Purpose: Prevents excessive attenuation of the signal. + /// - Typical Value: 0.1 to 0.5. + /// - Adjust to: Avoid muting low signals unless silence is acceptable. + /// + /// #### Recommended Settings for Common Scenarios + /// + /// **Speech in a Noisy Environment** + /// - targetRMS = 0.1f + /// - attackTime = 0.02f + /// - releaseTime = 0.2f + /// - gainSmoothing = 0.01f + /// - maxGain = 6.0f + /// - minGain = 0.2f + /// + /// **Music Playback** + /// - targetRMS = 0.2f + /// - attackTime = 0.01f + /// - releaseTime = 0.3f + /// - gainSmoothing = 0.05f + /// - maxGain = 4.0f + /// - minGain = 0.1f + /// + /// **Podcast Recording** + /// - targetRMS = 0.15f + /// - attackTime = 0.02f + /// - releaseTime = 0.2f + /// - gainSmoothing = 0.03f + /// - maxGain = 5.0f + /// - minGain = 0.1f AutoGain get autoGainFilter => const AutoGain(); /// The `Echo Cancellation` filter. From d3107e0125ac56ee18c0b79c0fb1368475cd9f31 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Tue, 26 Nov 2024 14:12:37 +0100 Subject: [PATCH 05/30] ++ --- example/lib/loopback.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/example/lib/loopback.dart b/example/lib/loopback.dart index cca2e77..f348744 100644 --- a/example/lib/loopback.dart +++ b/example/lib/loopback.dart @@ -6,7 +6,8 @@ import 'package:flutter_soloud/flutter_soloud.dart'; import 'package:permission_handler/permission_handler.dart'; /// Loopback example which uses `flutter_soloud` to play audio back to the -/// device from the microphone data stream. +/// device from the microphone data stream. Please try it with headset to +/// prevent audio feedback. /// /// If you want to try other formats than `f32le`, you must comment out /// the `Bars()` widget. From ec31a02f63a0692ce31d005c32cb80a72410da76 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Wed, 27 Nov 2024 10:44:35 +0100 Subject: [PATCH 06/30] added c++17 for mac and iOS --- example/pubspec.lock | 8 +++++--- example/pubspec.yaml | 5 ++++- ios/Classes/flutter_recorder.mm | 1 + ios/flutter_recorder.podspec | 6 +++++- lib/src/bindings/recorder.dart | 11 ++++++++++- lib/src/flutter_recorder.dart | 8 ++++++++ macos/Classes/flutter_recorder.mm | 1 + macos/flutter_recorder.podspec | 5 ++++- 8 files changed, 38 insertions(+), 7 deletions(-) diff --git a/example/pubspec.lock b/example/pubspec.lock index d800f35..0ff3374 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -88,9 +88,11 @@ packages: flutter_soloud: dependency: "direct main" description: - path: "../../flutter_soloud" - relative: true - source: path + path: "." + ref: main + resolved-ref: "551f541c1096158338bba3241add1ef73b591ee3" + url: "https://github.com/alnitak/flutter_soloud.git" + source: git version: "2.1.7" flutter_test: dependency: "direct dev" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index b471dd5..87f8f64 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -14,7 +14,10 @@ dependencies: path: ../ flutter_soloud: - path: ../../flutter_soloud + # path: ../../flutter_soloud # for development + git: + url: https://github.com/alnitak/flutter_soloud.git + ref: main cupertino_icons: ^1.0.8 open_filex: ^4.5.0 diff --git a/ios/Classes/flutter_recorder.mm b/ios/Classes/flutter_recorder.mm index 951683d..b0200f1 100644 --- a/ios/Classes/flutter_recorder.mm +++ b/ios/Classes/flutter_recorder.mm @@ -6,3 +6,4 @@ #include "../../src/capture.cpp" #include "../../src/fft/soloud_fft.cpp" #include "../../src/filters/autogain.cpp" +#include "../../src/filters/echo_cancellation.cpp" diff --git a/ios/flutter_recorder.podspec b/ios/flutter_recorder.podspec index 7a6faea..4094769 100644 --- a/ios/flutter_recorder.podspec +++ b/ios/flutter_recorder.podspec @@ -23,6 +23,10 @@ A new Flutter FFI plugin project. s.platform = :ios, '12.0' # Flutter.framework does not contain a i386 slice. - s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } + s.pod_target_xcconfig = { + 'DEFINES_MODULE' => 'YES', + 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386', + "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" + } s.swift_version = '5.0' end diff --git a/lib/src/bindings/recorder.dart b/lib/src/bindings/recorder.dart index 66d0e21..060ed65 100644 --- a/lib/src/bindings/recorder.dart +++ b/lib/src/bindings/recorder.dart @@ -182,19 +182,28 @@ abstract class RecorderImpl { void setFftSmoothing(double smooth); /// Return a 256 float array containing FFT data in the range [-1.0, 1.0] - /// not clamped.@mustBeOverridden + /// not clamped. + /// + /// **NOTE**: use this only with format [PCMFormat.f32le]. + @mustBeOverridden Float32List getFft(); /// Return a 256 float array containing wave data in the range [-1.0, 1.0]. + /// + /// **NOTE**: use this only with format [PCMFormat.f32le]. @mustBeOverridden Float32List getWave(); /// Get the audio data representing an array of 256 floats FFT data and /// 256 float of wave data. + /// + /// **NOTE**: use this only with format [PCMFormat.f32le]. @mustBeOverridden Float32List getTexture2D(); /// Get the current volume in dB. Returns -100 if the capture is not inited. + /// + /// **NOTE**: use this only with format [PCMFormat.f32le]. @mustBeOverridden double getVolumeDb(); diff --git a/lib/src/flutter_recorder.dart b/lib/src/flutter_recorder.dart index 4686648..d13d57d 100644 --- a/lib/src/flutter_recorder.dart +++ b/lib/src/flutter_recorder.dart @@ -249,24 +249,32 @@ interface class Recorder { /// Return a 256 float array containing FFT data in the range [-1.0, 1.0] /// not clamped. + /// + /// **NOTE**: use this only with format [PCMFormat.f32le]. Float32List getFft() { return _recoreder.impl.getFft(); } /// Return a 256 float array containing wave data in the range [-1.0, 1.0] /// not clamped. + /// + /// **NOTE**: use this only with format [PCMFormat.f32le]. Float32List getWave() { return _recoreder.impl.getWave(); } /// Get the audio data representing an array of 256 floats FFT data and /// 256 float of wave data. + /// + /// **NOTE**: use this only with format [PCMFormat.f32le]. Float32List getTexture2D() { return _recoreder.impl.getTexture2D(); } /// Get the current volume in dB. Returns -100 if the capture is not inited. /// 0 is the max volume the capture device can handle. + /// + /// **NOTE**: use this only with format [PCMFormat.f32le]. double getVolumeDb() { return _recoreder.impl.getVolumeDb(); } diff --git a/macos/Classes/flutter_recorder.mm b/macos/Classes/flutter_recorder.mm index 951683d..b0200f1 100644 --- a/macos/Classes/flutter_recorder.mm +++ b/macos/Classes/flutter_recorder.mm @@ -6,3 +6,4 @@ #include "../../src/capture.cpp" #include "../../src/fft/soloud_fft.cpp" #include "../../src/filters/autogain.cpp" +#include "../../src/filters/echo_cancellation.cpp" diff --git a/macos/flutter_recorder.podspec b/macos/flutter_recorder.podspec index bc5d37d..7ba81be 100644 --- a/macos/flutter_recorder.podspec +++ b/macos/flutter_recorder.podspec @@ -22,6 +22,9 @@ A new Flutter FFI plugin project. s.dependency 'FlutterMacOS' s.platform = :osx, '10.11' - s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } + s.pod_target_xcconfig = { + 'DEFINES_MODULE' => 'YES', + "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" + } s.swift_version = '5.0' end From 8c229ed288945e38f7ca314e45e08e15e3c3e394 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Wed, 27 Nov 2024 11:26:04 +0100 Subject: [PATCH 07/30] fix compilation for macand iOS --- example/macos/Podfile | 2 +- example/macos/Podfile.lock | 17 +++++++++++++++-- ios/Classes/flutter_recorder.mm | 1 + macos/Classes/flutter_recorder.mm | 1 + 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/example/macos/Podfile b/example/macos/Podfile index c795730..b52666a 100644 --- a/example/macos/Podfile +++ b/example/macos/Podfile @@ -1,4 +1,4 @@ -platform :osx, '10.14' +platform :osx, '10.15' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/example/macos/Podfile.lock b/example/macos/Podfile.lock index 449033c..dcf9e6b 100644 --- a/example/macos/Podfile.lock +++ b/example/macos/Podfile.lock @@ -1,22 +1,35 @@ PODS: - flutter_recorder (0.0.1): - FlutterMacOS + - flutter_soloud (0.0.1): + - FlutterMacOS - FlutterMacOS (1.0.0) + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS DEPENDENCIES: - flutter_recorder (from `Flutter/ephemeral/.symlinks/plugins/flutter_recorder/macos`) + - flutter_soloud (from `Flutter/ephemeral/.symlinks/plugins/flutter_soloud/macos`) - FlutterMacOS (from `Flutter/ephemeral`) + - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) EXTERNAL SOURCES: flutter_recorder: :path: Flutter/ephemeral/.symlinks/plugins/flutter_recorder/macos + flutter_soloud: + :path: Flutter/ephemeral/.symlinks/plugins/flutter_soloud/macos FlutterMacOS: :path: Flutter/ephemeral + path_provider_foundation: + :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin SPEC CHECKSUMS: - flutter_recorder: 895009aae0b73e643ee1e9f0efa1ae2c69a9c111 + flutter_recorder: a7b07f6258f4edf917b6232e6ef9f699c0716db6 + flutter_soloud: 401bea07fc43636ab5c6777f7adf691403d0ea48 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 -PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367 +PODFILE CHECKSUM: 9ebaf0ce3d369aaa26a9ea0e159195ed94724cf3 COCOAPODS: 1.15.2 diff --git a/ios/Classes/flutter_recorder.mm b/ios/Classes/flutter_recorder.mm index b0200f1..0b2c48b 100644 --- a/ios/Classes/flutter_recorder.mm +++ b/ios/Classes/flutter_recorder.mm @@ -5,5 +5,6 @@ #include "../../src/analyzer.cpp" #include "../../src/capture.cpp" #include "../../src/fft/soloud_fft.cpp" +#include "../../src/filters/filters.cpp" #include "../../src/filters/autogain.cpp" #include "../../src/filters/echo_cancellation.cpp" diff --git a/macos/Classes/flutter_recorder.mm b/macos/Classes/flutter_recorder.mm index b0200f1..0b2c48b 100644 --- a/macos/Classes/flutter_recorder.mm +++ b/macos/Classes/flutter_recorder.mm @@ -5,5 +5,6 @@ #include "../../src/analyzer.cpp" #include "../../src/capture.cpp" #include "../../src/fft/soloud_fft.cpp" +#include "../../src/filters/filters.cpp" #include "../../src/filters/autogain.cpp" #include "../../src/filters/echo_cancellation.cpp" From a1c8a1a639c043176a2dd7bf96852526dfc678ee Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Wed, 27 Nov 2024 13:23:44 +0100 Subject: [PATCH 08/30] mac and iOS compilation fix --- example/ios/Podfile | 2 +- example/ios/Podfile.lock | 47 +++++++ example/ios/Runner.xcodeproj/project.pbxproj | 132 ++++++++++++++++++ .../contents.xcworkspacedata | 3 + example/macos/Podfile.lock | 2 +- ios/flutter_recorder.podspec | 1 + macos/flutter_recorder.podspec | 1 + 7 files changed, 186 insertions(+), 2 deletions(-) create mode 100644 example/ios/Podfile.lock diff --git a/example/ios/Podfile b/example/ios/Podfile index d97f17e..3e44f9c 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '12.0' +platform :ios, '13.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock new file mode 100644 index 0000000..524c948 --- /dev/null +++ b/example/ios/Podfile.lock @@ -0,0 +1,47 @@ +PODS: + - Flutter (1.0.0) + - flutter_recorder (0.0.1): + - Flutter + - flutter_soloud (0.0.1): + - Flutter + - open_filex (0.0.2): + - Flutter + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS + - permission_handler_apple (9.3.0): + - Flutter + +DEPENDENCIES: + - Flutter (from `Flutter`) + - flutter_recorder (from `.symlinks/plugins/flutter_recorder/ios`) + - flutter_soloud (from `.symlinks/plugins/flutter_soloud/ios`) + - open_filex (from `.symlinks/plugins/open_filex/ios`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) + - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) + +EXTERNAL SOURCES: + Flutter: + :path: Flutter + flutter_recorder: + :path: ".symlinks/plugins/flutter_recorder/ios" + flutter_soloud: + :path: ".symlinks/plugins/flutter_soloud/ios" + open_filex: + :path: ".symlinks/plugins/open_filex/ios" + path_provider_foundation: + :path: ".symlinks/plugins/path_provider_foundation/darwin" + permission_handler_apple: + :path: ".symlinks/plugins/permission_handler_apple/ios" + +SPEC CHECKSUMS: + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + flutter_recorder: 35999d791bb08147db8b8b8167f8a5e561f68237 + flutter_soloud: 12a37f5fb426c94671d762cbb059bbeb1b46ad97 + open_filex: 6e26e659846ec990262224a12ef1c528bb4edbe4 + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 + permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 + +PODFILE CHECKSUM: a57f30d18f102dd3ce366b1d62a55ecbef2158e5 + +COCOAPODS: 1.15.2 diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index 88fbc77..781af60 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -8,12 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 1D9A259E0A65BDED58FC0E1F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 386A598177C879C697502420 /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 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 */; }; + AF107EE89F8D5B266B88F910 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48AB80419F76EED8831B97A1 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -40,28 +42,45 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 1037086DD8093E5D23D52CAC /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.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 = ""; }; + 17C4B834173960B42203FCB0 /* 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 = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 386A598177C879C697502420 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 48AB80419F76EED8831B97A1 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 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 = ""; }; + 97747679D6BD3814C0AA87F2 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.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 = ""; }; + C2AA768158B1BFD9B1338F04 /* 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 = ""; }; + DACD54B8B76D7B3084F7E8C0 /* 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 = ""; }; + F700F8D25769228B66ED2553 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 47E16123D84EC497B2A5DA52 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + AF107EE89F8D5B266B88F910 /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 1D9A259E0A65BDED58FC0E1F /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -94,6 +113,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, + F82E1D2DC785D9CB3A8AD804 /* Pods */, + A45EDF3789BB2E7140660151 /* Frameworks */, ); sourceTree = ""; }; @@ -121,6 +142,28 @@ path = Runner; sourceTree = ""; }; + A45EDF3789BB2E7140660151 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 386A598177C879C697502420 /* Pods_Runner.framework */, + 48AB80419F76EED8831B97A1 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + F82E1D2DC785D9CB3A8AD804 /* Pods */ = { + isa = PBXGroup; + children = ( + DACD54B8B76D7B3084F7E8C0 /* Pods-Runner.debug.xcconfig */, + C2AA768158B1BFD9B1338F04 /* Pods-Runner.release.xcconfig */, + 17C4B834173960B42203FCB0 /* Pods-Runner.profile.xcconfig */, + F700F8D25769228B66ED2553 /* Pods-RunnerTests.debug.xcconfig */, + 97747679D6BD3814C0AA87F2 /* Pods-RunnerTests.release.xcconfig */, + 1037086DD8093E5D23D52CAC /* Pods-RunnerTests.profile.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -128,8 +171,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( + B2599692132BCEBD1783036A /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, + 47E16123D84EC497B2A5DA52 /* Frameworks */, ); buildRules = ( ); @@ -145,12 +190,15 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + 440CCA47AA7F2FA70FBC0828 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + DD3FAE5D7FDD9B0A42D6A8B7 /* [CP] Embed Pods Frameworks */, + 9A151FA45FF56BE9607BC7C7 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -238,6 +286,28 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; + 440CCA47AA7F2FA70FBC0828 /* [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; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -253,6 +323,62 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; + 9A151FA45FF56BE9607BC7C7 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + B2599692132BCEBD1783036A /* [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-RunnerTests-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; + }; + DD3FAE5D7FDD9B0A42D6A8B7 /* [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; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -370,6 +496,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterRecorderExample; PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_STYLE = "non-global"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; @@ -378,6 +505,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = F700F8D25769228B66ED2553 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -395,6 +523,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 97747679D6BD3814C0AA87F2 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -410,6 +539,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 1037086DD8093E5D23D52CAC /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -549,6 +679,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterRecorderExample; PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_STYLE = "non-global"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -571,6 +702,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterRecorderExample; PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_STYLE = "non-global"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; diff --git a/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/example/ios/Runner.xcworkspace/contents.xcworkspacedata index 1d526a1..21a3cc1 100644 --- a/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ b/example/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -4,4 +4,7 @@ + + diff --git a/example/macos/Podfile.lock b/example/macos/Podfile.lock index dcf9e6b..7ad0add 100644 --- a/example/macos/Podfile.lock +++ b/example/macos/Podfile.lock @@ -25,7 +25,7 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin SPEC CHECKSUMS: - flutter_recorder: a7b07f6258f4edf917b6232e6ef9f699c0716db6 + flutter_recorder: 22eb5e16dae4d05a71c6d119be8d68128b78f3aa flutter_soloud: 401bea07fc43636ab5c6777f7adf691403d0ea48 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 diff --git a/ios/flutter_recorder.podspec b/ios/flutter_recorder.podspec index 4094769..e6ff0bd 100644 --- a/ios/flutter_recorder.podspec +++ b/ios/flutter_recorder.podspec @@ -29,4 +29,5 @@ A new Flutter FFI plugin project. "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" } s.swift_version = '5.0' + s.ios.framework = ['AudioToolbox', 'AVFoundation'] end diff --git a/macos/flutter_recorder.podspec b/macos/flutter_recorder.podspec index 7ba81be..1a9177f 100644 --- a/macos/flutter_recorder.podspec +++ b/macos/flutter_recorder.podspec @@ -27,4 +27,5 @@ A new Flutter FFI plugin project. "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" } s.swift_version = '5.0' + s.framework = ['AudioToolbox', 'AVFoundation'] end From 4136e336d41617bb7da5202c26e514559b27ef93 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Wed, 11 Dec 2024 08:21:29 +0100 Subject: [PATCH 09/30] web wip --- example/lib/loopback.dart | 3 +- example/pubspec.lock | 10 ++--- example/pubspec.yaml | 8 ++-- lib/src/bindings/js_extension.dart | 26 ++++++++++++ lib/src/bindings/recorder_web.dart | 60 ++++++++++++++++++++++++++++ web/compile_wasm.sh | 3 ++ web/libflutter_recorder_plugin.js | 2 +- web/libflutter_recorder_plugin.wasm | Bin 148251 -> 274011 bytes web/worker.dart.js.map | 4 +- 9 files changed, 102 insertions(+), 14 deletions(-) diff --git a/example/lib/loopback.dart b/example/lib/loopback.dart index f348744..8d23ef7 100644 --- a/example/lib/loopback.dart +++ b/example/lib/loopback.dart @@ -119,6 +119,7 @@ class _LoopBackState extends State { Future init() async { /// Initialize the player and the recorder. + soloud.deinit(); await soloud.init(channels: Channels.mono, sampleRate: sampleRate); // soloud.filters.echoFilter.activate(); // soloud.filters.echoFilter.delay.value = 0.1; @@ -209,7 +210,7 @@ class _LoopBackState extends State { // if (echoCancellation) EchoCancellationSliders(), - const Bars(), + // const Bars(), ], ); } diff --git a/example/pubspec.lock b/example/pubspec.lock index 0ff3374..a8f5a06 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -88,12 +88,10 @@ packages: flutter_soloud: dependency: "direct main" description: - path: "." - ref: main - resolved-ref: "551f541c1096158338bba3241add1ef73b591ee3" - url: "https://github.com/alnitak/flutter_soloud.git" - source: git - version: "2.1.7" + path: "../../flutter_soloud" + relative: true + source: path + version: "2.1.8" flutter_test: dependency: "direct dev" description: flutter diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 87f8f64..ee42066 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -14,10 +14,10 @@ dependencies: path: ../ flutter_soloud: - # path: ../../flutter_soloud # for development - git: - url: https://github.com/alnitak/flutter_soloud.git - ref: main + path: ../../flutter_soloud # for development + # git: + # url: https://github.com/alnitak/flutter_soloud.git + # ref: main cupertino_icons: ^1.0.8 open_filex: ^4.5.0 diff --git a/lib/src/bindings/js_extension.dart b/lib/src/bindings/js_extension.dart index cacb3d6..883f532 100644 --- a/lib/src/bindings/js_extension.dart +++ b/lib/src/bindings/js_extension.dart @@ -135,3 +135,29 @@ external void wasmGetTexture2D(int samplesPtr); @JS('Module._getVolumeDb') external void wasmGetVolumeDb(int volumeDbPtr); + +@JS('Module._isFilterActive') +external int wasmIsFilterActive(int filterTypeId); + +@JS('Module._addFilter') +external int wasmAddFilter(int filterTypeId); + +@JS('Module._removeFilter') +external int wasmRemoveFilter(int filterTypeId); + +@JS('Module._getFilterParamNames') +external int wasmGetFilterParamNames( + int filterTypeId, + int namesPtr, + int paramsCountPtr, +); + +@JS('Module._setFilterParamValue') +external void wasmSetFilterParamValue( + int filterTypeId, + int attributeId, + double value, +); + +@JS('Module._getFilterParamValue') +external double wasmGetFilterParamValue(int filterTypeId, int attributeId); diff --git a/lib/src/bindings/recorder_web.dart b/lib/src/bindings/recorder_web.dart index eb013ed..2f1176f 100644 --- a/lib/src/bindings/recorder_web.dart +++ b/lib/src/bindings/recorder_web.dart @@ -9,6 +9,7 @@ import 'package:flutter_recorder/src/bindings/js_extension.dart'; import 'package:flutter_recorder/src/bindings/recorder.dart'; import 'package:flutter_recorder/src/enums.dart'; import 'package:flutter_recorder/src/exceptions/exceptions.dart'; +import 'package:flutter_recorder/src/filters/filters.dart'; import 'package:flutter_recorder/src/flutter_recorder.dart'; import 'package:flutter_recorder/src/worker/worker.dart'; import 'package:meta/meta.dart'; @@ -282,4 +283,63 @@ class RecorderWeb extends RecorderImpl { wasmFree(volumeDbPtr); return volumeDb; } + + @override + int isFilterActive(FilterType filterType) { + return wasmIsFilterActive(filterType.value); + } + + @override + void addFilter(FilterType filterType) { + final error = wasmAddFilter(filterType.value); + if (CaptureErrors.fromValue(error) != CaptureErrors.captureNoError) { + throw RecorderCppException.fromRecorderError( + CaptureErrors.fromValue(error), + ); + } + } + + @override + CaptureErrors removeFilter(FilterType filterType) { + final error = wasmRemoveFilter(filterType.value); + if (CaptureErrors.fromValue(error) != CaptureErrors.captureNoError) { + throw RecorderCppException.fromRecorderError( + CaptureErrors.fromValue(error), + ); + } + return CaptureErrors.fromValue(error); + } + + @override + List getFilterParamNames(FilterType filterType) { + final namesPtr = wasmMalloc(4); + final paramsCountPtr = wasmMalloc(4); + wasmGetFilterParamNames(filterType.value, namesPtr, paramsCountPtr); + final namesPtr2 = wasmGetI32Value(namesPtr, '*'); + final paramsCount = wasmGetI32Value(paramsCountPtr, '*'); + final names = []; + for (var i = 0; i < paramsCount; i++) { + final namePtr = wasmGetI32Value(namesPtr2 + i * 4, '*'); + final name = wasmUtf8ToString(namePtr); + names.add(name); + } + wasmFree(namesPtr); + wasmFree(paramsCountPtr); + return names; + } + + @override + void setFilterParamValue( + FilterType filterType, + int attributeId, + double value, + ) { + wasmSetFilterParamValue(filterType.value, attributeId, value); + } + + @override + double getFilterParamValue(FilterType filterType, int attributeId) { + final value = wasmGetFilterParamValue(filterType.value, attributeId); + return value; + } } diff --git a/web/compile_wasm.sh b/web/compile_wasm.sh index 0c893c5..ca1719f 100755 --- a/web/compile_wasm.sh +++ b/web/compile_wasm.sh @@ -16,6 +16,9 @@ em++ \ ../../src/capture.cpp \ ../../src/analyzer.cpp \ ../../src/fft/soloud_fft.cpp \ +../../src/filters/filters.cpp \ +../../src/filters/autogain.cpp \ +../../src/filters/echo_cancellation.cpp \ -O3 \ -msimd128 -msse3 \ -s "EXPORTED_RUNTIME_METHODS=['ccall','cwrap']" \ diff --git a/web/libflutter_recorder_plugin.js b/web/libflutter_recorder_plugin.js index 14515f3..05dc5c0 100644 --- a/web/libflutter_recorder_plugin.js +++ b/web/libflutter_recorder_plugin.js @@ -1 +1 @@ -var Module=typeof Module!="undefined"?Module:{};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{if(isFileURI(url)){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null);return}fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))}).then(onload,onerror)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];function getSafeHeapType(bytes,isFloat){switch(bytes){case 1:return"i8";case 2:return"i16";case 4:return isFloat?"float":"i32";case 8:return isFloat?"double":"i64";default:abort(`getSafeHeapType() invalid bytes=${bytes}`)}}function SAFE_HEAP_STORE(dest,value,bytes,isFloat){if(dest<=0)abort(`segmentation fault storing ${bytes} bytes to address ${dest}`);if(dest%bytes!==0)abort(`alignment error storing to address ${dest}, which was expected to be aligned to a multiple of ${bytes}`);if(runtimeInitialized){var brk=_sbrk(0);if(dest+bytes>brk)abort(`segmentation fault, exceeded the top of the available dynamic heap when storing ${bytes} bytes to address ${dest}. DYNAMICTOP=${brk}`);if(brk<_emscripten_stack_get_base())abort(`brk >= _emscripten_stack_get_base() (brk=${brk}, _emscripten_stack_get_base()=${_emscripten_stack_get_base()})`);if(brk>wasmMemory.buffer.byteLength)abort(`brk <= wasmMemory.buffer.byteLength (brk=${brk}, wasmMemory.buffer.byteLength=${wasmMemory.buffer.byteLength})`)}setValue_safe(dest,value,getSafeHeapType(bytes,isFloat));return value}function SAFE_HEAP_STORE_D(dest,value,bytes){return SAFE_HEAP_STORE(dest,value,bytes,true)}function SAFE_HEAP_LOAD(dest,bytes,unsigned,isFloat){if(dest<=0)abort(`segmentation fault loading ${bytes} bytes from address ${dest}`);if(dest%bytes!==0)abort(`alignment error loading from address ${dest}, which was expected to be aligned to a multiple of ${bytes}`);if(runtimeInitialized){var brk=_sbrk(0);if(dest+bytes>brk)abort(`segmentation fault, exceeded the top of the available dynamic heap when loading ${bytes} bytes from address ${dest}. DYNAMICTOP=${brk}`);if(brk<_emscripten_stack_get_base())abort(`brk >= _emscripten_stack_get_base() (brk=${brk}, _emscripten_stack_get_base()=${_emscripten_stack_get_base()})`);if(brk>wasmMemory.buffer.byteLength)abort(`brk <= wasmMemory.buffer.byteLength (brk=${brk}, wasmMemory.buffer.byteLength=${wasmMemory.buffer.byteLength})`)}var type=getSafeHeapType(bytes,isFloat);var ret=getValue_safe(dest,type);if(unsigned)ret=unSign(ret,parseInt(type.substr(1),10));return ret}function SAFE_HEAP_LOAD_D(dest,bytes,unsigned){return SAFE_HEAP_LOAD(dest,bytes,unsigned,true)}function segfault(){abort("segmentation fault")}function alignfault(){abort("alignment fault")}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){var f="libflutter_recorder_plugin.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),error=>{try{resolve(getBinarySync(binaryFile))}catch(e){reject(e)}})})}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["o"];updateMemoryViews();addOnInit(wasmExports["p"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var ASM_CONSTS={17244:()=>{if(!Module.wasmWorker){var workerUri="assets/packages/flutter_recorder/web/worker.dart.js";Module.wasmWorker=new Worker(workerUri);console.log("EM_ASM creating web worker! "+workerUri+" "+Module.wasmWorker)}else{console.log("EM_ASM web worker already created!")}},17534:($0,$1,$2)=>{if(Module.wasmWorker){Module.wasmWorker.postMessage({message:UTF8ToString($0),isSilent:$1,energyDb:$2})}else{console.error("Worker not found.")}},17704:($0,$1,$2)=>{if(Module.wasmWorker){const audioDataArray=new Uint8Array(Module.HEAPU8.subarray($1,$1+$2));Module.wasmWorker.postMessage({message:UTF8ToString($0),data:audioDataArray})}else{console.error("Worker not found.")}},17943:($0,$1,$2,$3,$4)=>{if(typeof window==="undefined"||(window.AudioContext||window.webkitAudioContext)===undefined){return 0}if(typeof window.miniaudio==="undefined"){window.miniaudio={referenceCount:0};window.miniaudio.device_type={};window.miniaudio.device_type.playback=$0;window.miniaudio.device_type.capture=$1;window.miniaudio.device_type.duplex=$2;window.miniaudio.device_state={};window.miniaudio.device_state.stopped=$3;window.miniaudio.device_state.started=$4;miniaudio.devices=[];miniaudio.track_device=function(device){for(var iDevice=0;iDevice0){if(miniaudio.devices[miniaudio.devices.length-1]==null){miniaudio.devices.pop()}else{break}}};miniaudio.untrack_device=function(device){for(var iDevice=0;iDevice{Module._ma_device__on_notification_unlocked(device.pDevice)},error=>{console.error("Failed to resume audiocontext",error)})}}miniaudio.unlock_event_types.map(function(event_type){document.removeEventListener(event_type,miniaudio.unlock,true)})};miniaudio.unlock_event_types.map(function(event_type){document.addEventListener(event_type,miniaudio.unlock,true)})}window.miniaudio.referenceCount+=1;return 1},20101:()=>{if(typeof window.miniaudio!=="undefined"){window.miniaudio.referenceCount-=1;if(window.miniaudio.referenceCount===0){delete window.miniaudio}}},20265:()=>navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined,20369:()=>{try{var temp=new(window.AudioContext||window.webkitAudioContext);var sampleRate=temp.sampleRate;temp.close();return sampleRate}catch(e){return 0}},20540:($0,$1,$2,$3,$4,$5)=>{var deviceType=$0;var channels=$1;var sampleRate=$2;var bufferSize=$3;var pIntermediaryBuffer=$4;var pDevice=$5;if(typeof window.miniaudio==="undefined"){return-1}var device={};var audioContextOptions={};if(deviceType==window.miniaudio.device_type.playback&&sampleRate!=0){audioContextOptions.sampleRate=sampleRate}device.webaudio=new(window.AudioContext||window.webkitAudioContext)(audioContextOptions);device.webaudio.suspend();device.state=window.miniaudio.device_state.stopped;var channelCountIn=0;var channelCountOut=channels;if(deviceType!=window.miniaudio.device_type.playback){channelCountIn=channels}device.scriptNode=device.webaudio.createScriptProcessor(bufferSize,channelCountIn,channelCountOut);device.scriptNode.onaudioprocess=function(e){if(device.intermediaryBufferView==null||device.intermediaryBufferView.length==0){device.intermediaryBufferView=new Float32Array(Module.HEAPF32.buffer,pIntermediaryBuffer,bufferSize*channels)}if(deviceType==miniaudio.device_type.capture||deviceType==miniaudio.device_type.duplex){for(var iChannel=0;iChannelminiaudio.get_device_by_index($0).webaudio.sampleRate,23434:$0=>{var device=miniaudio.get_device_by_index($0);if(device.scriptNode!==undefined){device.scriptNode.onaudioprocess=function(e){};device.scriptNode.disconnect();device.scriptNode=undefined}if(device.streamNode!==undefined){device.streamNode.disconnect();device.streamNode=undefined}device.webaudio.close();device.webaudio=undefined;device.pDevice=undefined},23827:$0=>{miniaudio.untrack_device_by_index($0)},23870:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.resume();device.state=miniaudio.device_state.started},23995:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.suspend();device.state=miniaudio.device_state.stopped},24121:($0,$1)=>{if($0==0||$1<=0){console.error("Invalid buffer pointer or number of frames");return}let buffer;switch(Module.format){case"u8":buffer=HEAPU8.subarray($0,$0+$1*Module.numChannels);break;case"s16":buffer=HEAP16.subarray($0/2,$0/2+$1*Module.numChannels);break;case"s24":buffer=HEAPU8.subarray($0,$0+$1*Module.numChannels*3);break;case"s32":buffer=HEAP32.subarray($0/4,$0/4+$1*Module.numChannels);break;case"f32":default:buffer=HEAPF32.subarray($0/4,$0/4+$1*Module.numChannels)}if(!Module.dataChunks){Module.dataChunks=[]}Module.dataChunks.push(...buffer)},24779:()=>{function encodeWAV(){const numChannels=Module.numChannels;const sampleRate=Module.sampleRate;let bitsPerSample;let audioData;let formatCode=1;switch(Module.format){case"u8":bitsPerSample=8;audioData=new Uint8Array(Module.dataChunks);break;case"s16":bitsPerSample=16;audioData=new Int16Array(Module.dataChunks);break;case"s24":bitsPerSample=24;audioData=new Uint8Array(Module.dataChunks);break;case"s32":bitsPerSample=32;audioData=new Int32Array(Module.dataChunks);break;case"f32":bitsPerSample=32;formatCode=3;audioData=new Float32Array(Module.dataChunks);break;default:throw new Error("Formato non supportato")}const blockAlign=numChannels*(bitsPerSample/8);const byteRate=sampleRate*blockAlign;let dataSize=audioData.length*(bitsPerSample/8);const totalFileSize=44+dataSize;if(Module.format=="s24"){dataSize=audioData.length}const wavBuffer=new ArrayBuffer(totalFileSize);const view=new DataView(wavBuffer);view.setUint32(0,1380533830,false);view.setUint32(4,totalFileSize-8,true);view.setUint32(8,1463899717,false);view.setUint32(12,1718449184,false);view.setUint32(16,16,true);view.setUint16(20,formatCode,true);view.setUint16(22,numChannels,true);view.setUint32(24,sampleRate,true);view.setUint32(28,byteRate,true);view.setUint16(32,blockAlign,true);view.setUint16(34,bitsPerSample,true);view.setUint32(36,1684108385,false);view.setUint32(40,dataSize,true);for(let i=0;i{let format;switch($2){case 5:format="f32";break;case 4:format="s32";break;case 3:format="s24";break;case 2:format="s16";break;case 1:format="u8";break;default:format="unknown";break}console.log("EM_ASM init wav! "+$0+" "+$1+" "+format);Module.dataChunks=[];Module.fileName="output.wav";Module.numChannels=$0;Module.sampleRate=$1;Module.format=format}};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}Module["ExitStatus"]=ExitStatus;var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};Module["callRuntimeCallbacks"]=callRuntimeCallbacks;function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return SAFE_HEAP_LOAD(ptr,1,0);case"i8":return SAFE_HEAP_LOAD(ptr,1,0);case"i16":return SAFE_HEAP_LOAD((ptr>>1)*2,2,0);case"i32":return SAFE_HEAP_LOAD((ptr>>2)*4,4,0);case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return SAFE_HEAP_LOAD_D((ptr>>2)*4,4,0);case"double":return SAFE_HEAP_LOAD_D((ptr>>3)*8,8,0);case"*":return SAFE_HEAP_LOAD((ptr>>2)*4,4,1);default:abort(`invalid type for getValue: ${type}`)}}Module["getValue"]=getValue;function getValue_safe(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}Module["getValue_safe"]=getValue_safe;var noExitRuntime=Module["noExitRuntime"]||true;Module["noExitRuntime"]=noExitRuntime;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":SAFE_HEAP_STORE(ptr,value,1);break;case"i8":SAFE_HEAP_STORE(ptr,value,1);break;case"i16":SAFE_HEAP_STORE((ptr>>1)*2,value,2);break;case"i32":SAFE_HEAP_STORE((ptr>>2)*4,value,4);break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":SAFE_HEAP_STORE_D((ptr>>2)*4,value,4);break;case"double":SAFE_HEAP_STORE_D((ptr>>3)*8,value,8);break;case"*":SAFE_HEAP_STORE((ptr>>2)*4,value,4);break;default:abort(`invalid type for setValue: ${type}`)}}Module["setValue"]=setValue;function setValue_safe(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}Module["setValue_safe"]=setValue_safe;var stackRestore=val=>__emscripten_stack_restore(val);Module["stackRestore"]=stackRestore;var stackSave=()=>_emscripten_stack_get_current();Module["stackSave"]=stackSave;var unSign=(value,bits)=>{if(value>=0){return value}return bits<=32?2*Math.abs(1<{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};Module["UTF8ArrayToString"]=UTF8ArrayToString;var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";Module["UTF8ToString"]=UTF8ToString;var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};Module["___assert_fail"]=___assert_fail;class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){SAFE_HEAP_STORE((this.ptr+4>>2)*4,type,4)}get_type(){return SAFE_HEAP_LOAD((this.ptr+4>>2)*4,4,1)}set_destructor(destructor){SAFE_HEAP_STORE((this.ptr+8>>2)*4,destructor,4)}get_destructor(){return SAFE_HEAP_LOAD((this.ptr+8>>2)*4,4,1)}set_caught(caught){caught=caught?1:0;SAFE_HEAP_STORE(this.ptr+12,caught,1)}get_caught(){return SAFE_HEAP_LOAD(this.ptr+12,1,0)!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;SAFE_HEAP_STORE(this.ptr+13,rethrown,1)}get_rethrown(){return SAFE_HEAP_LOAD(this.ptr+13,1,0)!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){SAFE_HEAP_STORE((this.ptr+16>>2)*4,adjustedPtr,4)}get_adjusted_ptr(){return SAFE_HEAP_LOAD((this.ptr+16>>2)*4,4,1)}get_exception_ptr(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return SAFE_HEAP_LOAD((this.excPtr>>2)*4,4,1)}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}Module["ExceptionInfo"]=ExceptionInfo;var exceptionLast=0;Module["exceptionLast"]=exceptionLast;var uncaughtExceptionCount=0;Module["uncaughtExceptionCount"]=uncaughtExceptionCount;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};Module["___cxa_throw"]=___cxa_throw;var __abort_js=()=>{abort("")};Module["__abort_js"]=__abort_js;var nowIsMonotonic=1;Module["nowIsMonotonic"]=nowIsMonotonic;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;Module["__emscripten_get_now_is_monotonic"]=__emscripten_get_now_is_monotonic;var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);Module["__emscripten_memcpy_js"]=__emscripten_memcpy_js;var readEmAsmArgsArray=[];Module["readEmAsmArgsArray"]=readEmAsmArgsArray;var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=SAFE_HEAP_LOAD(sigPtr++,1,1)){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?SAFE_HEAP_LOAD((buf>>2)*4,4,1):ch==105?SAFE_HEAP_LOAD((buf>>2)*4,4,0):SAFE_HEAP_LOAD_D((buf>>3)*8,8,0));buf+=wide?8:4}return readEmAsmArgsArray};Module["readEmAsmArgs"]=readEmAsmArgs;var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};Module["runEmAsmFunction"]=runEmAsmFunction;var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);Module["_emscripten_asm_const_int"]=_emscripten_asm_const_int;var _emscripten_date_now=()=>Date.now();Module["_emscripten_date_now"]=_emscripten_date_now;var _emscripten_get_now;_emscripten_get_now=()=>performance.now();Module["_emscripten_get_now"]=_emscripten_get_now;var getHeapMax=()=>2147483648;Module["getHeapMax"]=getHeapMax;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};Module["growMemory"]=growMemory;var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};Module["_emscripten_resize_heap"]=_emscripten_resize_heap;var runtimeKeepaliveCounter=0;Module["runtimeKeepaliveCounter"]=runtimeKeepaliveCounter;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;Module["keepRuntimeAlive"]=keepRuntimeAlive;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};Module["_proc_exit"]=_proc_exit;var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};Module["exitJS"]=exitJS;var _exit=exitJS;Module["_exit"]=_exit;var _fd_close=fd=>52;Module["_fd_close"]=_fd_close;var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;Module["convertI32PairToI53Checked"]=convertI32PairToI53Checked;function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);return 70}Module["_fd_seek"]=_fd_seek;var printCharBuffers=[null,[],[]];Module["printCharBuffers"]=printCharBuffers;var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};Module["printChar"]=printChar;var flush_NO_FILESYSTEM=()=>{if(printCharBuffers[1].length)printChar(1,10);if(printCharBuffers[2].length)printChar(2,10)};Module["flush_NO_FILESYSTEM"]=flush_NO_FILESYSTEM;var SYSCALLS={varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};Module["SYSCALLS"]=SYSCALLS;var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i>2)*4,4,1);var len=SAFE_HEAP_LOAD((iov+4>>2)*4,4,1);iov+=8;for(var j=0;j>2)*4,num,4);return 0};Module["_fd_write"]=_fd_write;var getCFunc=ident=>{var func=Module["_"+ident];return func};Module["getCFunc"]=getCFunc;var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};Module["writeArrayToMemory"]=writeArrayToMemory;var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};Module["lengthBytesUTF8"]=lengthBytesUTF8;var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};Module["stringToUTF8Array"]=stringToUTF8Array;var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);Module["stringToUTF8"]=stringToUTF8;var stackAlloc=sz=>__emscripten_stack_alloc(sz);Module["stackAlloc"]=stackAlloc;var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};Module["stringToUTF8OnStack"]=stringToUTF8OnStack;var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};Module["cwrap"]=cwrap;var wasmImports={a:___assert_fail,f:___cxa_throw,n:__abort_js,i:__emscripten_get_now_is_monotonic,k:__emscripten_memcpy_js,c:alignfault,d:_emscripten_asm_const_int,j:_emscripten_date_now,g:_emscripten_resize_heap,l:_exit,h:_fd_close,m:_fd_seek,e:_fd_write,b:segfault};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["p"])();var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["q"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["r"])(a0);var __Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=a0=>(__Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=wasmExports["s"])(a0);var _ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=(a0,a1)=>(_ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=wasmExports["t"])(a0,a1);var _ma_free_emscripten=Module["_ma_free_emscripten"]=(a0,a1)=>(_ma_free_emscripten=Module["_ma_free_emscripten"]=wasmExports["u"])(a0,a1);var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=wasmExports["v"])(a0,a1,a2);var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=wasmExports["w"])(a0,a1,a2);var _createWorkerInWasm=Module["_createWorkerInWasm"]=()=>(_createWorkerInWasm=Module["_createWorkerInWasm"]=wasmExports["x"])();var __Z24sendSilenceEventToWorkerPKcbf=Module["__Z24sendSilenceEventToWorkerPKcbf"]=(a0,a1,a2)=>(__Z24sendSilenceEventToWorkerPKcbf=Module["__Z24sendSilenceEventToWorkerPKcbf"]=wasmExports["y"])(a0,a1,a2);var __Z18sendStreamToWorkerPKcPhi=Module["__Z18sendStreamToWorkerPKcPhi"]=(a0,a1,a2)=>(__Z18sendStreamToWorkerPKcPhi=Module["__Z18sendStreamToWorkerPKcPhi"]=wasmExports["z"])(a0,a1,a2);var _setDartEventCallback=Module["_setDartEventCallback"]=(a0,a1)=>(_setDartEventCallback=Module["_setDartEventCallback"]=wasmExports["A"])(a0,a1);var _nativeFree=Module["_nativeFree"]=a0=>(_nativeFree=Module["_nativeFree"]=wasmExports["B"])(a0);var _listCaptureDevices=Module["_listCaptureDevices"]=(a0,a1,a2,a3)=>(_listCaptureDevices=Module["_listCaptureDevices"]=wasmExports["C"])(a0,a1,a2,a3);var _freeListCaptureDevices=Module["_freeListCaptureDevices"]=(a0,a1,a2,a3)=>(_freeListCaptureDevices=Module["_freeListCaptureDevices"]=wasmExports["D"])(a0,a1,a2,a3);var _init=Module["_init"]=(a0,a1,a2,a3)=>(_init=Module["_init"]=wasmExports["E"])(a0,a1,a2,a3);var _deinit=Module["_deinit"]=()=>(_deinit=Module["_deinit"]=wasmExports["F"])();var _isInited=Module["_isInited"]=()=>(_isInited=Module["_isInited"]=wasmExports["G"])();var _isDeviceStarted=Module["_isDeviceStarted"]=()=>(_isDeviceStarted=Module["_isDeviceStarted"]=wasmExports["H"])();var __Z16isCaptureStartedv=Module["__Z16isCaptureStartedv"]=()=>(__Z16isCaptureStartedv=Module["__Z16isCaptureStartedv"]=wasmExports["I"])();var _start=Module["_start"]=()=>(_start=Module["_start"]=wasmExports["J"])();var _stop=Module["_stop"]=()=>(_stop=Module["_stop"]=wasmExports["K"])();var _startStreamingData=Module["_startStreamingData"]=()=>(_startStreamingData=Module["_startStreamingData"]=wasmExports["L"])();var _stopStreamingData=Module["_stopStreamingData"]=()=>(_stopStreamingData=Module["_stopStreamingData"]=wasmExports["M"])();var _setSilenceDetection=Module["_setSilenceDetection"]=a0=>(_setSilenceDetection=Module["_setSilenceDetection"]=wasmExports["N"])(a0);var _setSilenceThresholdDb=Module["_setSilenceThresholdDb"]=a0=>(_setSilenceThresholdDb=Module["_setSilenceThresholdDb"]=wasmExports["O"])(a0);var _setSilenceDuration=Module["_setSilenceDuration"]=a0=>(_setSilenceDuration=Module["_setSilenceDuration"]=wasmExports["P"])(a0);var _setSecondsOfAudioToWriteBefore=Module["_setSecondsOfAudioToWriteBefore"]=a0=>(_setSecondsOfAudioToWriteBefore=Module["_setSecondsOfAudioToWriteBefore"]=wasmExports["Q"])(a0);var _startRecording=Module["_startRecording"]=a0=>(_startRecording=Module["_startRecording"]=wasmExports["R"])(a0);var _setPauseRecording=Module["_setPauseRecording"]=a0=>(_setPauseRecording=Module["_setPauseRecording"]=wasmExports["S"])(a0);var _stopRecording=Module["_stopRecording"]=()=>(_stopRecording=Module["_stopRecording"]=wasmExports["T"])();var _getVolumeDb=Module["_getVolumeDb"]=a0=>(_getVolumeDb=Module["_getVolumeDb"]=wasmExports["U"])(a0);var _setFftSmoothing=Module["_setFftSmoothing"]=a0=>(_setFftSmoothing=Module["_setFftSmoothing"]=wasmExports["V"])(a0);var _getFft=Module["_getFft"]=a0=>(_getFft=Module["_getFft"]=wasmExports["W"])(a0);var _getWave=Module["_getWave"]=a0=>(_getWave=Module["_getWave"]=wasmExports["X"])(a0);var _getTexture=Module["_getTexture"]=a0=>(_getTexture=Module["_getTexture"]=wasmExports["Y"])(a0);var _getTexture2D=Module["_getTexture2D"]=a0=>(_getTexture2D=Module["_getTexture2D"]=wasmExports["Z"])(a0);var _getTextureValue=Module["_getTextureValue"]=(a0,a1)=>(_getTextureValue=Module["_getTextureValue"]=wasmExports["_"])(a0,a1);var _emscripten_get_sbrk_ptr=()=>(_emscripten_get_sbrk_ptr=wasmExports["aa"])();var _sbrk=a0=>(_sbrk=wasmExports["ba"])(a0);var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["ca"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["da"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["ea"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["fa"])();var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports["ga"])(a0);var dynCall_iiiji=Module["dynCall_iiiji"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiji=Module["dynCall_iiiji"]=wasmExports["ha"])(a0,a1,a2,a3,a4,a5);var dynCall_jii=Module["dynCall_jii"]=(a0,a1,a2)=>(dynCall_jii=Module["dynCall_jii"]=wasmExports["ia"])(a0,a1,a2);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["ja"])(a0,a1,a2,a3,a4);Module["ccall"]=ccall;Module["cwrap"]=cwrap;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); +var Module=typeof Module!="undefined"?Module:{};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(binary?data.buffer:data)})})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];function getSafeHeapType(bytes,isFloat){switch(bytes){case 1:return"i8";case 2:return"i16";case 4:return isFloat?"float":"i32";case 8:return isFloat?"double":"i64";default:abort(`getSafeHeapType() invalid bytes=${bytes}`)}}function SAFE_HEAP_STORE(dest,value,bytes,isFloat){if(dest<=0)abort(`segmentation fault storing ${bytes} bytes to address ${dest}`);if(dest%bytes!==0)abort(`alignment error storing to address ${dest}, which was expected to be aligned to a multiple of ${bytes}`);if(runtimeInitialized){var brk=_sbrk(0);if(dest+bytes>brk)abort(`segmentation fault, exceeded the top of the available dynamic heap when storing ${bytes} bytes to address ${dest}. DYNAMICTOP=${brk}`);if(brk<_emscripten_stack_get_base())abort(`brk >= _emscripten_stack_get_base() (brk=${brk}, _emscripten_stack_get_base()=${_emscripten_stack_get_base()})`);if(brk>wasmMemory.buffer.byteLength)abort(`brk <= wasmMemory.buffer.byteLength (brk=${brk}, wasmMemory.buffer.byteLength=${wasmMemory.buffer.byteLength})`)}setValue_safe(dest,value,getSafeHeapType(bytes,isFloat));return value}function SAFE_HEAP_STORE_D(dest,value,bytes){return SAFE_HEAP_STORE(dest,value,bytes,true)}function SAFE_HEAP_LOAD(dest,bytes,unsigned,isFloat){if(dest<=0)abort(`segmentation fault loading ${bytes} bytes from address ${dest}`);if(dest%bytes!==0)abort(`alignment error loading from address ${dest}, which was expected to be aligned to a multiple of ${bytes}`);if(runtimeInitialized){var brk=_sbrk(0);if(dest+bytes>brk)abort(`segmentation fault, exceeded the top of the available dynamic heap when loading ${bytes} bytes from address ${dest}. DYNAMICTOP=${brk}`);if(brk<_emscripten_stack_get_base())abort(`brk >= _emscripten_stack_get_base() (brk=${brk}, _emscripten_stack_get_base()=${_emscripten_stack_get_base()})`);if(brk>wasmMemory.buffer.byteLength)abort(`brk <= wasmMemory.buffer.byteLength (brk=${brk}, wasmMemory.buffer.byteLength=${wasmMemory.buffer.byteLength})`)}var type=getSafeHeapType(bytes,isFloat);var ret=getValue_safe(dest,type);if(unsigned)ret=unSign(ret,parseInt(type.substr(1),10));return ret}function SAFE_HEAP_LOAD_D(dest,bytes,unsigned){return SAFE_HEAP_LOAD(dest,bytes,unsigned,true)}function segfault(){abort("segmentation fault")}function alignfault(){abort("alignment fault")}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){var f="libflutter_recorder_plugin.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["s"];updateMemoryViews();addOnInit(wasmExports["t"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}wasmBinaryFile??=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={31976:()=>{if(!Module.wasmWorker){var workerUri="assets/packages/flutter_recorder/web/worker.dart.js";Module.wasmWorker=new Worker(workerUri);console.log("EM_ASM creating web worker! "+workerUri+" "+Module.wasmWorker)}else{console.log("EM_ASM web worker already created!")}},32266:($0,$1,$2)=>{if(Module.wasmWorker){Module.wasmWorker.postMessage({message:UTF8ToString($0),isSilent:$1,energyDb:$2})}else{console.error("Worker not found.")}},32436:($0,$1,$2)=>{if(Module.wasmWorker){const audioDataArray=new Uint8Array(Module.HEAPU8.subarray($1,$1+$2));Module.wasmWorker.postMessage({message:UTF8ToString($0),data:audioDataArray})}else{console.error("Worker not found.")}},32675:($0,$1,$2,$3,$4)=>{if(typeof window==="undefined"||(window.AudioContext||window.webkitAudioContext)===undefined){return 0}if(typeof window.miniaudio==="undefined"){window.miniaudio={referenceCount:0};window.miniaudio.device_type={};window.miniaudio.device_type.playback=$0;window.miniaudio.device_type.capture=$1;window.miniaudio.device_type.duplex=$2;window.miniaudio.device_state={};window.miniaudio.device_state.stopped=$3;window.miniaudio.device_state.started=$4;miniaudio.devices=[];miniaudio.track_device=function(device){for(var iDevice=0;iDevice0){if(miniaudio.devices[miniaudio.devices.length-1]==null){miniaudio.devices.pop()}else{break}}};miniaudio.untrack_device=function(device){for(var iDevice=0;iDevice{Module._ma_device__on_notification_unlocked(device.pDevice)},error=>{console.error("Failed to resume audiocontext",error)})}}miniaudio.unlock_event_types.map(function(event_type){document.removeEventListener(event_type,miniaudio.unlock,true)})};miniaudio.unlock_event_types.map(function(event_type){document.addEventListener(event_type,miniaudio.unlock,true)})}window.miniaudio.referenceCount+=1;return 1},34833:()=>{if(typeof window.miniaudio!=="undefined"){window.miniaudio.referenceCount-=1;if(window.miniaudio.referenceCount===0){delete window.miniaudio}}},34997:()=>navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined,35101:()=>{try{var temp=new(window.AudioContext||window.webkitAudioContext);var sampleRate=temp.sampleRate;temp.close();return sampleRate}catch(e){return 0}},35272:($0,$1,$2,$3,$4,$5)=>{var deviceType=$0;var channels=$1;var sampleRate=$2;var bufferSize=$3;var pIntermediaryBuffer=$4;var pDevice=$5;if(typeof window.miniaudio==="undefined"){return-1}var device={};var audioContextOptions={};if(deviceType==window.miniaudio.device_type.playback&&sampleRate!=0){audioContextOptions.sampleRate=sampleRate}device.webaudio=new(window.AudioContext||window.webkitAudioContext)(audioContextOptions);device.webaudio.suspend();device.state=window.miniaudio.device_state.stopped;var channelCountIn=0;var channelCountOut=channels;if(deviceType!=window.miniaudio.device_type.playback){channelCountIn=channels}device.scriptNode=device.webaudio.createScriptProcessor(bufferSize,channelCountIn,channelCountOut);device.scriptNode.onaudioprocess=function(e){if(device.intermediaryBufferView==null||device.intermediaryBufferView.length==0){device.intermediaryBufferView=new Float32Array(Module.HEAPF32.buffer,pIntermediaryBuffer,bufferSize*channels)}if(deviceType==miniaudio.device_type.capture||deviceType==miniaudio.device_type.duplex){for(var iChannel=0;iChannelminiaudio.get_device_by_index($0).webaudio.sampleRate,38166:$0=>{var device=miniaudio.get_device_by_index($0);if(device.scriptNode!==undefined){device.scriptNode.onaudioprocess=function(e){};device.scriptNode.disconnect();device.scriptNode=undefined}if(device.streamNode!==undefined){device.streamNode.disconnect();device.streamNode=undefined}device.webaudio.close();device.webaudio=undefined;device.pDevice=undefined},38559:$0=>{miniaudio.untrack_device_by_index($0)},38602:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.resume();device.state=miniaudio.device_state.started},38727:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.suspend();device.state=miniaudio.device_state.stopped},38853:($0,$1)=>{if($0==0||$1<=0){console.error("Invalid buffer pointer or number of frames");return}let buffer;switch(Module.format){case"u8":buffer=HEAPU8.subarray($0,$0+$1*Module.numChannels);break;case"s16":buffer=HEAP16.subarray($0/2,$0/2+$1*Module.numChannels);break;case"s24":buffer=HEAPU8.subarray($0,$0+$1*Module.numChannels*3);break;case"s32":buffer=HEAP32.subarray($0/4,$0/4+$1*Module.numChannels);break;case"f32":default:buffer=HEAPF32.subarray($0/4,$0/4+$1*Module.numChannels)}if(!Module.dataChunks){Module.dataChunks=[]}Module.dataChunks.push(...buffer)},39511:()=>{function encodeWAV(){const numChannels=Module.numChannels;const sampleRate=Module.sampleRate;let bitsPerSample;let audioData;let formatCode=1;switch(Module.format){case"u8":bitsPerSample=8;audioData=new Uint8Array(Module.dataChunks);break;case"s16":bitsPerSample=16;audioData=new Int16Array(Module.dataChunks);break;case"s24":bitsPerSample=24;audioData=new Uint8Array(Module.dataChunks);break;case"s32":bitsPerSample=32;audioData=new Int32Array(Module.dataChunks);break;case"f32":bitsPerSample=32;formatCode=3;audioData=new Float32Array(Module.dataChunks);break;default:throw new Error("Formato non supportato")}const blockAlign=numChannels*(bitsPerSample/8);const byteRate=sampleRate*blockAlign;let dataSize=audioData.length*(bitsPerSample/8);const totalFileSize=44+dataSize;if(Module.format=="s24"){dataSize=audioData.length}const wavBuffer=new ArrayBuffer(totalFileSize);const view=new DataView(wavBuffer);view.setUint32(0,1380533830,false);view.setUint32(4,totalFileSize-8,true);view.setUint32(8,1463899717,false);view.setUint32(12,1718449184,false);view.setUint32(16,16,true);view.setUint16(20,formatCode,true);view.setUint16(22,numChannels,true);view.setUint32(24,sampleRate,true);view.setUint32(28,byteRate,true);view.setUint16(32,blockAlign,true);view.setUint16(34,bitsPerSample,true);view.setUint32(36,1684108385,false);view.setUint32(40,dataSize,true);for(let i=0;i{let format;switch($2){case 5:format="f32";break;case 4:format="s32";break;case 3:format="s24";break;case 2:format="s16";break;case 1:format="u8";break;default:format="unknown";break}console.log("EM_ASM init wav! "+$0+" "+$1+" "+format);Module.dataChunks=[];Module.fileName="output.wav";Module.numChannels=$0;Module.sampleRate=$1;Module.format=format}};class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}Module["ExitStatus"]=ExitStatus;var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};Module["callRuntimeCallbacks"]=callRuntimeCallbacks;function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return SAFE_HEAP_LOAD(ptr,1,0);case"i8":return SAFE_HEAP_LOAD(ptr,1,0);case"i16":return SAFE_HEAP_LOAD((ptr>>1)*2,2,0);case"i32":return SAFE_HEAP_LOAD((ptr>>2)*4,4,0);case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return SAFE_HEAP_LOAD_D((ptr>>2)*4,4,0);case"double":return SAFE_HEAP_LOAD_D((ptr>>3)*8,8,0);case"*":return SAFE_HEAP_LOAD((ptr>>2)*4,4,1);default:abort(`invalid type for getValue: ${type}`)}}Module["getValue"]=getValue;function getValue_safe(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}Module["getValue_safe"]=getValue_safe;var noExitRuntime=Module["noExitRuntime"]||true;Module["noExitRuntime"]=noExitRuntime;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":SAFE_HEAP_STORE(ptr,value,1);break;case"i8":SAFE_HEAP_STORE(ptr,value,1);break;case"i16":SAFE_HEAP_STORE((ptr>>1)*2,value,2);break;case"i32":SAFE_HEAP_STORE((ptr>>2)*4,value,4);break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":SAFE_HEAP_STORE_D((ptr>>2)*4,value,4);break;case"double":SAFE_HEAP_STORE_D((ptr>>3)*8,value,8);break;case"*":SAFE_HEAP_STORE((ptr>>2)*4,value,4);break;default:abort(`invalid type for setValue: ${type}`)}}Module["setValue"]=setValue;function setValue_safe(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}Module["setValue_safe"]=setValue_safe;var stackRestore=val=>__emscripten_stack_restore(val);Module["stackRestore"]=stackRestore;var stackSave=()=>_emscripten_stack_get_current();Module["stackSave"]=stackSave;var unSign=(value,bits)=>{if(value>=0){return value}return bits<=32?2*Math.abs(1<{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};Module["UTF8ArrayToString"]=UTF8ArrayToString;var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";Module["UTF8ToString"]=UTF8ToString;var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};Module["___assert_fail"]=___assert_fail;class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){SAFE_HEAP_STORE((this.ptr+4>>2)*4,type,4)}get_type(){return SAFE_HEAP_LOAD((this.ptr+4>>2)*4,4,1)}set_destructor(destructor){SAFE_HEAP_STORE((this.ptr+8>>2)*4,destructor,4)}get_destructor(){return SAFE_HEAP_LOAD((this.ptr+8>>2)*4,4,1)}set_caught(caught){caught=caught?1:0;SAFE_HEAP_STORE(this.ptr+12,caught,1)}get_caught(){return SAFE_HEAP_LOAD(this.ptr+12,1,0)!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;SAFE_HEAP_STORE(this.ptr+13,rethrown,1)}get_rethrown(){return SAFE_HEAP_LOAD(this.ptr+13,1,0)!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){SAFE_HEAP_STORE((this.ptr+16>>2)*4,adjustedPtr,4)}get_adjusted_ptr(){return SAFE_HEAP_LOAD((this.ptr+16>>2)*4,4,1)}}Module["ExceptionInfo"]=ExceptionInfo;var exceptionLast=0;Module["exceptionLast"]=exceptionLast;var uncaughtExceptionCount=0;Module["uncaughtExceptionCount"]=uncaughtExceptionCount;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};Module["___cxa_throw"]=___cxa_throw;var __abort_js=()=>{abort("")};Module["__abort_js"]=__abort_js;var nowIsMonotonic=1;Module["nowIsMonotonic"]=nowIsMonotonic;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;Module["__emscripten_get_now_is_monotonic"]=__emscripten_get_now_is_monotonic;var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);Module["__emscripten_memcpy_js"]=__emscripten_memcpy_js;var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};Module["stringToUTF8Array"]=stringToUTF8Array;var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);Module["stringToUTF8"]=stringToUTF8;var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);SAFE_HEAP_STORE((timezone>>2)*4,stdTimezoneOffset*60,4);SAFE_HEAP_STORE((daylight>>2)*4,Number(winterOffset!=summerOffset),4);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{readEmAsmArgsArray.length=0;var ch;while(ch=SAFE_HEAP_LOAD(sigPtr++,1,1)){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?SAFE_HEAP_LOAD((buf>>2)*4,4,1):ch==105?SAFE_HEAP_LOAD((buf>>2)*4,4,0):SAFE_HEAP_LOAD_D((buf>>3)*8,8,0));buf+=wide?8:4}return readEmAsmArgsArray};Module["readEmAsmArgs"]=readEmAsmArgs;var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};Module["runEmAsmFunction"]=runEmAsmFunction;var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);Module["_emscripten_asm_const_int"]=_emscripten_asm_const_int;var _emscripten_date_now=()=>Date.now();Module["_emscripten_date_now"]=_emscripten_date_now;var _emscripten_get_now=()=>performance.now();Module["_emscripten_get_now"]=_emscripten_get_now;var getHeapMax=()=>2147483648;Module["getHeapMax"]=getHeapMax;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;Module["alignMemory"]=alignMemory;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};Module["growMemory"]=growMemory;var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};Module["_emscripten_resize_heap"]=_emscripten_resize_heap;var ENV={};Module["ENV"]=ENV;var getExecutableName=()=>thisProgram||"./this.program";Module["getExecutableName"]=getExecutableName;var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};Module["getEnvStrings"]=getEnvStrings;var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;SAFE_HEAP_STORE((__environ+i*4>>2)*4,ptr,4);stringToAscii(string,ptr);bufSize+=string.length+1});return 0};Module["_environ_get"]=_environ_get;var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();SAFE_HEAP_STORE((penviron_count>>2)*4,strings.length,4);var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);SAFE_HEAP_STORE((penviron_buf_size>>2)*4,bufSize,4);return 0};Module["_environ_sizes_get"]=_environ_sizes_get;var runtimeKeepaliveCounter=0;Module["runtimeKeepaliveCounter"]=runtimeKeepaliveCounter;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;Module["keepRuntimeAlive"]=keepRuntimeAlive;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};Module["_proc_exit"]=_proc_exit;var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};Module["exitJS"]=exitJS;var _exit=exitJS;Module["_exit"]=_exit;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};Module["PATH"]=PATH;var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};Module["initRandomFill"]=initRandomFill;var randomFill=view=>(randomFill=initRandomFill())(view);Module["randomFill"]=randomFill;var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};Module["lengthBytesUTF8"]=lengthBytesUTF8;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};Module["FS_stdin_getChar"]=FS_stdin_getChar;var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};Module["TTY"]=TTY;var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size)};Module["zeroMemory"]=zeroMemory;var mmapAlloc=size=>{abort()};Module["mmapAlloc"]=mmapAlloc;var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};Module["asyncLoad"]=asyncLoad;var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};Module["FS_createDataFile"]=FS_createDataFile;var preloadPlugins=Module["preloadPlugins"]||[];Module["preloadPlugins"]=preloadPlugins;var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};Module["FS_handledByPreloadPlugin"]=FS_handledByPreloadPlugin;var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};Module["FS_createPreloadedFile"]=FS_createPreloadedFile;var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};Module["FS_modeStringToFlags"]=FS_modeStringToFlags;var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};Module["FS_getMode"]=FS_getMode;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};Module["FS"]=FS;var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);SAFE_HEAP_STORE((buf>>2)*4,stat.dev,4);SAFE_HEAP_STORE((buf+4>>2)*4,stat.mode,4);SAFE_HEAP_STORE((buf+8>>2)*4,stat.nlink,4);SAFE_HEAP_STORE((buf+12>>2)*4,stat.uid,4);SAFE_HEAP_STORE((buf+16>>2)*4,stat.gid,4);SAFE_HEAP_STORE((buf+20>>2)*4,stat.rdev,4);tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+24>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+28>>2)*4,tempI64[1],4);SAFE_HEAP_STORE((buf+32>>2)*4,4096,4);SAFE_HEAP_STORE((buf+36>>2)*4,stat.blocks,4);var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+40>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+44>>2)*4,tempI64[1],4);SAFE_HEAP_STORE((buf+48>>2)*4,atime%1e3*1e3*1e3,4);tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+56>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+60>>2)*4,tempI64[1],4);SAFE_HEAP_STORE((buf+64>>2)*4,mtime%1e3*1e3*1e3,4);tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+72>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+76>>2)*4,tempI64[1],4);SAFE_HEAP_STORE((buf+80>>2)*4,ctime%1e3*1e3*1e3,4);tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+88>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+92>>2)*4,tempI64[1],4);return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};Module["SYSCALLS"]=SYSCALLS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_close"]=_fd_close;var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2)*4,4,1);var len=SAFE_HEAP_LOAD((iov+4>>2)*4,4,1);iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2)*4,num,4);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_read"]=_fd_read;var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;Module["convertI32PairToI53Checked"]=convertI32PairToI53Checked;function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((newOffset>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((newOffset+4>>2)*4,tempI64[1],4);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_seek"]=_fd_seek;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2)*4,4,1);var len=SAFE_HEAP_LOAD((iov+4>>2)*4,4,1);iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2)*4,num,4);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_write"]=_fd_write;var getCFunc=ident=>{var func=Module["_"+ident];return func};Module["getCFunc"]=getCFunc;var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};Module["writeArrayToMemory"]=writeArrayToMemory;var stackAlloc=sz=>__emscripten_stack_alloc(sz);Module["stackAlloc"]=stackAlloc;var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};Module["stringToUTF8OnStack"]=stringToUTF8OnStack;var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};Module["cwrap"]=cwrap;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";var wasmImports={a:___assert_fail,e:___cxa_throw,q:__abort_js,i:__emscripten_get_now_is_monotonic,k:__emscripten_memcpy_js,n:__tzset_js,c:alignfault,d:_emscripten_asm_const_int,j:_emscripten_date_now,r:_emscripten_resize_heap,o:_environ_get,p:_environ_sizes_get,l:_exit,g:_fd_close,h:_fd_read,m:_fd_seek,f:_fd_write,b:segfault};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["t"])();var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["v"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["w"])(a0);var __Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=a0=>(__Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=wasmExports["x"])(a0);var _ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=(a0,a1)=>(_ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=wasmExports["y"])(a0,a1);var _ma_free_emscripten=Module["_ma_free_emscripten"]=(a0,a1)=>(_ma_free_emscripten=Module["_ma_free_emscripten"]=wasmExports["z"])(a0,a1);var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=wasmExports["A"])(a0,a1,a2);var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=wasmExports["B"])(a0,a1,a2);var _createWorkerInWasm=Module["_createWorkerInWasm"]=()=>(_createWorkerInWasm=Module["_createWorkerInWasm"]=wasmExports["C"])();var __Z24sendSilenceEventToWorkerPKcbf=Module["__Z24sendSilenceEventToWorkerPKcbf"]=(a0,a1,a2)=>(__Z24sendSilenceEventToWorkerPKcbf=Module["__Z24sendSilenceEventToWorkerPKcbf"]=wasmExports["D"])(a0,a1,a2);var __Z18sendStreamToWorkerPKcPhi=Module["__Z18sendStreamToWorkerPKcPhi"]=(a0,a1,a2)=>(__Z18sendStreamToWorkerPKcPhi=Module["__Z18sendStreamToWorkerPKcPhi"]=wasmExports["E"])(a0,a1,a2);var _setDartEventCallback=Module["_setDartEventCallback"]=(a0,a1)=>(_setDartEventCallback=Module["_setDartEventCallback"]=wasmExports["F"])(a0,a1);var _nativeFree=Module["_nativeFree"]=a0=>(_nativeFree=Module["_nativeFree"]=wasmExports["G"])(a0);var _listCaptureDevices=Module["_listCaptureDevices"]=(a0,a1,a2,a3)=>(_listCaptureDevices=Module["_listCaptureDevices"]=wasmExports["H"])(a0,a1,a2,a3);var _freeListCaptureDevices=Module["_freeListCaptureDevices"]=(a0,a1,a2,a3)=>(_freeListCaptureDevices=Module["_freeListCaptureDevices"]=wasmExports["I"])(a0,a1,a2,a3);var _init=Module["_init"]=(a0,a1,a2,a3)=>(_init=Module["_init"]=wasmExports["J"])(a0,a1,a2,a3);var _deinit=Module["_deinit"]=()=>(_deinit=Module["_deinit"]=wasmExports["K"])();var _isInited=Module["_isInited"]=()=>(_isInited=Module["_isInited"]=wasmExports["L"])();var _isDeviceStarted=Module["_isDeviceStarted"]=()=>(_isDeviceStarted=Module["_isDeviceStarted"]=wasmExports["M"])();var __Z16isCaptureStartedv=Module["__Z16isCaptureStartedv"]=()=>(__Z16isCaptureStartedv=Module["__Z16isCaptureStartedv"]=wasmExports["N"])();var _start=Module["_start"]=()=>(_start=Module["_start"]=wasmExports["O"])();var _stop=Module["_stop"]=()=>(_stop=Module["_stop"]=wasmExports["P"])();var _startStreamingData=Module["_startStreamingData"]=()=>(_startStreamingData=Module["_startStreamingData"]=wasmExports["Q"])();var _stopStreamingData=Module["_stopStreamingData"]=()=>(_stopStreamingData=Module["_stopStreamingData"]=wasmExports["R"])();var _setSilenceDetection=Module["_setSilenceDetection"]=a0=>(_setSilenceDetection=Module["_setSilenceDetection"]=wasmExports["S"])(a0);var _setSilenceThresholdDb=Module["_setSilenceThresholdDb"]=a0=>(_setSilenceThresholdDb=Module["_setSilenceThresholdDb"]=wasmExports["T"])(a0);var _setSilenceDuration=Module["_setSilenceDuration"]=a0=>(_setSilenceDuration=Module["_setSilenceDuration"]=wasmExports["U"])(a0);var _setSecondsOfAudioToWriteBefore=Module["_setSecondsOfAudioToWriteBefore"]=a0=>(_setSecondsOfAudioToWriteBefore=Module["_setSecondsOfAudioToWriteBefore"]=wasmExports["V"])(a0);var _startRecording=Module["_startRecording"]=a0=>(_startRecording=Module["_startRecording"]=wasmExports["W"])(a0);var _setPauseRecording=Module["_setPauseRecording"]=a0=>(_setPauseRecording=Module["_setPauseRecording"]=wasmExports["X"])(a0);var _stopRecording=Module["_stopRecording"]=()=>(_stopRecording=Module["_stopRecording"]=wasmExports["Y"])();var _getVolumeDb=Module["_getVolumeDb"]=a0=>(_getVolumeDb=Module["_getVolumeDb"]=wasmExports["Z"])(a0);var _setFftSmoothing=Module["_setFftSmoothing"]=a0=>(_setFftSmoothing=Module["_setFftSmoothing"]=wasmExports["_"])(a0);var _getFft=Module["_getFft"]=a0=>(_getFft=Module["_getFft"]=wasmExports["$"])(a0);var _getWave=Module["_getWave"]=a0=>(_getWave=Module["_getWave"]=wasmExports["aa"])(a0);var _getTexture=Module["_getTexture"]=a0=>(_getTexture=Module["_getTexture"]=wasmExports["ba"])(a0);var _getTexture2D=Module["_getTexture2D"]=a0=>(_getTexture2D=Module["_getTexture2D"]=wasmExports["ca"])(a0);var _getTextureValue=Module["_getTextureValue"]=(a0,a1)=>(_getTextureValue=Module["_getTextureValue"]=wasmExports["da"])(a0,a1);var _isFilterActive=Module["_isFilterActive"]=a0=>(_isFilterActive=Module["_isFilterActive"]=wasmExports["ea"])(a0);var _addFilter=Module["_addFilter"]=a0=>(_addFilter=Module["_addFilter"]=wasmExports["fa"])(a0);var _removeFilter=Module["_removeFilter"]=a0=>(_removeFilter=Module["_removeFilter"]=wasmExports["ga"])(a0);var _getFilterParamNames=Module["_getFilterParamNames"]=(a0,a1,a2)=>(_getFilterParamNames=Module["_getFilterParamNames"]=wasmExports["ha"])(a0,a1,a2);var _setFilterParams=Module["_setFilterParams"]=(a0,a1,a2)=>(_setFilterParams=Module["_setFilterParams"]=wasmExports["ia"])(a0,a1,a2);var _getFilterParams=Module["_getFilterParams"]=(a0,a1)=>(_getFilterParams=Module["_getFilterParams"]=wasmExports["ja"])(a0,a1);var _sbrk=a0=>(_sbrk=wasmExports["ka"])(a0);var _emscripten_get_sbrk_ptr=()=>(_emscripten_get_sbrk_ptr=wasmExports["la"])();var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["ma"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["na"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["oa"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["pa"])();var dynCall_iiiji=Module["dynCall_iiiji"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiji=Module["dynCall_iiiji"]=wasmExports["qa"])(a0,a1,a2,a3,a4,a5);var dynCall_jii=Module["dynCall_jii"]=(a0,a1,a2)=>(dynCall_jii=Module["dynCall_jii"]=wasmExports["ra"])(a0,a1,a2);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["sa"])(a0,a1,a2,a3,a4);var dynCall_viijii=Module["dynCall_viijii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viijii=Module["dynCall_viijii"]=wasmExports["ta"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiij=Module["dynCall_iiiiij"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiij=Module["dynCall_iiiiij"]=wasmExports["ua"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=wasmExports["va"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=wasmExports["wa"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);Module["ccall"]=ccall;Module["cwrap"]=cwrap;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); diff --git a/web/libflutter_recorder_plugin.wasm b/web/libflutter_recorder_plugin.wasm index 111f23f6d247fbab693997877f5b6230b894397a..909e03e83020fa6f79feaabbcaf8602b552e0424 100755 GIT binary patch literal 274011 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�tyS(I1sy3Oq2e7Zrrb1f3VgW#ookb|cz%BJ zC}<`ah0cRnE#+MiB)aVf6V!s#dVfO}fO~AN8bs&w6Ew}yrYE54?GlVefYDGHn^jYW z+4%=Ors{b_V9lM^ww~M6@7NJhnnL29P#I=YLTjH6cn5h@$A!GQ0&|50zbGDKkK$<7 zb3E74k+#ITmJaepWwF6@AlJ4}!P;a&{<=fd_I~v|Q^1QJtCMu1=w`sq8@ivICliN` zVANV((<35S6y(X%D?&WIqyk}QE6P+*6xAw>5-6=RYE@u3OZak4AqE$@>+ z{(U|m<79%7jjfM@fZ=!b%Ss{$@G&^*X7Z{coQ=fm%^OUK*L>?y;Cw`cdF}iN*uHuW zw#WBl+wI>`pgIP=^p#@6w4WjL#E!4W3Omx$R7Z2Jnieovy0R#ycx%aYf^^~uIoJnOoU1Jn9tZ5pj36)Ys|$ObHa*atSJ zSsRb^V*D23;lVY@8o+Rl9Pe9bJ9;A>5H!GWZrtS7E8G2eEeyaqqoX_N5hY-d4S+pO zs08NYVM>Hprvk=;Xh!O7WUSyo6sTJ>>aG`cMMhuis*0!%@0bj?WerDeo#5C|(3424 zPNzY5urAD!SQ67SW%*=+U)+;bK+@|fUCtp@j(6cE&hC&>O+H9_$M5LWW?L=KV^;_t z2jOp+zfOC$)!;h7-ynZY<+Wy85!aZ%8h>@=4Z~pm^ZA42UdUf(i12L#=CPEvU(~!Y z=fC2ZLUaN_W97t%^CY z%X;qttK-}p7@h-mMRiYS7YEBLrQK>^yR!Elu&a9S0XtsZL)XQ@uC9tXY}fSO1NOMy zd%zxF+-td^NFt_XlD+k1a!EJ2w3}SkO)l>yS9FtO-Q>z{k|TagxZ~aA>TYsPH+ft) zd3-l1g-VmzmcsbG|IJ>8G&~yyrlCq$nsK8_2kDY39i~gGbd)Zu(s8=HO4rgARl1&z zRp~~$vPuu6tE%*1%0}U$-DbMFO1IKARl1!XSEYy2>Ec~FAA|(seXk!c#8M<0wHfxu)b-dD~zmo_mMr6l+({h<&Sd=VdMMUNcjV~1J zj~P)x8A}(k_;(Eogv~7saLrWK>Pr2n9WPp&-6vMtiJLVbj_cd zyR^-;5QG;VT$qm)gUi;w!NnG)QX5|WHzYK}11+onW@W*=UQ?8h&AwejkjD_z^T!bM zXsBj3xn~3dvqeXsZrh?vKBf_f6yKuy|ihjGXNCzlg+K!Hv84?jjr2gK_iW#r;XW#12ejj3AKjWR%`#1ZK z#(|l8VLUEaPg{tE%X*_4Y3HwQc3HL9JQNucP#VCK_+rDO7dVnRPQV_Cm$X1;CvpLj?Nr{Mw z^HKR$l6@Q^IaZF`&h^5{RI%hmxK*!lGL1-g|3mnLsMZ*4X$ZIf7P7CiKf@y_9(zv; zD`HMq#8FyCIT|xHW>pvyp$5;P;n#jQ*yNU%Uj(-Q{@MqJUpOy!<+W2&=({$nHLjK7 z%f!qC<zZMDow*l=(l*prK6&J?f=M=U#R}>#4MT@u$-Bg&{{$tCHH`(erie+M{A1 zku^y*^D{e5;J=Y%-v1LMYZ6ARMyQj1G7frS0WcduD%N*>bY5gAeDny_jrps5@8$x& zcN;s@FfuOUX}0FL+uZlL+uS2}U3Z&%B(3Xi)96ADtOMJ1w;kB7yY0Ys-E9Z9bhn)Y zOWzy&MTu-Ic~RDyT`AApc^J4#EA^QM=hNyg;Lf?Vx>JnOdA7QXxO2{}?qcqof2+G1 zch1GtU7b5A8X8KQW?H)qTQ-GU!{wc8xV&=>mv^q=^3F9}-noX$J2hO)u{6&r|Ku08 zaeQs^Rc7j{2gKoIxcdf7e3pd<%&^DjbDs<_8)Q}n1C0yQ?Kqis+Z{wJr{$=?SbcoO z$^ooMDgtQRIBm@M`4R+BcC;Ve7r@R ziExhdRhn=wd19XE#bd<}s)@PwG%_$9UCWH(v)^;$@R{(Z`orB>5Shr?;T})09MR8t z2Y!rq=3e}mK6Ju)-iBWbLb=b!Amuw+NUT|Z})fHoLiLcghHRi_t_>MHZW2_Qj z9&=?*Xjj56c4eP5XNo+sYKz1b93WVxeg-60d1*pTipJ*iX5Ug&+m;CKDH{ zTu_wcP5zH4NpSy1lzK(!NN&Fk);VKS?|U}X`h z5at}L(_7Z&0AW7Rn|ovzzu&;K7LQH-u^IEDn+`k@QhJ4%W?1?k8Pn-yU|iX^@JF^1y9+1xA4H_Kv__=1Z7dx5|o8i?FLYatCquyjVv~(*mz_gKJ=C^D~2j%{-$L!(y{HVu>IZArb?->201UIYSM_R)$XJHbH?rMKLViyK% zXDGuYN0KiVbpA)a{vVVt8((0oBJ{ZT7NIw1+y#?dWJu$SMeJ|$S=6lS?JB}Zm$kbw zB%2n83=f($P+UPn4G31jO|FWmmdlD1axXk4&e5wZ=@H~R(J1j_kmNZ7#3Q9eH5wS< zG>LsAv?zi*QY)Ow?%K9!T7_U0V(+d%usk}?Iy-_Attf->i`eJ3MNiE5$?z()Vn)zz z%syig?Z)i0Um4Y218A{zo95!Z@y=iKOkL4uY+ZMWvIszw%$={eM__HL6NnlqJJ>A*v}G&iXI(Pcx3)! z4BV?MLAe-H#h`34zzmNuIXN92ItXG_bk55f7-h= zGyiGt(oFx;A8FnuP;A{iT7J$McOPz@W-g*fSlaSJ#Z`OP#riA%Wa!sx0kq(%g>1Jp zwa|iVG#P5awI`fhEjnt*a`2<`%GXT?`I?DkblX~rn-9G zRXW#b_qjj5IL}chhrg7+`R;Rq>t}2)kay2+UOKc+&z${p;|6Cp zzlSIHy3BijcKk>P+I}~Swrb(B&%DZoeWd8YffBtVb|VUWSI*o0}MjyZezbr)zp- zWv;aGCfL={3Cz5DxFnpIZ$CPPElZaS1sK$di+wr~_T4S*yIai~=M?68iy@yH8i5!sdd%<-51+p`8+o-% z$R$6kq3CuEMOr|9S+ld0;m90ioFw@h`s_)%6xa(4Z}=PI0f$_U<6(xbXoZ{&dq>%* zB5`Pa0Y`x&wb}!Uaq$>Hc@-$F+|2>Ska!HBpoC$iO}f0-QrCh2Z-~q9GuI`pJzHU_ z@}Jp^p}@H;dfjILzXb}{I(4m&*U|y}lx%RTMMN61vXJ$Mhdfjt4qsp7 zLNXy~5JxI+MQP`;z+T{0e-H1REFuXuK4{A1dz6E2YE{=KS*%3p zW^u(fPhWc61F5~q$6HO6xA@%RI=_21zXtfVLs+}P0omSAmkSiwV1r^-< zyl?VR#3^{=tm6kvU-uJri1hX!;fm{c`BPt+W(mfHVW+g$IsQ zdzNFbW>=dfM?&Vu4UQ4hBe%6$-D<3s|J zlY%@CYSyZ0iz2i(m3U8Zv zr_CWU+HS&klXU(CUr$2)8r$kRbz$EjjsqTA#}`RE?b2t^)!yySuj|iLw$8n9-_@wa zyw?)QUeT2?oy8Gx6WI-WP~Bm)wadplG4%(L2mJJEhq27Bi+_Z!x=BV#iNWmnrV_It9lRmv1o(h9?-gw-}5p_2yQr zdcuHeUms|v(RpoN$jyn=B`f)Q_px==I?6_Eb&A8EkOjRDs{S^T$EWc&5}eeSyvn|R z74vPD1!$7}H}*uIGIBkEPe;Qv-tC5MUVezJ-xv=s|8kk&gj@KdPwf!i;}j6lhJBVQ zlTLL;7?En>L_U-1p0$Wxc5|YXPBk0d^ukVp^>O48X>>$JZT}`x5UGb2oUOx`SVGPs zf$MghhAY)CMVqD=RGOXP3So%O`r>t%K|_PXHqs@VUU-0w@tkAFsgQA+R5xU~&Se~S zE>Ue$dnn&WH%DRIB5W(_bP_C`D~(@2lX5^eAK+8QLAC&MRGz*HFkXO*p_u5!-e%Wg zj-80Q#oGnaJ;-qy!YBQ9AkW@a(IGg)_Cp3#D4Q}`lXX(RbeS63YxFoVy!c*l9_Dq0 zoFxxLgB&IV6$N`(F4KV7impD7)stT&ZRh5VW}p$J!(xg{+BtNRaE{93Y*4D`(39bj z8jRLlqbqgx;RwtPDi%$MfFQtU6(vNa9+J~Wa)wQ@O38^AmK==T zQA$qIZ~9E=O$u~MSj?m;ZA)G_Kj2D^=T26F`fw#BBk;LbN(TCs+eE1=97BAl*JRUy zaa;u!urD`|`ugumNeG7%j+%n$GiqhBpU6&3htRuH4gf!uwxPLdhAsP$UJ1zS0+Ozr9=;cXu;BFsO`oRT&z5E@zBq(jr4u zs+YzPjUOlgs#Qa^`0j{<{FJ%s-P1+?zX)>zAJ)Ep_w4PZ@4mdGGgc-|{ zi@>;OhCvsV?hd-B73QvuPId>Atc}JDyZl7T13d>hKUZ2ub5oqVFnoZ}V*5a+h3=tQ z^X&4#!rEnaS%ce=>~aSk9MUoKW{r^yXMZs^Vgv!B0gN<<=<#>?xLIP2H!{#gQ7Z_C z&^djBq0kCs$U~fPMKVkFi&Gug9Je(xGODkY=q4G{W=Rl%WH>E$g6QMZy5xkjH6K62 zY49ke6OFi3Lm^qmt+8f>mKtpXQ4}i7K33kwH28Lev0@2E(}2rKl72C`P_2z;p)s`G zn4>C3zG=r!#${g%rL}7oFZN*3HotY0x*0oGDC4``45xJ8yQ8Y&l{Sd?hf1A_ z$8$8ui3BDH?#`Kmh6`QCe=RhJ4^B`EvB?^x=BVwsqt87V z8>Bng=(zc3I6z)HsvopK+9M%0i4?XaftDQprV?+oS9DB>tJ%;}vb=S~@A(DXn!mP1Wpnq4uT<7M^Wr$$SysY^%ZYEAtp zw1&yL8!F75Jfv?Iq;1xMoC1BGQR82n0{y9tNnhw@eAP7Si`@*TK!1xy6;+%9eYVQD zZ%HtIU83W`y*zwLmgW&})MlExa-IxFDl-@3$;&oRW$To=)-nglO!G0@O+e;xmZ`a> z=9ikw#%X5PA)N`k&XS^~9&u=@9S+T_p4bk4$>U(#QN{(1hhCxs8fZj^PwS*q>LNFG z0yX$BNN^st&JW|jRXg98W+Zbu%a;0_^r}kW1L)#hU_BoM>bYZ&KKJtPcfNZznEP9@ zli&5`yRo}E;X3(UUuG@&pwAv?aA4VTcN*WcS7Fq>yRp|;y1jZZ#6jKJvYR@~0l|lo z)^Z89bWTl2Z|d-Fa>r8?mlvun2E=4EhIpJB=xztxL+k`}m?0c?TDq2hr#)@Flaa#~ zF)v;FR67<<1SbH<$>1k*%}x-3q4J|dJ`U{SaeC^Mo*X}wb@b#!ds63+yE`hX~(XdYMY2aWG&@D8eKVdccsX_Mm0~NMm^=12b}cF2mEy2@M=8=0gm5Y zT~atnS1L*45NMSSgs!s`!)d#m?z?m^?9gGiv$$Js$+FqUS+vuYfG)k;B$^GN}rt|nGC^F6Q546 z_$afI9NkE0kb@IwoWDYHTn0CV_;7D*Fd5>;*w7NuSg)!f|~M3Ng2csDkTDVD5L#wS#mW5{Mj z6O5DDJFt-0PFXr@$dkPoZR{zQ)PN7c4AcbRZJF|-a7YOd zYV7XlfJdf|*xrFO>v;Ir`X)-6FWsc=YcR=16n45Pb2XWnGS?bUW6Nxjxkj0$xO zBiF^iCMV3Bq{$xGQSEAxbyFReuWyF)@dV0?(vY4}E3)BEN3u6fdo}8D+`FEK6^u_<{JM;o^fP}@d@noze!}Yo7usyn0oBJ~!5y!O3mVsOp zok1>;hoUFee{KMU!ixwPds!Y64C6l;MzWIs+`A!DMBs*|ph%YpK!XO0Q9|7>C_$Sg zCDgUS1^CZrJ{ID?xWs3{WZ)eC)!iXS3seYpi~obhf02Gj>Ll$#LXY8a`1)o(;K^i| z_}pwW?E5|zQ^*Tp$V}tHt107qa`&t6g{J;&ldLnlXUVfiP^zUmseh4Ppy{c}`enDF zr?6qN)2-<0^p^HcVrsaq`sAg*4v0EJnbiz2FL^BQMKxyO<9-z*!{ z_akX(71Mrw1qj%DgKL}$!ebTRKFPlg8skmAzcp-KV$Nipzrc?1cb&2x%{x+7)X|Z$ zR*#T-@ja;K*MlJBa9Ngv+_%Ys>r(HYjKjS7kFT=%`R8tZ%lE>IqX}8A-jlpUu@FE1)c$|n5mAQZ1Hb+Gndp*eqHwDI96+LyFTKkfh+@zR{_a0PN znN*A_cYR;7g@@H`8vPy_*2>>}W!JA4tsMINy*Ko^sstm_BBf1v9cVKV`c-mLj4ztD|xR`Ys=1ngqNw@hX z>^v}btcxKgzk+G=xriCg0*X%OX+T#-OH!w^oQl$8!6jV;z|oky>|=#`m4nd7U3=5k z&$6D<%meX+p+Vi+%t5#$!V9m~?G|>{L%UYm{H@nyO^Gjio^|!yp66z<=h^0$wTs5H zF!!bAI!+&03Ll2WM>~_Rk#a0?K|v057cIH)sc37mQ==`z^)83{ksD=bij2=ST8w`+ z*9TnHZk}4}&zsgMI>CkGqGCw%O=cKWxo{lcL2WAH7V}qgk>oVW>cYqN&GE%vHt!<` z$+@Li*hnZN#0Lr}XTrsoFjx*&ngt-XVNiy%xKUj$+IA9d?hF)W3@;IIneByhh8aGl z+|JL@7uJlIg*Z-O!;2g(kkg2rzt83~eJlX~6g`rW>}#o8151hfq&>Kd{;mer5Sb;O zqtU%FMHc~#?jXQG)#V{Ds7e~raxF^PaU6Vc&9Yt7WfpB=f1$m`>%vbUShPt9LRBkhN!Svp-SPf^aK`BW9bhiQ?iYM?pFr!>~Cu zBk-@S3JrIMffExz+|kbr8$+_7g;LJI(84>j7DO#F^rdX!E80@P%AyTULPCHQZAV4h z(Pl>lkhLST)hLF_H7TK|#{%lC8E}ivb5*uV@~w)(M4?4KW3!F-dKfXH%>M|fzlhhA z24~^YoYwV~oReiAa$ms7dJKij52k|wm^L-&C$dXSa#Hp#YsUxIpKrdfa<2m1tH8Ne z5QC>!yl}z{FK)?nrXA1Z%7ReL*sX__NM>}NQcHhkk=c=9CL7)Jo%{xFq zis>K7sCXpP>gBfwY$<>r$R^D)i{*Q`m>#jYaIbD*Z-n{j`;@3lBIHTer?JzlJzO+y zg}wasJO<#*D8RdGUgYc~XA^VJ`lczCGKfZ{ZBjM0-#(Bw57>G6YMpN<6uU(9=ARrM zotGc)&+6thORu$^LFirKBs%cl`xX`{8U?AW@}J}vGxr>KosPz!5CK{PH8 zUEldgOjgsvIm*qSb%16@>bl#@95y%W_8&uFaLccMLQ_$Mty+^jRRPF*H;X%eez=9yfnJ>Y9QA0 z89q3X4s2o{hO||OH4pYm#=xcn#m5rF{93g|Xb$shNtV{c_+E}nk?L?w{uzinmff#q z3t=yvu^|XKpnuj+akLO*$%+#O>$7?w-ggF%xzFvR=yTt8q93`>CT~4`c4A5odOFW* zeQ9foufs7dz{<<&h)9u?zYyU0%w(q9!%T)L4N0|F0lwXtnaB%4UYx%usgE`1}Cok>vX|sF+{>c|TzCxGne1 z6ZP0pQ0!onMLF#4;A6PVnfOm%-@dZ%Tk@BUBi(^&@G;!-KWfzaYV_V&4eIP zy>e7zQqLx;UZ6Z*0HhfOGp$asW_Y*Xq4jm36U8ghk|nu0qybz1^SRr}T^cGKX? zGR+P6z>MZFu5EUKXpU|Q`s%R~_79c=sF+sC2Q5adnH4q?J;YPU8H~hgbSE0_Fq)Aa zu%cnUkK?|bW2UGEq)Q`*2{j(1zN_(#s+}X(cuj@b&2!tZ?v`y>Z)pL75iV^q&UZhV zE%x>H_WkX$x9^123-tEgWCQC?U8>&RgB5hRznj$2^!D~jkls?YvuJN=?}HUyADP?2 z{Jt9BzMyi2{c*iC>Ki8zeK<@Hf{Oey$;VJ!qvO%Tk{7ZzHj5pyh9 z#MI5SfIj%zj8@2tt6~8GMke239}9bK&a5=bp;QPvCe8{V)A_+M?N4M;`D<%s=l=bk zAb)UJb}o^$N@GDx2F`r}Qr~~)L+{OJ`o8wwgaoD(<1w&s@u2mr3+$}jXuuo^6rMd$r3)8@dF z9V92NGE?ne!yLK8xFEl<;Dm1cCNV?fcD zfg&<&+D+|PILQ46kq|tnDvw{Fcq>8m6cP#vJkgqpvP|M$PjCe#I6NnYp@Pi5i(&?` zA6_6NU_cj~o)^N076@-F6~a(7(*xF8FNzB{b&PT@o=R~wCls0kUjE)B*+F>i^rM|l zrNNU>hH(acg!TTw$Yzr$S^*VY^H2EI#|mRS0zdgUrCi)JTIU55An+Z=aK%dPCJ>`k z_2*M!E0QSU$(-kv2bVC;aGA=tZB|%EcO>ir6!hGvy_kB%uZ@8IU;5C== zuv>|bb&rl91aoq6O_ckp5IuDK8-$;O<*eBBEEMh;Vk-Y)z_uT!d`5J8ekvbRCJ-S7jY9*madG7boamNZ}q{;PlWKGsCP^F=Qoq zt)Cn}R*4>YopS$Y=#Z>(wW|g;k^DK$ruKrzi zP|WP|fP{_+c8-hV>*~2Ueyu#ago$-3kP7ODO9E8a5Ux@aBTR0csMfNc#~@NSP|fy6Z)jSX+;tH!8(V2 zD*F*u_QSsX)@wgF8r#_qUR0o6LhkNkFqjZN2Gg7!^WI_hW6Xbtvmavt3E7Xakc8Qf zw(+z3T79kepb2L?08J@$bKz2)EfBf01t zy~Nu|>tc{(DV(G(Rzg;S5=X#S7J?E-z_+gBw2SY{^oXb4?3yp0+HTt?Ajvt}I<_!= z9AVHWn_(fF0@5d*4+BJkso6`fU_MNhK&K#=B8kI2QtBAn#XGJ@wp9i3;xsr_YH z)`V>VMzdzvM{qf6i}x5Ov5(b$$?9Th87UN%-9+SwU_>Q0w;gNSJ?z%3T)sIp^c)Sf z=90!TqG$i_2q#8o=<(`5Z+Jm6JegsIA?#>VRwnUenocx$h*%Va=%uH9=_lZ%mXdF> zz0brohn4`;A_#5xG-|Ej1^4(%a7;%GB6|JsOK!oWxu7rORZ-SXg*4wt9wg3dv->{u zit0<*P$!9^@PGu%PBqcgongklPS?vB5xJBSRg~Kg?Zu^%S!FhBu?uChHZT`RfxH_H z;Kjq>T@7?gwHNS+sC#os)?c?5`%2ghs-Bb`nE#~gLqD|MZZw6uC~Bdcn$3jb{M0h0n=|*O>Z4g3d}mNo@D z|B}C%ZD+PI029{1@Cc`(J#EYhY%@xb4{8TmHpq)mOy*=9)ky;h+Ur@S6-N1>9RE1~ zvNvtFD;3p>^Ur$Iof?Rfd|&zGBDxpnPvC)8H?8*5smreTNv74j{`U;9jA^4mL}U!P z<{=AC+qAv-z~o_nM>aIM{RSOv!JBqlJ50psQ($KjIAX;Xsl?QQf+p88yaVIRKOK8m zB5|zvfTq1#>h zI*&#y=a14a+H7$O#8Vsyn_Hl~I-1`{6kZVw7OOfwG(=KVnH*w8R0bj|L|ZK8X_2v% zUkj0rvf2ZAFzNZ~spL^yc$BPmHSM~-xIfEXn`XMjIi-1;Exe!U4FJ*?<+G-1EpJw*w1G~EY{2@LF5ih ziOzy^m_IpxN^+Nw-{%wRX}-b_{B5CyzfEWoy*G#%frg^HqqNara&RUKCI`1&w?AKh zwZPd5>8<{iY0&W$dzb(BrFu0pAUFJ!0C;HGI;mCqwxltvw*-qiA&uLuKw zYZ-2GpLv}WWee_gYCZi*hN~lRc(3=@-J!AtE~>G*{ZE#YwLuAYfY8A zU5nD>nOrrIRykL#J=5iX&-!PE;MxZVF`OV)l)o6Y_^4G8}IX{a(y*{YW za>|uADUfIF6J>9ZN3_@8>5#B3C8?b#>$wi@$;x*OGF~H;sy4`OaXpP|oA>f&Eiy*9p2T&Om)XwwxgDGC-OFo=^9 zXC`S1)$4sfZ~MtS=j^lh+H0@9_F8N2z4qEC?CY!*v`plXs6S?Ej00CZfkCwZLm1ROkr)SRRtx)rlXQcgh<{HWdwJOegFLoB zI~rdiPQw(K;!KqFS|N^kRGcZ^6Wbh8UqaE8XYrxDg4hz^(533|E*6g-RvOf*Tggeu zm86S1#jpfRf!+3XCPO2gmBl24?XV*#Q&qF2QN-U``hHR$*Km9?kjvTpB))u2Um*I5 zihyVA>zur=vw=@yc^&#k$xewg^Bre@@m0pY;`xFv59mv0UuR~=pS)nDdQ9?N17Rb- zU(v@?VCWs6oVw16Y3xYfaTI*2bLPIzX*)jsxyxTfv9tDdo=3Wd%T|6l;62qjd$F_0 zzmuZzat^=5Hkj(1yRUP)!(8l~N1_JN`TRbukI!H1Y!)_Fp~l?>e0fS=F5K67fm$Fu zFIw!paItf-_v#}u4q@6$#9bBRnxL2pRGt*sR1R0zK*5@Wr=Y5sd?rvQ_u3&>ep+bx zI<-T?duCr}U4D9K)h2xv(9`l41dKO33|hX}Ih}?$tDz`2(J#fz51($_OM5hbJ8&WwJh{G9RQ{Pm8nw$9(S zU(Bg-&0)r|(Clf>TzBG%S5|V=l*4UW#xE%E4#cTRpTB2t+}wjw`2fBwEsCy?`k{KCb~ z#)_umyM3Kgz43}1f=Fi;!lCfcGzK*mVQAHu8lVm$ltyUFpgyS@=n?Bc`A}%V8m~`* z!B+&lPpG;LS`6hU25i^*SDpRa7;x-33>|Opa0=RvR5P}r;;G)f8Pv8T)94lYf)ix} z2vkmA2LZ&C3Kj+P4M_4zR7omH6v5~+pn`yU8hcJBrip)$PoXSy{(Vb+mKfu-d=n>% z)u=q55mTR+U$jrh*QP4!*x^JwP{g2+gj%1Up(EZjZxCpKhN050F>A~1y#wvE@a#EH`Fq z#T=C7rV2hJs9M$b@*621lxJ@01ue3;HaX>ni8{u@*%o8rG_9JPE;FEz$2jx-w1@C8D)P>C|yTuY={dRt?-rb}a%r{#)Lc&i+GSUqnraV+3(0Eyk zcvxQ*?yW9^SqrI;UN?$>A;dB9!LpD}$TC{!(5k4x24#pzoB)Gb@qm>FOBiLSra4N%u83?f$V0p!2z%zfb(?O)x1v?zrM}+7xNx7L@i;Vy$O2c{l#McxTAmeaZCuj|ir)M}ex+*{4-d5&YyZoY_g`7j;0IC5WjwRzZ&5`XC z*aRHl-g92;aI=_UgzhIVpy+Zt+^l}h@;on4Q#yuvf@B)!RvCYj`H5mSDks!RE}kaY z>JrNknpyc*P`~5{bxr6DtJfuY7wV!BRb89#dJw1Qr|5V(X15F=F*OQV%XMeki_@*6 z6SPR}H8hM*XW1ta5fDz%nuw?5tM=ze!1c6?uTK3Fp%dkt-cG_!PGpOdWUZgCPflvl z)3MUHZP1e%k^Z!CO`zv`wUHRj6+K0S&_PX^gda*Y*?1w>d=5ooL`WiqXX|fOl#g9Ms&rQ zSe9vF%bMOxnHH8N2nF2P&#z}#At!blx~gke=4Tw8UvW&?51%@}qCph`qo!|zUmHB6 z=1tUeoov!`tfnKemzMDBgzCadG=8SWG&rtp*U#=FbT3mvPURLWe{75W(I6csdeP9I?sp)lee%w&g>*OZA zrfYhw>!X+WZG-AMInawpGH~>=^lI?iOnx#_K(c*fz5!w{B1=2@dZf@I68@C@BszN$ znLCrOLv$#B#KwGjKYEof6v7j^cwGwJdRB(;6RNjpZ1UNmqDnC<6 zZcMDm&kESUY#1Z0YCMRSP_R-a;;#X!X{oFfgV`GzoI|cbWSazgL%fiQ#Y}71c*HEA z%n&2b3=uHEI+rcdBH8qkBxa_%ECvE~;YY7r(vY=n6Y7#d66$&$kNgAi6I{f2(`CGe zxdW8046RYJm^1>NYDO^#C6qQUB3M`mUa(PZ{>TCn^sMZ%5wa*NCUdKreHiYBPpIxh zpP$H%YK5svnAA7g5s=pa8+7uClA{WORn65*0}nV*^)O*XQ0JkNaf=;N)npo60?Qf& z&h^|#I516Ou5AlAnn9UGr_O?wG8m-b$fn2VRf@UN4I(KjvgXATC8puUO1p}lXib-5 z3g89&ahT;yrFut*x5)3jM}O1vZSh`3=|R4e*#)bN(kAb*@T?k7G~UCPRAqa3PeF1( zypQ)LocE||QZ#kmQwTvg4oQHhkpT=TfNQp|cyB^=DRho{4jWauh~(1cJp%U58e+qrTMhStq; z7}@wAOi@*wud417p28(ymAnm@m6-ons^9kLXiYUyWYwL;5Zld@i8|Uy=>88ZOgNEr z4ihJIb`3!&?9|@4vk13bi+I(4#S}SOz?@YuS8qKT{j$)yObHD)`j;D$m%pTQV zHsb@eDs-_Zm^3-A4ox>OfKID`0h@igvaVNWM?<}1Rxf;8)jM2rabp1|3K_fOgQn-h zSIaeqFKn};3TTkdKqxkXy;jcIq-bYSxM_eYPvAVSaL7?3x@|9Ny~8V@#<1=qiNRck z9&;R;rPg7pJ1$C8L!QPY915To>kbymE@gZVa3V;JFNd!vhEvhpMsjpDQ+u7wMU3c) z_FYsAQ8t2YhZ)NG(2>kWhL+dKkWa~RjfSH&Jbpyp;wjwCfMgF~h=3u39d6^Jb6Zcp zHAWFNrQ0{@UKsNSxS?Z1u!DzwESCq8jrlo!q1RO=5mR|5uy%w5Hmu?+c@ti+vt1>h zZhuOLEEwB<3&}tfMT7hs;$LxsU&#^kobWGI8h#ME4K9!KwPnn$?w!?KmtwHl=DAZ3 z_(e_~c@2fg!$-DOMGmFJo|1G^gbaDoZVLVb`3VkrO$FHsvu>4>(g4RUic%Wj6hoAh z2Dl+oR@*Hgk(yEcJMxMy-rpv&YmNiDaPK9Ba3`e?_g+%4WP4RBI7pxcLgB=IZ9;CDD`50i#;dwlbquqs+u{2-+xdCA~ua5bv>Br_QFyQGmzXqcgpxXLM3q zt7mk^jnPSc#M%g>Gp$Fb#lx}D8S!7wNL*cy#MM4trZiq0ZySsD$lW??N|tsc1+%il zL^h7DVTljGKIn(8W2l}8*%7%F5o`&96=0J_GLIGChJ!DF!bs9KFs?-_OlP8_F-1v0 zxdkPP64NNh-jU*3&2njUg-!zIBlb=S1&_hZDC1onPm{NTPTsK^VR>{YKeqhD+mZ6e zq{eoW#_@{%X4ot>AgJav7sD3B}nQV z65U{PI@C$B^O$UM=rEEEDa9ogvFyw?y;UoY(yI9QyV0dm-PA6RhH*S;^u*jfS~vP| zpRBsk;VJOgF}ty^+D119cwVh{Bby&b?MA3cH%8uI8-NTES1XPKI< z*{a#*Q-W95{ERI(u0T06wFwjGuF$Gh4`gUG@83cY+WLVU>DaF9i>1<>#joP95Q_(p zeURDxs(SGNdNQ$MO$fJJgklTVI*#H(>3VV{p*zatikz}2i0(spW(k#Xeh`;gDpF{A zBN|c;ZYE}ty-cXf_ -K_(Ugt%;F@o{Lsy?wU1r#yFJ0z#>B?FRdI8O_QNq&S5=6 zz+8RO+7(y&l&xLQri3O_ngH^{ARPA@LPjTs$_H%WV7baA@-sG(G+$HY@`1B;0FJBL zNQO{21Cumtm$r?rGzJ#AM7crYF?xz7j7k|AOGdkMwJ_z?^i`x0e~Ze)OroG0jFb=f zoJpI>EPeaS2w8{tPP}M|NvA6Ba=+$X@(j<%8#(zM2U6BkVI#KMG?}-v9aop5Z_G!t z9g6-ls_ZYHwkHZ-rF(e8R8X<76dH+EGRiERggOnZMq)({ zQ%<&k=heVDJzzKxU2*qS3c%O`-pi*+{R!!7wMrJPp`*#QLxEjd5?b`hAUxw;>=6p1C zAtU(7Z6O*VCx3NhL^ zvzQrnB?G16l)y$#C^6WTP7Vv2AR;(v7T)w-(^{}vhFe<3%nWTEfFSsxngyOP2t6#q zFfMu+hRapHxJ5x+KK^IKLR*=knaabPm2lwwX}LIJ37y<-;4X(rVwiOgx9c7rgkU^ZtqS3P8T(#KarxR@Qx9oBtuvqzncBVLe&(iPloB-5!NN0G}O|a5HGWOdVHio{B)RX1mc8BvK=1Vjv5Nb!OvGYTjs?2o z%@>s|zVLty0JIFpj9e2*Q=zV9K!>Gw6IX+!PL96sI*lc_#ZRbOefA>tAiM%zlK@hsbrH=efy%i ztd4{zdM92s5oOczk&jVMu{p{=`L&pGZ)NF{f{A|wh=G~YR8Yo^zvSJV?9_E!#Ooh`!BCADi;!{LpiFG4W zDY~43j}Z0gFkl5*Vm`Lh;}%0sqxb%lb3J9u`Jc4>G@3ds&(WDOt(ufizRPA_3Z#=@ zp~_y+(I{;}8B6O(UYTCYtc{2|X}Ru=1pVAq4xy*vYr50Lhz_(NQphlWKX8+?CjGs6;%<6 zGW)QgJ$>hn#0-BFFFAMgK-?E8>GjJ6N*byHCAGD}0mm*0l+^Y>Nr-jggXvh0I+vfe z0wr;Q8^?|AM{}#);BdTwl5SEF*+F>2Z~$8`bJ_RsqfrEnno*J($FZQhj$@5SVo&P> z{$A1kMoO&P0iCkSi3G#I^V^HR`OR%N6AXnDblbP?#gO1YA*=tb^36|i?D5FBPVsPf z^cGGvT}-evxTaj-%iVq;&I}Lr@c7N0X#1P7>Ga?5Ypsxu?OIQokzyZoA~IoBIZyb; ziAmb!JF$QmdUdBYT_8N}&eQ8D$LQnx9!-%Ib29d_6($wT)}8``a$NPa%5VH+OvEz; zd`J?iYDk{GqBAtj_9spxgPcm>ni$Ju=LHpJN;QFrVZU%F!seXjbkzb@kPZ)Gqw#q# z`;aEWx&t9{IT$?TZr^k5j}tNhTW2+4*&BAZ1oY#1z4I#OoMBQt&%> zmB}t-0Egl?)U>6`6L<-xfEbCWB;jN(@aafM!5l<1 z=4T$S?jc2HvqfYM6WV19LpBS6iJXK_{qzh#`77iAl3x3N2t|5OakX_E6ZY>`h{$o< z38w+b5P&Vo3AKhSh-!i&=4nogBN;kD>Q;|)ZQDd0mY_yKPhrwip~9{v3n{ikX z&0nD;!_50h=cq@pm#h+9x@v0muAiL|4@nM+JAeipp)XZmK5fn9uQxNa5eUTls!H&v z5~A!#Ii*M2UE-Bdo{s=4v;pW~Xg!a`n+AUJqxwHeO~d# z(%~T<8uj7PQcUmOa`4+IV}x;sxXqJxCovKX&uRE)7hq(_>X#Y7AiutR6MsWQS{<3h zF%s?pW*+l@a^*B}9#OLESwlMkDHO`O03lr#!v4{;b^TC%K6}8z4Mv~Xp6|WWqw^{L z|G#|Z0~UNx!eimkKj@B@JbG~y{-dvcHF1Gx-@jQM^t{6o(O(?h?*=W1KG7K!c;HGA zaTCl?`Ogo3!jHKsZQD*N+{o;LetP;NZ}$(J*jEfi zv4=i!fPKxA`94g`qdU6E*~ulVkE8HfPuXpavX?Ah_L2jX-A!3GES9N$#i1^U!^>As zG9VHM(X4*OY@_V*)gQL%Z=@_Uq@nWTxBk5oVyL|DU%pU1KK+r;FA)BoNc6qr*=je^ zsE*&-zwgeUTKPmjeswbVrM={_vW8#C)Q?}COxYW}ZA0|fW5NXAqh3tZQ71Mi^<+OL z-hU(mjq55z>?Wm7Y*6aSeoR7Hqtx{krT+OdkG-{JXZOV_H$U*3Kf3jMAKP{?u=aJ;uzDa1%iC!SN(K+JIUxZ0(!#@4*8e=C!V9+Yd?bXmOzl171Bg3?~^18Jx3| z!2~IGt!^mz#P;(vj>mV-mlF!rD9WmtQS^NpG&D20qa%!d;tlCpZ#(h*FFa_YCr|FU z!wA5L>VpqicRx(|us z62sv|AQT2NzvxYK6;n(L1jg_#eDOvrBX;QK%F4RuQy5HW+1Q-(21`W{OL}`NY4p~w zS{1Bi-VwU#4dp?MAQW_g&L|WDg&BE{^taKQVl{P;`07|gWJK1Kt??ECKooty3fXlM z(7ycd!}GEW=9vEf6XT0w5eM8OjgJ3NiLv*FW-9nd!3%wZt`DAZ@NV;ScCs+qDsvGM z>a0A!1~QrT|KXaRGxLz1%1tmMKzPgkXNo*Vt5jd!>oVIv@uJ=dXXx)qlGY8HDkk*y zeJFMWb!wqzc0~O5pZ(6R`vDd0f0s`(jWIafZyA)P(^1h?`|o4n{Bemf)4#y^7pA~* z`DO&GWrZjM8bnX)@&>FO-rn&~zogBO@`P*WK7xz$LjGQyi5-WXZ z_b|l`Y?f!T-$~jnptd*Y zo!GBWB!oiI&<)v{*G>=>q4!F=O(e!qdzeiPDdzTob~ldqh8JdP*5aex@bZtKj(zDj zyl52?JB%PN*rB~Qyezch;Sf8w4Yv>a3KPS=t+h**@WWEoVD_2>L6`jqtzymGCKoI| zNr+&J=FEjza_frvB@A054#?XRs7Im$3FYA%ZJGU5H`Yblr-C@c1yujFC5?! zw%tZIupCq4`G1tV4CDDLe660H5pCo}hPiwxtLClr=4qRBl!8HnNdgut82RW&P50?e zIw!7Bg(EIgNEjiQZCJ;ztu}rk)|g0iVWK#;jLPP%h@=l!>5W?v$-gIIDTlwlP!*LQ zCe*>NP?@NRaHAks9u`SDi)0i7Xxj$p=I&zMYl3mklpEqpN(Abq%$EfbyIoO$e?2Py z5@wr5kd~i|$}ih9X27SS@=JOq-=2h^L+i@lh|0fGiac)&t@hW`KGr_0#nUEh`*P@V zto_qX)_!(;eN`V{TPPjpYsD6MwtRh6A72|d=j%0ahx7F@Gd)|ro(oL<^WQ2{*C>wB z7sq1itBPKxwt~*oz8#AyKRQ$6-?uzRo5bG)+aZ$L2U{%bFe%c`?+6lZgn$%i=T(}* zderg}Td2}ID%nVlH*GSrK64rOCdpP=UBbk8PKY}+qaVc!2=&4+in2>N zDmSR5q*gwbT~)A|zEat==aMbKAs^*Z=uD9>qwET9lynraDp|2&9m+AA>Sw463StO&jDn6(n8(4hwFTT9xdbs7|EbGIdg`mxQo!_9LCqX+ZSk%XN7X z7A3)C0OFWhEcpiQTP!kh%Qm>4PKR?c9F9oZGqNT=JyXPt&vX6m7*2&MUedl#>p|4T?Z2RQgK8Ep{ASoI-iL>x} zd{ku6p_sMZ!tyNw8%yQ1buyPIXJE8)7Wu}UbPmhY3&UK6o5Sufb(wSVa9sz4bd>m- zise@y8z&Tib6su&{7A%5oBsYnNJTF4Q)$rA{IN1ox@V2ZWZ2dgwhf z{}r9dZq0gt{zn+?pdqLy?re@X5|7VYLzqPCtC+h9O5vI#aF}7ZxGl%kChdCK{4r^t zgZy$BVYAsVPD@*XR;MDn`9t`(@8id;KFw5M0CW(78upPz3$iZSG`Ft9x*7GztFJVM zUoF$xw2Bu@$^A)N$m;Qvx=h;NsLbC$dv}}3&+S<1%qb*Ctuc%=& z&EihBv1%WSw^!xOw^!O-Mb$P_zNZ+~1U`KQm1~M-{{f)Nplje>1#qU*{HHeu&}5gj+|pu7{Gf2z!576K!`F>9stHj zMVe?2r(nl#VJr0Pz1l*I?87~OdEZU{2*28epV`YPbXzjFT?pLeAaCHMwVlYcBrO0> z83;|gP1~2ZdzS6-EqglTp$VSv$(XHXDiD~xH5dbNm`?-clW_&&Df3xay9C5T4G@oe z9xyQwhYZ9+HHb%!0^*(qhzEK>9N-hkg2_EKn0vcm2yQC^IXTFhLbqn~H~=U58I`;g zkPZNe5DHMmldkVzj=t*d>!C#a>btM6u*ag>&cdk3>Q!LC=fm@?uOhCYjCP0dr@4jD zAP~I9Zm$FFjEhp&ce3q&^_A#`&J_C=Y_7B$eY{#_*C@SpBcZ-xy^iU1goE2tufCf= z0~vn@SQtPa(+%-09C+EbcTYaf-|MfxUX5R+0@;n%gT%zERAgm1-8X(SM^Ixj5>}us zRBQ;4+E!+oiL9g?e^;sYwq7{;4v_8nE!2?j-E+NxT9H?%PbwOB0Z z+fyI9_B>$EC{O;EB8QqccUsqXQoA|SyAVe<-4HtY%4zyDfjf+gMDecPdX>QAmto~9 z=ZsEEFRi3$L1WM>0Sls;oEVN@g**-1mS?M9uMqC~e%MSi`n`N--8a zJ1iz8WbfU!XAjr6?R5*1mUK}z7)uUErL=;otJ;DkWw)K!Zo9nHF%a3G$8r;RIivB& z{(OSfnJ`~&byDrm(=T3vmdNz71S=vV%jepwq~!h9dTlG0SpF%<%4I>8CtqlfTp*|d z=5S95ttaqRd(#apb$7dbNu(kDxEp1(*$)-3DQ&aAB|7FIK0HXNeame2C*95dLEG%N z5h~=E_n8cQ`~Dp_nj{RS!{mzIlhz^%WWDbJh(i z$Cco9ffq}TK}|BQDE^nG$TzQtHhc+uarqddUWBC0Dn_!N4?G0}K2Uma%q;Brl8C?H27%3;WmgL{RJrnSKzDlUmiQpVTL^C>MiTt0n` z2~ebj3p00ZGhUbPLt376tw}LrGn&pRTll~PA0HQLnZ`&}3nEE~SFJZ{nAFk`si=bM zXH`H0)bi`7VW3jGJqbXQ2-@m|aNmgA?@l5FM#KPsdJ&hpB(wbv#(Y`WjmPi(thCz2 zo#Zs9qNr2{;`*|H+nJW-fmse-TOQJDnHU2s%<}nAdbxnylYWP}^RaTdwA|>mT<_~( z1Qjq9;4*bc3wRAN&$UIFQoUVe2sKY$%cQ{}2z~7$lXwrcu!F?Ton~1f5t;#tVe{%NU@u1xy99=DYK8onFRZ#4SF;5kfSq!ShmqUAxI-p9R7>YL!hJ`SC+~H zjCxhM4?-Luq{j!L2|CpRbDFO)(6lbue$!2RZ#!^k;mw3!!*l2Ey?63E%$3|Uw^&;q zVKMAlQiiVFg@WVg_L#PPCiq!#MX`>yF*%uIQO}8Kc&%mmKtv?AV-FEq6%ofVHz2zN zn-v&`6rB_Lh;gF2O>nh@tXdH>$RRqHejG2=^rT5VWu-eE;>5}%X3qz&IRpilJjlLL z2DY+fatAO11+WQDP$z?N#PO;@km6^AAGgfK0Eng@AgKZI!W2INeuz^4Pe4$*LM~3i zf3cP&mv*+$0a70_hR)DHk_-WgXS4?$;Rrh5*n`f%bA}F(thI1~jvc16;5J&dGj!q5fQ?9q4QGu?^Q9$0x6pjP zF3Yqqyyff6FxqgX{jdwEh2!lv-E!Mq2flO@lFtVLsj;UXKK!Y-Ftx0b8KydPZ5JU| zcR?@51voPIbAbtu-XRYcAY5$7r#3RfxD>bg2kogKO>Drj?O_)60Q;b&4p{Pj7T1G0XsG-EwAi_AJsS{Gwf^IMaXJcqbvcyee}UYC3;qKd!+n!|ST=+jW= z^t0bKJ(Lg>d*qEYKDUC=x`wMnTIG9aD795*95-+B~pH_{4$Iu=Tg}gI1lEEuk2X_93u< zIcBx<31@-vX739P>6Mx`b#ycHdck&F5ykuP;|LMl|brZ zZEL-V$sj$Aj2ir@`ht%Y4$ENB1(v(vtXY)kU}6_P961J?mDfvxZwXXz(Sbva&pO6c z(pWG@^*^6vqK{)|txN`DRvvB153WP#GY`Q;)*>MmcdCL~($j-1Va?K!l#Nk84)18$ zNp9JUUfThiESNNy6c~3YFeKj`lL9PZz)wE@;l94{-yJ|iae=U7xfTyHT}0~4;NTe& z7U!imM_?>0PKjtA*qSNyl$541BtMT3T@y#BDa9YiABpaE7<-p5e zYDDWb<;>1$R5WM4{5H;bugk$xM#)@cZ*-wzP>?eo; zET(fYJRHtdU~~h2_w&L{T)gmCFI?Eg3x5^9pD_43f2b7x%A?)j;MYDa63Ya#*u>hz zsH`j(Cp3qKgl5RiC&~%@C-O)pBXTXnq+u^6o+j(Dxz~EMPcR7yv-a5K7vln5Y+ZGK z+r+JA#qw-G5}S$=6Pxyr*o>@|l(hpU=3qa4wv>rmeSKz3+_FAH_w_JwYe}EAmh@R` zNuRZr^cjt_!N-uP7}-YOaWSw3p+Z|OVPIgHO{mk{8XJL&!?12}u|uf1n8hm})~w6kctpwR)`gfXK% zGO>kZniX1RJoNXzjfX*vhX%bO2;VQiIJB`OPrv*cT+;J&2Iej29U4tz^vWW5`$k0= z`t*C!@}4n^LG(LYl<=84p`*Ynbd5_8cB*WlObsT4iefYm(q>pz7tV&&10yftG=jF! zVxW?bzX>H#0#nVPMt*qeYS_i4I>0m8&tC!&B?PE!#%zDT#a9F_Gxpl*u4X2g&eUM zeLhjQ<4eaLd5WLqLoqS&ZHYKZZR6R`D&6A1m5_F1Je- zAXdQz?EGka@rxztHYv|!mfEy^0{%kwu;QQc)?M*;M*v&tYQ<56;aWm*vZ!TR^Jh|J zFtD=>3J1DY+Kz)@baawP3-uf|=a&^z`>hu232wk}gfv$Y*2TW$0O2Z6U$@szg?u$T ztL&SW^mVUwN0ZZ)TIq*jhUEzZo8P8w6v8^-vSO7Dmyc=LRU00Mp^!a1idkU~kHk4n zbhc@&tr)k_^C6ZOBbJzk@uSIA$1rz?=Bj%YD^5S?i!An0%zpSE**>u>dL&a)An#U5 zb>jt#Hc|nm9NO5yKRBkD>BMkES80RhFT8(LGjD$`*VqVgs}I>~dpOJ@7yDv5o1kcN zfYsb&xcri(3$i`a%NiA)ZAvpt8XP*`O65~JQc&g9T7oi!O1{KH9_{L_`LVkAV|+Hf zs<4Xd!9;Ec1_4eY3BIy;GxCa679npKtOs9<#h_wP%Td(lB4)pEmi;s=l8_bN@aEK6 zn_uZMFTEa)UM1}g$F1~}q3rFIM>b0^{>q(c`FAIqr0kF9_OmhfqqFCOf3N%IjgU|5B z%4ayhm8Dp@4ySksFm{vn?+8DLn%F)}3Nk4xfgl5;Semx74U2g^)1et7S?p9gbRwdN ziI{r8DBMF0UgqbHbWUf<$)*U~lk;@m>T*Q=Ysw98Y`=va z1CTN6u)O!FIGYqd`%`vvQpj8^4}85!winc# z2)YbpD61G+UV=`MbwejLN;?1aG~YjC0qw@S7*=u78}q9b0C$SAuK7@@#7!{QbhJ(* zLa+UVlTU4)U1FVu8vlRqW zi1gp=J7?eD=^ifMp-=$HJzyBz*I1d_%^bts%IJDL*0w)BbmOmuv*r{(SOYrPiF;3} z$Bk3!+8b;?k|ybO@$O~rX-ME_6cIsp-!_BDhx-!U))47-1X3S*qBEECqLsw@MJLee z7j}yL<;Zt)yUMGRDAu1ue^7eMUV1=e#4d1Ny1;qq0#^XVV*o$$SS3e@Ff@&fb(K%Llnf*`f8A4|A3j7F3tD&y33Zo{BdmjCf=Q zqdJ?rLXTJOVz_c@Wfwe&eUZmUXh-`ME=8nHnZUmhYYJ;wVgROP_zmiuI3^Ihsv(yn zt#Zs!g&?yz3@61A>H4VAI%A|QPRrX>-g0fJ2@*-0g_c>$yPq4-at?a+`Jr_e^oDLkuZ-}ODwxe zCUq&Q-~*B#3tbDjQTcq~(Qdav6e_BL?LDy{6(O6M9;(EoV1-Z@QMq# zpZG}QD)KNrD`|XOfir<-)hk76o!^aWtx#)!tgB}eDK@Mik|8l2E`QRG3gwV^%>q zL1HfZ0e)m330*8PUOdfC;rvQJ*0pue#Ck+E95>dtf2&wK%Hs;5mz12sHNPkwB`8;V znxXt1HZl}Px z-eX0Sy@3?7f}%E^CA*LjtDaKCr}9fS<^9^5w>u1w0Q<$JA1RxV!@-Q@<;~)bmI?^uY z$*$vt(_?9g#|nhjCkNFM(`SE>lqX}PS>Qul>eP4CeRB5u8r53FkS^D(NZsPU+CJ0# zR_3($mX97lkvu17f2&Ciy=52}v0^4WbLAhMl0A$}$@XyIE6Ki+l=ppdhFlku_mST< zmavqCkIZB*%wAM}w*LB5_^On>;p>C`72Z+n3FcVy5GIVMWho2yIb7w|Nq)h7w1#`{ zZ}?ZGC`hWlK30Ey=mGz#l*hx@ulQGLjmo{B4Yg$FQCnQ<+mj*RQ#F*we$$~S<*D#> z;r^=K4}RXiDrGNmR)xXd`s*XVw`UGs4L z^|s&luS&T+e0{Y3`q&@%SEU>XUmvT#KJdU-ulUy5ye2{#7ZDhp)HRUqA3A|EiQH!`J=w*9ZUHzbfUa z@b!K5*RL^~6r(6*;iFE;57b}Z_htX8l)d5Why1I$(^l%sy?>`n>Ym%bpr@3l2ka>> zmHD1f>An30KU5d|z#mryAGW8sROWj_!Ou1dGOongs%`%l9XWkI6tX_FeAbUW>RI*q zfspl4&kCT=VuFbVO1Ukx^0E5seShU&m2$g(MG~3_VbxHA5%KuhkIk@5W#>jFv+LH0 z0w0@^w9#6e@|F+sPA(3a@)6nVA0>441!35cyo|EPllE$<4QcP5)JtlGP}v2Nnp)zK zY(#BYDcK!C`jO0A;`(MCrOUXG{KXJ{y|yp0&*t&;$lh*~MQI=U z0eGmGY@T0rA2yQdB1|8dn(cpx>v+N_tOV7az07S{Q$x~)p>wL9dAG>(Ix3SX)Me znr8_#PYsgIj+vie%kcFkm1?wE>*{)KPdHl|*P+BIRMeakqqP-SgC?40=VfUbGjPAB zUPdxaFDh|ZO4D5y_2$dujVvV1rn8`E6)9Z2LS9i}LD#62nv64Dm#sq~BInGrXi_2h z2RPydyJ-}hM&UHZmFNmY^Ys$#xfe}Ac_KjamjqpK#6qXA!L|{i_Tel(3}x%&SDd=`UKi_JIV1#J!haSKlok&75|OahU7^UJ07KX-U866gb0A5KVMVK^%c&9Dl@eM- zvjtTv%@|T?o$LvvIpYRl_(*H>UAcZf<@G`Ex`T{nR3G}lJYFRyE4nF2jrw3Yx;b(n zr~=-hq9`aDMF-2(p${E~<)Gj6k?|&?a9rJZ7+d_cOci{L29ub@KsskL4eG|RKm2PN zt#8%nk@Tnne*HpT{V1S{9fuT1eaXZHX9bM|w_*%oBXZfJ1M z{^^RdtGgF|I7m%h{!rb*(BSM_aq{LyamLL7gtmlztGw8>5B?J2cdhnSNhe^HP5|#h zLl3~`arR5z*W!MOW-y__(x@#S12CIpWVFh?EImsjAxPK_^CfQt?}>am zpx8+51F}@g^NTo{C69c>w6et73?h%q4~O0`Pt5&t=*Qq7{OyzS?{U`}dPA9BAshF6 z3D2|>qcYAD1Yjgys%+th7Du+z!2(%%Tl(XO((L_glOs&duXh!`8o-e|O3cn6H`#PL zC}xd3kJ}$fnU@PY6i~_vT{`QMkVP_E%eq9H^U_WBT{=*RlnXcQ;ryM+IVr+j<-(h9 z+QU&l`$5X4Axm0*;-A0vMEVn)#>v`I@w zMS>LN+z(08{;Ff31$k8ZkYjeKI#|z-j=LknR@GnR4=J zGqSComshH>7I^8a|M7MD-I)AWCN8=JD&0p*jtvtc3|?a8>2 z{S%)3(f<~*h2Mwx?Pk9$0;aZoMNN$sw^sMYjzy0i zl(HWNIAnhqm%C+Q^nJ@d3=CnHeaIe6pZaX8+$(BR0Q#Sb%Kw>|?w}eHU{djRx24uj zvF)-SY1vV~30S#sC?XEPQA&%14fIucZ!_l9i1rE+Gxpoow=UOWu<#-u%ByOsHIf9UClgPOdunJXMw(zFLs{QI+X+v{5ITM zbR<=q%@9J$JovL{2V5Q|NtuV0+_m{IlVuhfY*!~KH&KS(usqtw*%Y3cZYJdxJ0Ggk zzO+;C;4JqPhPjHh)$>5gFBeV9Ct*Le-wueh;SO^*l!h*;(WNg9r2U#n=Dg@4oh;KmPJ1 z2VeX*?>pmdfBEIte)0gxe7NBozw%vwanf(R=-`Y0@cTb?;(>Vc{Ra-d_!pkaCMG7{ zyzRgN3=*1pP@QdN2W18hzW9p&sQ*4k);u~OJV}myw?8_(?Vvd6;2j6^_>R0)<=uAh zz#Z)^wf#{o-N^>H>+7*lFE62MKFZ<=BTXjou``R>jm&=`29OviZ~Ld%{l(xH#U(oG zwO=8x_?+&i2h6?4$|E;06a@(pN}qcoC{`;iu)7^TB@0?$A<-&X`RG4k=}19++mHcP zLw2~oj`VK7-c7Ct=v()Y1EKlK#YRd4A+oH?jC+M>zuP2J$5orpYLJzrB0AYu*0^dD zH!yC$t<^#*-;mxIU&oASfs^xEN{Gr2C5--7GRq^R(fDe8vKUd5eV~o(h;aLSoj#b2 z&BnPj(`8fGpKpC)m`NYrzQ{fK24b)?DqyjGF z`4Pqj99A!XAu%_)&@wx@8FFv|x$CIAi%~M#*}Kv0Pg{U7JA23Z>pOjq+9L=o+z++t ze-u$Lhn41Zu}yTW{vG*iLj78DommBs>^SnB*_p&JBl6T(-u_N0R+fQYiA+J3#Cf}} zOucfyb&XXr)gk(yy?)QMKivO1&NL_lmtvfa3X%eGEy&SS43V_=Y6V%1lGb5ZF}>tX zx>#YusSdGd($s8%#1uDLO#{$oC5oTaqJ2!CNz;}n4684S&yU<%F99Z3WRaL;O)@nB zk#00a&!(F)MePrt-#Tgcx*O8#5~N(YfOh@W;$my>FtqhUjZ=kqYwsqm6EAqURSz3@ zxJ?fzE6fruw%~+>Hpd;SGRpIOV?KOu=aO(A%IUKQ^NZjAe`P-t@6U^TLtdqy*iGNJ zxF52y(x+qd3u`N2JnO`h0Unm1hS|*{MhLTbV6#>hPeI1U06SAc1$C|@VGJw^ktAj5 zxJM-O+}Q{v^}A)UbGngns&k4qi%B|lv2%v5=Z1p%N6Klp=J~$PX5qis*}9K!)RAw_ zw<;Tbke{BPp;VB`^Zc}ZojgA!KXqT{bbY5DD6(ZARZ@Omr%)mYk@IvFqEfyWJns17 z_!SpJsLn=z`dr-Epc*&ln-}wqx9$h*hW(4h>6F~KUmv#QpuhFj;_Q6$t;IPE^cZ%G zqT*EJ%HouKBb3=t6#jaKe>@FUt03Z9QSRuv?5DXz8WW8jB+>L~+0^MQ-CJi)W zgNh?Y#g2VipwI1O8noq;X1i0xjAV@Lc>W-FNZDjGu}u@-s*j`@=c4K3q>qY$S=q*R9+zDXXWQBmD=+>pUI!U zuQQWBFF$Wz=d8uf^Tcmw=I8FCVgT&xbQU|C_IHWDN#CEhU**A-E}Y5FqWu1R3#B?_ zw@={5r;bu*tg!qrYD&mCqT6=8bej#;x-C)LN$4Sfk+q@%Fa4wdni$H7_iRXUPG0QK zPg#Vamy%?2p6}1$@KcXYnp1K}b83S$XXjh?=Vve~Y7%YDPv4)Pw%9qXpHydvRHp?} zF#uV-Lg|^bUY3!Nj{n{msaS?;`O&FWh+27rS};mrq|^JUvqjW_(E=kO>Z>8eAYw`^ zrq>|SOM{W-`x!|j72|}F#Qlw_y=yq}($7dh`_>rg)MZF<%F#)2sz`B4gA_1AAjKK| zq&Q8afT4^OTk|s*V2j0;{OtTRC?pxTIX{H~x`-S89Iw`aP7>gYff3y2Z2jT{RA)gVZh*7Ix3q8Vkp@P#TwIwUb zd0>eR*JG*Zu?)M9Z)K3vH8PC9jA$`nwbys5>7^`>n?=SV@83pR$KzjX^5jTSP^5_n;poyM3agYgE!pDUjNZ*;aUcFvXrL(dt9NODo;oLi+>Iv~1n zu`?ryMtumq8ReD8JS{(4sc=b-LdehAhhjl}?dvdxH%ktliUI=<0HCLk9M&zu5KX4< zn@t!>Yn@JcG~5PB#8WN1eUb=1U218IbQE=2U!_71;xv@-Mi=rGL8Lup#W)r88wj9B zwOzlBW}~tw;dDD@v&Hd^X7@LGNsAYEe6@A{HW?yP*r(*1_tgn%wl_Mo*goB_yi(p9 zpt|x}g7(9M1)^s2VnY>f;4EU0@$iB6IT|f74iG~%2tWoG{l)?2FxNv0pmmA&Y)Bz1 zte*q&CG-fL7}5D~K;Ga0df03ni8AAW!Z<*r*rJi7fdvO(H`r_(GvZqAYK8N;OhuAN z?xn5l9WjKyIlEG0O7<$VFjj(^>3?nl#$(rsbn7RSXxL z|90|6P6UNE7TRT8v={+8YOPHI%*OaCyF3IeETFSc5CX&H%`FfB!D3iADAZ9SOTm(! z`%TM&eg_!pyPiK!Px;1iD}axLPopeZ`oXic;LuTtMun=iRLzGXrOgnL&>389i0ZWX zg*2K_G_+>sO8$VTRxo^~SPpB43ihILEFGAZEe5n`X=zNpLYiV^5PF8~lDR@R(~MqS zAPacFdM}83N);Byi&$0!;jp)IBAO~`T06DEWp(4>T)POuDEJdb#2{j69S1m$>Yn-ET%DoOCW!(*T#!G^s)u3?sVARaCJa<+?Ge zfnTQzIeV$1+sCM3ERa~)RRd?5=QGg}qnGNR#cUPd5zuS*B zlWj1@Fz&8Ft3yNu<8JG7M?>)8Md2*IW3XBO5gM%;L>nxeA1q@6K%8n^E`UZ~F_SYR z#!VOK5J>lOq>ml3`H7V%uZ?JkmE$HI!J^u`%#_$&dG=*2CesKQETP()E6k^72 zH06V&hcvjaxfRYG7*?UB)&_~h7b^^mX`bDlKiA#Hx+9CNIqRjzDC6bxCArP@Dl#UpBwChQJ|+T@4=CLO|{73*;NC# z&B!!IlxRJ)sos{<;ksiv^``cy4(L(M^bC8kx>0jPfW5rSD4Ps8^0<8VBd@_^gp#o@ zz{Gs5+L$}l3;=r4v7{Tiq+gC40#uXUA+8oghN6(S!rsX)wFYw5+P+|it%8(45hNiuv56c@)_-v4#euAxR{}$xQP@_2bh(e!Y_4Y9Sa+x}ac<=1zDjgdb!fjY zOf3s5D-loEnksF8ch#~%YRR#$nO$Pt!OQS5)-%KkHDIM+P0V$42tTMNmnAx0RU2^x zm^ISy>%diuu@2b`xM?BBf!*G`f>0ZYM3KpRI$Q1o)M#tU&uLO%QUJgoBueT{B6O00r>o7th32~L8HF&-W#_y z|B(*(4N>;R_{b`9Ziw|n6M0PRG0|gck7-B1RDwDFezt}>Ifb-zaaP9~@B%HVZDR-J z$SSWhe*rDK%y!)_TK)+1MG%uNtv7t)_B(xRx?K3}q`YUn`_!|fz#FHP%(LI$9`nhwWEs6(JAFAyc{L zN+AOwZ~x^PB+&z)^GViCAP@=Jok{r+>0A>AV~~Cq)FQ#sKcpH+=n{?>Cmh9~4w!Ul zs+xf6gj-U|3AZGi7wj1APqCa5 zjJ3^sx6V2TuFhSa9%n1%i9;&y`Xae0FO)E9#ozY$NGxaBpSqPlhX_?-X%GA8)IdGV z-CLv*_W)1}!$kHkZ{Nh}Y>Aihx8L*8fA$XFv+2m_$QNc_^rDe3ya@5QZR88@zl4o^ ziflp)8rR?Zgbf_+Z+9%=z9;aD$zBX5Z^r!$@b~WH$l)TK#PgGjGv#Km-omg5!4^QD zI13gKzU=ONo}}Bl_^a&IcCO+`C^FY6cmsUeIdJ<{?qb%zbWs>`0%`Du{*?AYTN? zTKNO~Xf%x5slv-^FD{({BD4{B>!AEN-t_5g&Uh2ytv^@u0Tkwon51~F&|xJS;|^XQ zIZB5NH9ACOrb9+ThuCq<-j!LsnRa=s0H8A#xF@&S$DO zM!YvHz7nhd&|ZXBF6K|o=QM}-*2TU6sF7Z%3j;)q;6LLkkB=z3aC``UA*M1D6F&SbR4 zj2c;t{iF7UP1L9lA&@PK>YPyp4SN*#1B#T!4ZpAKD~NxJmBJ;=el^UI*#)~CVr_?! z{gK`DqZeTPQQT-_Y_it{mj+yvt-~oBARiC}E%Y(Q#4Z|v#1ILiYg&!5)?bOxzZ`zh zfTs5zNZs3=3s={3WpMfALv}_QN!4EC1n{s0B1*P_s;XoUfgla+$^SjYC5$dZ26f=H zRFkt*eMl>GotH^%^1JxGjR zjddfX8d`4s4r;QL+o&`ESEZy4*VWnq*w9QpZ`;X7f=wUV!12>^@|tpC;Ym)S+O<`q z*X-K0iw^xv1d3&=UBoP@BT|PTcP&|Ai~07GE$sW+XaZ-C#UgJyT(~7L=t3>gi4l2W zx~z$?zClInK~0c#jKunpkGzcLgX&c2dps|#H#sl|n&xFoz-+?|U8l|(P|u>VtY_(Q zX5|Qmmy8XrD-#qpDuDx1T{>thlD2b5jkb^P+*O1=AFw_zV~Pj@GgM$8Ijqlztp}3O z=d!)j=fmAT*O4dsoPHc7kmj)UIj4XDqQJ7uV|7TY?h76FH5^7E`{7hQ!OdTTP#tW- zEdg)`W=sz@T5k{s8a4r=9-bI(@`R$i0$4mTC^|V(FsC6USVC&7MoN3ix>E>dxhNxB?kxEsfGs-8jE$X1dMg1TMZAEU5%ROeeCBaZCo2#icbKs$Q| zk~n{2YeeE2GrzRp4$}lv%mnA57JBFzIgW{Sm*e0gaU4y6xfCeR_>SFR0@foOwHa(p zOpN)eMgX8(cms0b9=YNtv%GQx9VOH$gHTDF$}x4@SXLFo3=wM44!`aTg5;F2o9L?C z1IC!*2kn$tZtaA?i{Vx}`{Iy$zE}6c31}A>LPE%q=rih)!Ah5` zmM$@26PYaIY*l=y)+nEjU8Ve)-6DBZodO3Zb|rFL{#`fc61_5DBRUQ;CJr)YpetkS zd}ggz2A1d*>PbUAUyFNn3ybWqp0IT-gCOtGGFEq}zel3zI`3XB!|mynmT?sNw9HT~ zH>5O>8MT&)yD~%Kuk6t>Xe2a?v|o!0cBAlW-O2!&Z$C0{Jc_20IHqVMcAAPtlZ{%@ zxYl7Hqi7iXnuTEmb|sjE7hRsHw;5hGObO3~05%dQr8*z;s{4EAF(m0ws~&)KRZmx#OZ8~zSjU*sp$+N@L&*6j zDaAk1K23zA7}Tz@L*K3fGSmc43aCk@k){HQYes^5b3`X2hUvC-)wZ1&3}P&3b!db1 zl4;U$>GdJz#Bf^If?+q($ltmapD402l{I>hclerJ(Bk5qSUZQfVqCIbgfPxw&?3#5 z;-aCbWoReotnRhX#z^8*zALNol4Uo3HHEeU86|P_%nI%9!FsJA@`*&Hxtb=_F%+5& z-c&~IfYeh|h$kSFPE<$PMNlJHa=~P%w3uRJ2aPZC)?ifptEw38#z!simCVNkQjL@gPjNXn{j6hj0X4JFTkya)hs0ka*lc9t z37&v`M_@H5yiNDQsh5Bx##vSo!m`&QK`;fA>NePJzJ~pPKh!nlR@Fg1jMQ?$ZjSBd zZCD2*f@z#@WtQem+|t0hp$$!Cj(u~8Xv}ge0y47E2ia0S(ABhukB))aFZahgZ2@Lk zE2FBlskqrTLpp23FzJ#K(QtWY?LAwYe{30m_oz*EwIZk&fPBAZwc zP!*Q5{qwOOm|~&ULMcl9`9clB8}o!oxmuLH-+H;{CHoQ-7lRa<_-fuxalhszA0#Xg#HcVo@Q#gP(l?!eA#= zO+hlIhK>muzBo`Ox$LVtHxkBI*o1hIKKrl`r2cq^oL_ZLZFl>_T5@(u5yOQCjxIXR zYqfzHXMYG6Q5$~85mf?rc7mtt(@3&nhY&%YMkH#f1gbgDLPXE`7<~Es8_n>`AO}t(DzlcQ<8XSr~zY zT-Weg9$JOU)D;G5O>J`~vkCK;d}ILx!xu^Pd< zr{RO9`J}ndvFauV zaPn#Stw?m0tvnH3%>520v#WI?RbG;XEHYgsAXjZKi|5VCB1_d`maMeMktuh^SS~UZ za!030Zpu~T)U1w}cAS?9ekY4@!K8R*+o;8a&>G}S?d!Y<4IOW%vsSX01hCaz6%X|U zC{{%UeFZ(^SgGe7BCG8+g}H7SuSHOhGsw6N6>bmt5pIUuJzy5lMyNd9w!7b`u9yS~ zng|~Nb)1XafI41efr?HIoMo-s1aia{Dl=fN!$T4wIH_svxHpiCNHW1+%@iE;h(TuU zu9ByV32wFN60eE(TCalZqlL97jr)`J3vCly=r*e_L&Pb4nbMc`qe-nJMi?k)bQ(c+a5S6R@MCDYEsN_we^4$`Z@2y1TSC3y*PAw}c{eJA@7L`{ab(#a& z7M^?9u-}UuaEb3;L z2q3#xW#ViS%hjteG(?&e9!d!$DsgyBDk49Y6NW%4sHa$!N*Hp7dz>KCa?_6E#bh9q znu1Le@N!|OSd5b<3|E0}XO#;>6Q3y1K4I9CJY8hmli8(Iv+vh>(_I*@F*%DcjJT)N zamaq2hOiYjSLh1+V+umWX?~6+O%QLDAY4-m!Zlq%dlW$!igpE|f=vIrM6V$TS0Luq z^Ov?45)b*r4MI#x5)T&43dwxeT|jqzNdsdD)$Rhv7cBVMxeHJWT5*|R!Ec5&a1D?i zH+KN+sX3<5+?s*WsldU*O)mhB>h^6zGsD7`n-9||*sCXM@C+JPHXd1iKc#xxwY67m z8%3IQwSOyfS$rE-QX661F84AmXDGMJTbZ?!3+y%nS49MF^=)e;ES|1PsG8 z$-_oH5E!Fes|U=O^3iBcBbfNIb6n%aRX_Yrxy3J|qFu`1)e<9^20fp;dBK7<_JqV) z*PckQCpfWFt9*1x_Fp(xQzx*^OOnh79j!^sd{Cy>-UgJAM=M`V`j(2QIwT7A2NpA-44l#GuUVZuNG1j6=M1 zi~}qve%2`aK}ytu{7MB*2Knq#9yh7I7LqT!VjWsbGGPr}%jpE0f3f8}I;c`i$Es3e z%aqau4r7$^SzBEy)D;RZ(;y~S$^#uN4^uC2uxFHMOBE|*4NI>IMKx)3mMxoHMkD{s zY;v}hqsxhaMbS1>QzlO~aF~tqI+uMgE@Gf?%oH%X_xOt}wW=Vi%uz~Tg;M6>8GD)c z*a8Z>&fXoy5;n1lv-kQ^MYkps8&(V#O=zikGj2RtwoY18`7)+*#!(EZc}-lEz~M|V zEy6t=Sa&#D6cQ->$U|xs4|0{7=SutRKSp_SBaH7iLiHAI=?s@Cul zTBs6+g=hk6SOITlmy4Vyte_y(Tv4~0I7o8q?*Y~Yd-Uqz>CORu|Gv zBY-Im7KpBB-i!E`$-}V_dz;HXWe4_I}|E-gHscj&F&exT}5JyCX71*6UjKot|JxnJG4F~Qiv~#5yJzxvf;bErZ{I2X-G*@SD~VsUzI$Uy;486 z*4T?OOdxn|#xS$yG5uMoKco6Hq4}|3ovt;YL>!e0kJRZwtg{wFIFH&V@dx((^*B3S zwg&RZxK21?X*?X)yN!y@>=_sVEW1l%TT3LSCl%SkT)lKD0X1DC?6|8=bJh4|L`D=7 zQ&1b5`c-J&x3MhAEkmq^DG3C#N8-*f<@HJCRRmfD&}5vIZ`BCXkYjmIXZRTx+gUdM zXW3^o(uRnEksW3$fgtCAQGAs3r9Yf0@ygoRwXyy5*16bK zvIwFKh;C#p3$owHx=bEqc6e?hgJ!iW)t4ThspVz0jJ&k$zY~Lt=w!j*!nQZjc{~P} zO1)RoMT!}5yVT$c>oalozRKXLYBHH-#e%`rw6;bO%m%oHB*NNa?Mn&AZEYs+@sym#767qZnyw>DBKOhz+PZ-*4a1L73fEe0u=UI>k&m@IDCnoYS} zf5@P@tmrkpdisQ_L-qd(rdJO!WPX_-Iyya^8pmgSvDSzLSYmzQj4kVnJxX}>sMZ&j z)|kw#mHIQPKgVr-nfH5Ko|*0C*kS$hc3yJXD6(i)n|&gyjA!^>qaU}*_FTO+qbRY1 z!6|*PT#2`g!uE_2AIZY^l&A1JKm$nAxfL$BT#!wuaTH8A*4Gr9kV&c8P}v7C*JLz> z3uty&PAzV+m~{gTkO~*BiZ=EXobsV@?RtM@C4c#SEaFz6xcpr7l4;Vg!rN_Nuu}_s z3^?0B*7Dj!6m=qA4ry2jq#sLt^#AV6&KhaEk}QRc^F8(3dUXdB=*9% zGwy*gRKcLtp)EK5tG4BDpM$nkFqUo0Ta(&4AF_S-aPfL%(SlS7T^EMv zw9CTSIai0-k|;lRf=aZOD+NE@6I41mMP^KPEqyQ#sW#{^sXc+E%>S3VH-Yo(sP264 z^51VSS4+2AYGdF3-!ga-3zWnxlLwKiZMj^!-<M8*jwvC;efPSyP{t?sr(GV|U@ zAL)PZt?ksQb55N)b?Ov!p(QXL1G@XYbSJ@7Swv88jMguY5)#~IRb zN+?|~f}06;E$Bf?zj-#$7Gmt@`H}5`)rDD2>-I*Ztnc==r(_YW`Ae6WYh_*F)nBzV zf`TeG=5UG`#vrxX$T1YimD}q;! zlXY+@C1RKw6<2JQT1BsTEVgr^Mz1ZWeQB+E$|`ljimGVd0@~9kB_>zS#E~-&Ia{DJ ze6n69$1GZ$Y}fOPH=qx0o^h=!`K8sba+acY<#t^PL%q0@+Nv)VxRleW2kkmtyur%6 z+&*-3(J8aY{09b#^Ifc`fEoqkEqJb%;PVlOZ;q<@?QdPD^Fg8|=ReKfR73s%T7}8x zlu`k(=un%lEypR`#IV{CZkq#Y>hw$)MO4p4=vU>n!N*!G5G51hGj zx{W^C#+2Ej+v?G4SSIxf_HC*UQ2`pWPHu26jB|Ukpx6lZBgN7UH&Dd0wE|^a7STfA zz=;;>;MR8R@_#=-GRoG$mB2=rjAZf{z-_apy>>umG@65GtduVqf&cv)o&`R<*E`6kn*+&=T+p;&a)G%+oKo(!v=|Drnq&Ed5^=v-H#C=aQK}Xv}O| zCSC4b%*@#!Gh?z6-sLSk3K^Wi%xr!)12eyL5i?ssZ3+)jFfg;KYb%~lmZgw1L@fzN zH{mg{oJl{<^-4MzPb2F_&S2Hy5o5!ots7CSYHD0m zwIas%s^(@iO?$N6t=dA$%Tob*zBm2XR9|!VtSx|e$UhUXj55Hzo+zyx8x`9ns+edR`IHqUaXfXIEe~}6=`5j*? z5b5iV^IuD|PSd(n@Cngx_v0byJ8{|Zjf@VWeHN9UEEnpZb|Uz_$g;C+yM|J&*_m0M zRQs%mRpliX$kwaCPwluk%23_RZc3Tdj7(|Z@=o2X^q7-jKA74L5GkIF;I-InRJ(#{&JZ)K&6$APJ7xh(1yP;C65`hE#v9ZIU15{dV z03{`JkjAkQrKO|+q>vIA2UB^Kk8}w>p*z3C! zMtw=IJG}Rx#GKWXwfW&lp2vb67LEE5p|+`V5DQjVr-aE0>OHOs^DSJQ7ipS(IQ34+ z$GHH}AJSk>_YC+T!^jY(`JD89u`#zz<)4pX9)i}eIMb*5ITG+W_53JlKiG*W@*VJ19s3 z+TYhJhU9K4uezr2wlRzvmVW9Rq!lDyzTeA?{^pc|p8Kx(K1DoUn+}@4*;mXJ7e&2;6AjDo3_g z_>~?kngN$>Fa{ZPSg%a!O10K9GFR&vg7mowB%l@wI*;YMg=b9@@vsU(CLp>ER_MvV za8;|3!L}F*P}UwHGfe|(Q~hNZyBsHqpsA2B>=BO=HgdUK7Wj&Cr+p?f=Prsn*gH*j;$26T@m^-91NYo?-CRkoIy^Zcb#=r+@?^pZoego)!jb-Sec*4tDtfK*s2Gt_|dZX5j}9Lml?0zq4M*5 z_*}cUv-Y5lL7lRGpZc2ljI;}CoQL+B?s5NRqF6h%>CHRX{cAw&+|#qxy4bksYLL|J z?%pjs?*oPk&CQpc+I>J>>Sj5$WrxqA{s48zc52HnRCf5aB&tn`z6L6b;;OVmt~@%> zu3Ikjn0kJ0*#=1O)-#Xu9#t2W+vfYe7WLccQJLvJLsz%-YbVKGjsk612+uX$o@8Ap zk8cIV?+xWnxL=^})sN6UqB_jYy&*H^L>v9Rd*Fy+7Sk@uptr3iGRP|dfG6xlvxGB; zcH(p^Gw`sahlw_nK_r76e6@FG8UN`zF4m;-OF#DekN?H{=fAO~?8cTr!p()Eb@T&V zbaWtm`0keZ{Lf>N#5{!EMMD(5mdhGxOe|gHSAqo-iuje4uNN>a6Qa9|6tJ4WCRRjA zak~%|CVvrhvJN1K;H}KPpbJe=Em?}|lp3&96(E>|42awEbIH893n0WS5UZhdw1C1% zh6}sE!fN(qqObnjP=}SP=;lIG4c~GmHKm#Skn^4J%+ymL#it}H8}33L5n7H%UFNi; zQi?*b%=eA*11y@eid5fG-wEV!U3-Y(ZD|OH!UVu?BuRz7tqGvPyrRqif>nl~5Hf24 zraTSuTg2}Dn2m&4--G}EVi?c^dg%a4J00gBkSz{1d7*tuSK-k=Xu0CQ<>$yM|n0aRr;7d+TlhwucK&!_h8!A`9^PA#wX^_lcch%suN-?4~bi5{3hX`kV?yN1Kd_mi3ymz1yG_gy&^?LkQIKt zRZp*$t0^|_<uqW{02|dvnO#=|! ziyPBe1)#ultP480AM>^5KX9XAUc;j=1@DMs>>!_Q!G#P(4Y5_%mMx>rVrsoe!oU!p zqn7@9C5d<7_Or|1XsB@yM??!I(WDeM(QEs(Q%(tYwNn&BJC`d;p#|1omrqiMmynn- z09v|@DVQ~H)8t$)8^I!L7SVt$#K^!ZVr>`62joo4TwS##1kfhG=VQ*20Wr+~K*p7H zibI?8#(I9>+gjc(T=Z>%Z=3tS88^5Fvq{-S%~Z+YOqKM_R0ije)_;9K1nfMWqPZ3A z!Fm=&*ILnDm(HT-gca@e{OJ~z%?X;RWS@~`6d0`{=HUOp5ns}})Z3bqE*EzqCI;KrGC8AZ)VRV3Bz%V@bnucDR>=)Xmm5L{ zqo{3~x-p5k#aOPEJz(A0`A_Xmv_yA4EIYzKcXuv{__K6ZK4)E#&5SKR?I!Hf*nn`2 zjDG~*ite`>D;mxyV&{AmD{8Jb?N-N58kxuQ-{{TzDqH*zucFlQK$R~^kF~!38 zX!9kc^BwyyQ-ooEO18=F%WfKNsdU`5Z1z_Agm#* z^XF%u*QRl@wJYB-QYwDn^$7IufEk5~Nu(wPKa%RAJ!2BIXUvcJl9=DO-!mTcC3#wV z#%O0*y0t)DF}EO@Vsre!Lqs-Q1wj^v1HX6;le3=W8#1twoIMxu=N?8`KOw6eM1t<_ zUlqccaUpbt_S5lGr=?gQnI0Z&#MN*BPa109-!MOb1iwTPpLc3fU}d5&5|mAdC1n;8 zPCr-4^Yz!HJbvjyW~#m&5d% zeAWbdtZ#~-X1a?W>}d1D#TLmArTZ5Z0U`7N=n3r%oN7X;oV(>?^QdiaKDBZdz1wP~j zPwvJy?rBgZVR?9Z!#3ku$W;3jzPoB04>!}xc_t>7J+sTEIE?npEpw_H%xI^N(~tbe zCY#yg6f;yCzSIZE99PhBRj&zTakO$%b*qT0}y*horHniAyJ(-pcpgQ#ih1c%+hS0#>`uCe;ztFSAF zL5G*H`n@~Wf{ra(ROD(nMWV_gB1?ka-k54c5mg$t4TSObBdTzrs;)zXH}QSW=`>6j zjA=gUwko1q00m50Pkp{(#caNtzI&kqKw?B8xyF-5p9aGyXv~aR&LDz_avDg`#IUND z`ZbEDxRFdrFu)D%4~(xi`U8?Z%1kWup;BuAq5h4zmnijeLdp!>awYP7o>kCxt@lmOKk$cy-39$TT$#i=Od1oe0U`K zCBDS=WncPBFV5bxHpzEaq{EBYu~8^^N3z?5gg?$B$#8*$ES6TF@%I!Ym$(qU;omTTM( zUZ!i{M3A_!H8rSp>>I?3XnB>F>GEKkO=HdXjIbW$G)HArlXWoE8UUY)6s&d}dEhVt zUgzFBHZZiR14$U>%e%Ip(PV(T3Hn_{Bo_Zt={BP@~fiIEr8<-W=3A! z-n9ImIITQuQ@zn_k!4uf^3`j{C)S;FZlRY=o1)~Iwd$ruvMJlNX=r5A=%x!+tr^?2 ze)1XTZPLso<1vEoWy77JALx6(YWQCuFn)!L-G@51wzX{8Rl^tZ`R)4L9{Bt$KEF?& z<+y;A@v5muM|Mm-6743K!udKXt0*;ETVKV8cIHl>*B%-=FXZivD|dU0QL;Eu0A#Mf zW5xK?UytlSzrQ_UADu8w8ndeVrk%zepZXiph}_go6&3zB26w%OqG64ln?Z&+0Lbdc z)Q#phL_L66yQ4EUHMEl&@W*(GDmQpAZ$S)qw8vbE>^(R1(tjFaDT(N^da)ui`q0lB z_vG^|r#m>;a37k(mqTs2>?M;!YdM#2K0O^58|dF^uWRM7p`nRR@8U_;*daGWOkRw* zJiLy9ADY$VfKqH>E3cSr<48j1&%1v5j$#aKaR`u9h<9u%**Ud0{wWHN9qeSRnx(^; z&kz#`oR=Xcqy}h;1QqBniL;nFJR!F@9i@XLbN_A6=q!2WK2V({8sry$>+ALDJB08t z#&Kt7jNg6f?#?>?-?ft=+wv<1i**M%*YD}N7(WQOgbD!OarV;)UQN_;X@|#RA4T*I zv_-i>XbA5}W@J}P?B!TI;|KN;mbB{a*Q1wovdOGd6?j0cfXdQ@SmZ+*H?ZxBF0<{$ zzAr#XH#Of2RP|yPSCn!rVU~kxUyWv`foSHADY~_5$JE?M{@_#Tj*Ng`AkXF=U2*01 zz2DEc^niToLT!@&*vE!2L_9vP2KFj0$n`Y9C0K}|tEkB=KVwDpjvas!myLmjedp}j zQLLMK;jSG}vD=tmwR4CKZYu`8F@z-vofZkL&)n@Ds72=@17jkKChzb%rtGfvc}82t z^=l4OgE3V%!Qq!xe|=vv!BE5<%E^SF!dKCCo4%RPJ}gnj?zsDiJy>{v9_QX@BfjNV zI%97t#&%Kz+vrBJCAZSO+qb+5{SmjwVhpP^<)DkM zVpoTmRNdV3eG<_~#R}R5fO^gm;Xe{Vh9Gj^IkPjLa4&q_C$u-?EB^~s&e_Or<*3xl zRc=XaGtl7Ux_Swp1ejpa+k;#~bDV#3cb@O&?>s*jcn|ZgXJ#AskWaH`YJuIk*l7r* zL>a~Vho4P9co&o02$tAWhlb`F+tID^52i#!cfTq0!eREIJ!EA;)FW(0X&uAKi;k34 zrb7ms+OT&avET@9d9G@%8R3-5h90ZO5rwaIw`{wD?TSs+ z0!2lrM()n2JS!a;vdXZU^vIegfo@Du207dZCzTnTJTw3Awk4Ljy9yrl z)tmrtd3Vh4T2|Et4}um%&n-wad@;?JQFU_0Qx(V^7g6gmgiw9HvhWQoI;zUA$P3Hd zkr!h{)a0R~r{gMG)@<^QHe@^2;83;z`P(PkOuPq92#fTXm7%C0&EJ^l zwt2k@D-|0Q+r89Dwf5=~>3-Zaa%K*QiM`2Va|YwYc0*Hz%~GhS!dI9ybO*9?VKvAJ~%%2fbO;!n;LMXi%ewW0L^cAVQ5jo_QXnBguNkMzyxP+TTA{3V% zAk;HfhEg*BAOZb z(aI2iE0rPsr221&cmJRL`qWA#sxa63jL2AJO29G>Ejpq=OCaoIbXg}MB9hyM(US+; z*c{05Xqh8*vCqLcAa}fmt^@FZ&%q@|T^Rz7s_r@4TxxZ%f+XSd?M!>gB#Yv|&F3Xw7|2 z(tt0WmJick!zSJPq8ZD$8sVraRA1uj!w9dKkgC*Tu5W^_jikvxq%a(x(dKJlZ_+J;e0hE^%50OLXtx@)2?0Suxev(&}|@ena*1# zd*QDNd)95Ktzxzo|C(OP)wO@7<}T;IjW4q`j5jKuV@C}8CV-_$mhJ*oAlx%&EW>@$ zI}8hbL=<7$9OuK8Si#q8_^>G<2`ax;$OI*L^UGxvPE3bC+llqxY=cvzoQjjqa#FtY zzu0SL-|`%@;~dfh83EOjBdvmv-X4wJMDoO8b{LrA`<-5S{y z_zj7;W@`5<#RGW!GI77DSi4hYLU4d(X2e$v*C{!SwkpoFLm{YX1UuX()zkEmH9;TI z$q|Ji#c6UaQeMuJ7C(UUs}wds3tB5%tj#~1=IgAy>f-%Nael7pH&(Yf%kyB-gQU!>q!|#hN>mKyU?EsX*TKHj_ags-KR;&^Dl- zgKW7;m6$e}t~iyb{TSw33>-8w&7B{JfL&U%R@o+(tqfx%8bkzCnqFAp% zXkf}kZ7K%CN{{*#`jJ6=H^EzV=)Kx*HM*e3@ZXS`Sm}nu zV!?i%FoE4EX@kiX7JoX;6!}>{l#*eo0c4H(} z1-jXH|JN3vPzRqW*Qh~3svXms^M`@=}vH$+2 zJyQ`fQYl=gL?WbtMk;IG>GZ0ObZ>X#jl1#AfC(o#VjcWfRKXr5x1u4CRD%Jb`HGo~ z;@Gj&PU^llrz=v*4{q*sB+!e-)l`mgGu7(ll%m>;7Wrqzd`e0|qw=X2H0eP3)cvSD8_YUZao5XC z&b`C7HhdKvt#SqptZ#n(G;alPBT~<9U@A_wQnid4%;_4mly|bVW~aNLsG@#Q5)aBi zSK6usDW5oLk-x2X^V$8c_p>aZ_vU+JPay?5+UsZ$m35GxhYNOKn)4 z6yLnFQ=9teJKprAKlvjWoef*Y}Iusg!84a7YOIK_5m8^)vNQosMzz@z|e@mxE60w=apJ zx!t$igOrvS-PYDN3KBq$Sn@-wQJ*%h%zANnYW$;L9G=?zX23b` zhQm`^-n^$6+e3nPAtIlzj!Gz^N`OYg=Kr$8E{<1RE(Y;)Qju*ClkaN~_l++%h$EFW zj_u6(S&@djP#P&tv^{n^A?Mw(FzO5_Zghhq$$ItdxdfY=H_L*EVBKW^Hy{%D@D;E4 zxUVulZ{X~(h*FdaP^AzEP$lkP_&Z3ABw0CXCtwgf=~6n-Dc6RYqEmqHr8BA(IfJs^ zL^1JXzGRK%N(vhU$^si207fhHgyHPsTX-s^t3X<8Xpp=R5t#i2Vqu>})~F-Q=T$`1 z*@zu!F7h@r5X_yJZL!PkzRiB=B6U)b3`njtvjH6ta0sZjvGqV!I-swBZ6XO2d5O0f zE+nZA77VxX&i1;q0w3{f8_TLhZIpw&aC(a_ixXY6ps{bp9g7p9=z}ZYzuCb|e z!T|U-N*4b%XqDO4;z_miz^LMzbOlI#JcfhS5WTNR<2Mg{CBR#+8xR+;Vx% zshB9%=db2tkPz#6l!Ta2q!;@MX zw4l`H4sna%I}uG^8ihYa>+TQb*YJ^hQVb!IcSjG3=EWvZMPGgJVP5Z=GD~0*(Ng$D+*{=m6Hq@nB2(8 zDoarS0Fdik&g{YCeLYY;>cKjk-|CZ7$(yl{O%?cfxv0oz4s$%B&mcpE^O!7JMs_To z?A=D1@S8%))b6mBxes}4REUoOx!4aD`R!jW*Iu7s^Wz+O1ySz4hW}JCCJtalh~pT1 z3jny4K~Ft$KYibB=vAKrCLzQlDU+dhK_kIR85yzx@Z+5rqlY_`8o(sRlN85G0waa2 zad^K>AsaNh`+c6aD%h8b2N*#4fis@FxF4zzh8W|6Ow$p=5WQp)R}${fI*iL(%nl7s zZWNsZVvn-Dp~7|cl?pd7q;wTRO3HCMwFPW3o#!8ojob+55=x&)D52Y+PMSZ$L|fGy z*GIARDe{doj8*rrPwuSCe@pR+9uK+IYi_5U$gGY9vNzP}Z7&Y!jPgTt;d1&>T)B;l zrMKtz2#2hd;d9lyKw*A}zoVhH(cMR)vRJ}Vp8yoXC?n-dqR0?hWs)DmH4?|oS+RLv z40Ds}MKq<}AdWNQefBB5vO zVE$2I=RV_5#b7QKU!1F5XEtF8fTx?c z3s6Y2FRl4?fM+eH-KVb0_@XQf%c(~FhY_;k_GvvJKRK-|{ZUk}xiSUNC*q6S)XPSN z_$&1@gLWs)DpiczWHTfUJbiJSP4mp8HH^`4PmC&TFdq)8dR9NaJ-9{2E#veimP+p) zuv)8OfB^Ry_G&-`+uGF!nXGVuLtAGEmoRy&Mj+!#r%#9faUg@!*0?XfgDFt~zs?Rb zT3GjWIQSpnEnN)Z#tb%WrBm0m^M_L7`GO5t6VF5`E;(N(yABS(9EU^1!B&#w=+Kc3 zumKd-O=HD`98|!U@J7oz8zjnDzKARkfwRy=$*ajV%w`nTSTf&Rh^ETosj9U2zzr4g zH)BZ$#;2M(;zlP0_ozGfWs<(d=naYlfE$MATUlpN6p&$NWa2wArc$axq}r=jgpg&G z9^;YU&p`MK-f*}WBOXw{XsAdnFwsykB}ng9S5OQV&w&-ZRH^>B&lFUmGc%RCk-93q zNc3M$fs1Bga2A9Ugv68H4T5rh9S}|xDFNisyvk3QYJ2mi1Xu;P0h6GH=~5?X!U(v7 ziXSvgeJmh%=~Ro`)-0<;BlxCM;9kipXh{Rj++zNZV+Y$!MvbjWW=SVz^(F#utP6xK(k=gYfSeWDBgah?*7ng#302@mt4kRKr@em>W^WAC%}R~y*#R(`=}Kh`a8(|N^(>D;5%CmMCkli!4@K?zX+G%HdQ zk1(lXxoF=(oC;0+Qb!(~yqh^1_bs4jR5%o1UZpludxNl9K;~}w>o2DuARRz*r}{d1 zu(IyLD51L2K#@d|=4cUOnNvWBWSs?C%~V&trnB1L(yT?KLWa?3{l)xOyKGyBOTKlt zL~};5UL~I!xK&q+)kLLa0@WfOdo>4(A!b$xh!$F~{R`&>P}Um%yML z0t!1`O}Ft1MPMUgL~1ziimSpd4ATBjzWH4?NoD&1E*OOFq-50mjq$VOGetS8ThHL9 z{JB%lc=HZySvLwhKjCjp(jg4P)|}Q5O4uc>b^Kt4XQ`NQjC}{K?!Zg67`qzlSy8`i zQf~~Gg;A?rjxQKO9Cu}1q+Yi!XYLs@ZNxMwnmbtYmD!=j%RDdDbf7SH-y1dDmSCz? zypc5^K9b~WCbptx$TCcY-Wi$zkYFs(5p<&Nhj9W69tEN)0cj|$r&}FD21IURWlTsv zN?@oKHRw5En$xzIkR~7*Ghaz)$<~ts%bf`1-x;#Cc`+n!2|wbFT}zQEXfRkha*@toOE<_MJ&tqK2~%7XLtxEbOT%mx%4q?O$?jDu(dvh z<+%yFuGv-$Y3fM>-E^RNBVV0kqF7bxsSVC*$!ygOMN5~~*$SOR@OqaB(3FsB-}>vT z)DYHROf)t$`~1-C4?{Dqr4=GF;82$$91;H3^Dx(6)wiR*s^+O`0@X};{J@6sxI>kl zA~=;#ohOweHx+ltr?Zk{xx;vqV?B#8<@J=J?dy^-{Ie$vlG_uKz-;+?zCfZeM11jt zX;RZrkAeDu-~E>DFX~7fC1_L4 zm$}L)8kI7`0p!onkOl@Kr7PV^Pliet_~NybhNLcLwyy^TSbze z|2^_P%f~&^da4(e3LE<49)}NmyoEKaNwI|`ibxC`>qGH^p;$x38q!DzB-%j8R-&&q zLPvcOQIIF6U;;6UnO7YXkjGk=%%HllpK-drO$r!%7a}8I)EqHZrj0PLbKtN4r*DB_c_@_dm(~L)~c^@FEHO6Wv6_ zTG@*1ew{+8dS^VaiVH+72Mq%2una!s>O#$Eb>Z9T^;vpXWmgdkR;{k$qSYm)g^$@J z*)_a&T865}*_&b0)fQh_8&pYnd9yU|oLM?7ygJQpX=y@Qm0?$)fbZLun*x@;y&NOyKBdlY)r%=1F1#$KrKD^4a& zv&Mr6rqbqA{AMU%%icW_l&$WYE_|)2eHf({#=od<*M=mH8D;rT`3-||;VXs0u8B-FDJedo%F|W z28L7mW=EDQW=*hREUnCD;I8z>lPmzQmSDsyX+jSWshw#s8-yQ${_^h0(_+(9zb~J3 z-#d*e4l$Ls2u=Dj0%~bQrW@yW>&TrM6b9=0mtLa_OL&zsL<*M2=5{GUOX}XnmUHQJ zgNbBud3W+g(J?M;H|~7dq^FXm+o|= z0}Zk)Yi($^Sfub7?s_6T`;HpxzcZdxoN!=JDXLZ=|B^-Vk%cxu>;v@KY53IbzC3$N z1+TaA&J8%!+Pzpuv8A&`Sm#!2AtCKOau-vlZspmmA69$*g_w`>rQ@lAfr14l6cr0VgdsXZw_XbHN(!>H(i{Wz)6rGU z2!~WUNN13${Eh%F|7?nMPJH&5FX^P+A4!T0NVd11-6%xMu+<>Df!?RVZnOe%%3Dyw4Ka(I z87j!4NafGVyEscBnkVJ<)V1sRBB0)qIJwKPAMNKZ3_w~Qb<2svcr^~=cO?#keg#Aq zsK8-XN^1(^Fh;^pc~&itPr+d--QzG}7jV|;bREI3|5-SU>a4@uTJ$9n9dcASz&S{_0$ z&bQc{!H}z1s%0V1Yy@KASq%Qy2EjkH|4i^to)!4-NaBhjhBLQ=px)drG4T|0da_l2 z>4(k2JaL^WLWNs+Y|=)y$f$`P$i^%^b8CeNdB7(0TT`^$z<8KTIGJG6wH1+cvQkn- z5nlO|K@(7A+<79Q#bjjjs~@>)UnW_Oh0`1H+a<7tL_1>MY8MO=dIhustzq^HQ@#e) zk0u1eoo3a(_=_U39v-58-G&=9Ot%4hIK-Q*3J8HFMNSH#)RBRa9&=8`=7pL3Qz=FX z({_3U3~>Nl{Ibc=t;FS1QNBJ<3cIt0=e}ya4ACG3jOvs&e#Kt#N!%zX`P;Z7I^{d& z5IRiz@|v(Il>zACq8s0j$Jk7i8r^6hds%a0xd%Al$O z0AWVel|oW!d^}2vB9~f_!c;*D1vJxfH#(stq(X$6sI1Mp+RSxfYZ%Phk=yhJV8~~f zH`8vsNe$>+Ji`|SnuMGI(Lt)+<`Ee#(d=)>{mIJYLxe_Jrz8;?E8CfG>4wUsi^`=| zj?j^60#Z>qNjj!H-#3j3?a~BST?La7!5Q7|Ec>2IM!XH@_$muYA-VxKkSKR4Rl&ZG zU(ftWustF9*AXZ}-VVQ(#^uiGE*%!$Q#Z4?VW&?^)#AyaMifO&{$&Q(q-$BW;%2l}2RX4V`0k(OMOoKKBBihs>}J(d)8?QG0de*AMLwc+nkPHG1{1j z6a?*i1c`}xeN3+gD;tYCxfa=F9x2`&1RbJz#zc!;E?3aRIc8c2)*bKF9X_)8g{!G$ zW-Cs;0Nn5ZM!2C!1cKq|I=8{%2F3&_835zqrNN-*()m{arL`Co?$lZi6owNVc}Ysw z&&i*iza0d%p>k;5FBCgfI!kz%l!L>de9kY%QVhK|$$E$0j!Yn_dtz8;)8Vr+)8o1s zT!Q+8s%}EEju-Y9VnUPpmxFrQU@x(oBodR9+B>LYZte*r2QP=17Ob2^Cup&cxSUIk zu;+P3+r2QnVB_|)pe5;caoHz)#zT6;QtRKIz>x`l4R3SAcXp4KX?yf$l%X(4SZ`Jv z7wC+aXvT;{eI9}i6deiTlGb1=TAe;ItwB4}97gk$VVVOgD$^Vi$Vk$p$aI#7XIRPB zM7K)z6ICH}OmB+1WH8)S=k1a5?Wo=~cU#&$dNUI8@GjKZE`!nnyhcre7ty{vye)$_ zTM6FQB6uH?y!^6V7aScr zt@5?z?q_O?+|9(0z{Yn(bEm@gP2-)#?ZnsIgL+lKM48A5H=>KwYVP*oKB)E$ljURy)h&7p z^u-mzdJFXBNefKX+`Q+In!9y4@RMkZM}z1Nyfv(uL!;&oKzoD_;|qjL;UlABN+Q<5 zcPLbXZdD@^E;T`mSK19Z=S_GckX`zkNRVr@ogdsN6vxyK{n+V6O!RbcL@PB5X--TP ztc323yHLycqTX}tR!YgfwRS;I>TX`kW!lCfYwbq2)ZK!epo*~ok*Y{fe2~}VE!=cy zm`vS%z2C|^s zPnK2=VaC3@FGPr5p%?1HX+jaIXsLmb3$*b?lC>8 zH(dM`J z2JvCRWQhg<5*a2_x7m9X;{&rKq7Tw;-;P-qWl^ya_3|NK%}fHN9t)?j6^Z<)o|l*h zHj#E{Xqkk)Lp1A2f(MN)c&WH~eP&nz1y?#IVtd$!YGe;LD_L~Ko2Mg#=60)WwJ&w6 z1$UZ5#xCPTF$`-1oxtjno>`K1q3a+~n#a*DHL*o!J zAXH37;p54oMTN0}nAm3bls8)i46jNf!Ji^@nhfG;VmElXZat&jzRYS^4mRxSi=;w! z3snd3S|eDHZHa(?E(#P|+sH#=sS__7WieRRbt6Z3*0OZT(WuZ%08eI~pRJ_0rbmbPU+y4Yo{M2wsig%gLa|S6MhKN%s~hC2 zfKIG2uw!EEp>31Zw%M8gG<=x4FKYm8!ZnG3%3_@DxtwX%#6Vq~Z3>ZuW!>E>N#U25 zDqpPDQ3=bLpy3d4R1-g0IS10$gv4kmHf-+pMM`;fVmM&<%Q}&~MnXxh5du-%r+6p3liGLv|V2l2~i zTq-rb!ZsP9WBm%>_k|?Z08%>UCj@#>lJE*OLFGTPS|wH)Iv*1x{!(c5v`7XNbfg#; z5o@4=KDggkqn&8CUzs%#_ftq^mXA{IW=kVbRXnGu8xj@Ssg?Y>p=ijQ-{oQSi4u%{ zkz>)SZL=$l;>d{SVH;TEtcSSdnITFw8Cb1$vqS10@++>yCMt0Rd$}66!LA&)ibN5q zJ3h>Ri-|o^S2P_Ac11$m#zXY^(6DtyMMGxa6%VD2FQ7)Q$XCOMwg+gx7fQM^{voij zg|IFTq{IAIvokms(_KVg&)5x zgOFG%lVb+e?+`cQ=of7m!ob+P13M1!eeK4Mr^rsR0T6^m*+gZ#qg@fMHEf@J)B!$3 zn4va_K(XR~QpP`>*b(6ubenWd8>+<^PhF0J$k4u15w~Sa%zEro5eK(A5oN71T20GG zv%2ur`i2STs~3qY?|vgIb-Ut~!J;)*3LGnX*Lg~N{Evv@Xlc}H)JJd#fRn;3BDdg$ zB5b^=j49y_uQa!1jTY0O0Hx{`B1zjvsZKqz*x1#MsS>t89OS9N9dYGm|51t_v`VV4Z@Q@R z`L7I+E+Ml+I>Y` z+SY-F$^Jr%hryhWc(gV|iPngH0#Cdd8IpO)8qR3PENqaepm`yYebtfkb%;p>YCPHS zbZ@lgc4!XR0qhNOxu4qx(knAG+WhM%O>R)pOta%@0= zeDfYpdA(Q(ZscW_mR{#>c|HhGmIv1A048Cmegxy&TsoaUPs9u-L#~w2bV?x_7R$%Z z2pQ`ShPrGzKb(>vozAzr)we4cYwoecy=MdCP~-4)$gVjqbzgd(eWRr_3Nn{}?HS<3 zuaVh&s(Sw_82t7>GA})ZzAAr2l1MVj=aGf5FHeRtmW>1j=j^YVCJ7X zGzd4y4vTX9AlyT0L*mbBI^L`4>p~UB$(HDV&DSz3&KG<51^kgzh2-ldB6OG(j0rZ{Yc$Qb)D59micBQ@ODgjpo8?_#KPfE>uQ zM^0i(p`NnyiJR}Z`_8B6UY5=HGa2gMvDwm==`f_wEB2O9Ox^s7Futz@hi)#3aj33W z{8#&0{R_1!JKUMT8iAdPyTHo!AYj$%Z~PF&IGecgI71q};y3rT`lMRrz@oJ(OIt9( z(G!^CTgwppagCDv{Y7np;%4<7t3TCfi7hgM68nk|^5{Y+Z>)Io*_2%fAi##0!`T;? zk6MgE2p$E56)0J78N}WdySGmO5JXXC_XBDycqFti$OAMGSWp@s8wAFJNk4me7Q9_h z$QEms;r1G+G0-h)LqnAuox-!dJb3`}Pg z>`?{Yqz4w}dY~8!;sO0sEGS(Xd?U`pqsO(@^elKP3M}|I4~tk3FaGbF1y8W899VDx zbHM-$o>0Ajv3SG)k14J!_K8re%YwKOuZ(f1tylb$eXSY`a#zqYjc)F?snz`e19E%O zii2EpMYr(%eJvXM73!u0pq3(ZZY9pkefl8d;W8qSWn1?2vl8z~QmX~cf?~b=d1~70 z%B)SGQYkoIWnMT|s?0X~qV_Onfc;fk3|F%ABjj)nJ?Ogo)i2(T1B@gy^Fd)D-Y>_z zei6R%eCvw){7-{ppnZF>JfclCSp(0XnfcFG$o#Qt+|*3iU{Bw%!OUajWpele9xBDX zM|%KF?kMeCB#20H5cLe2BhhOy6C+vm zt379mNRLg>m@Mp6j4FcOrH=T}@KhF28R|jsK-nzqNPuVnDh`JRqDu0s+kbFml^>$5 z^dh{K@!+-via;y4>`=3=wL}uPqc&}DDyo3y0-mCoZ4?7IMu&9@xEsY?3ZQY4sm-tq zK`i;2R9cWS1QHd>j{t$bWQwq_`d>@2ZQEUfR%fjsMal2K>l;9DfWtuPWmG+jGx9Be z!nUBSR+52(K}&!irBsU-qIp=uEWUbmMe>J6RR_2#{c@>?gcUhtBhnFs`lfEs05x!5 zQfA9l-JnF3Lb+E++v+9Mp;>NHpBmWRz$Pk(;i_nhFcYXdqN`h`{5(iVX9+ZzZjq4 ziu_=_#AVW~R&|qf9a>LhGsv`-VD!$oNjmd4NjF6L9dVWXzWB*5o2)wSsAIOfPnK0p zj_M$zc(45nY()l?(Op(P6T9x(}-Xw9ykNuetVQ5f5N{=hkz z*JRoA8ACv&54Q4R|5~+$L2(ySSL6c;4~dpV8#Yj-L|vxb#M_C5KW5fSu|MqEiTi#a7be)mXPM^9iw;3`n?*7jUGT2ljXDBg8ORzYE zP#0BB=SRd(){ovtTeB|nIsYx0w5ZH>oT6;3L}sWGE#h#p)YtFC+5d4iqhY-hVCMFo zZCL5CW{OuW!dGiGTaOxj{+WP@ zZ{QVYMG-L{cV8>ldgEUN;ukqtfXMala$cs~q|IhxP&*f)IRF5n>|;Z5eUU_^!DK6F z`BR-_cPD<8Rng5>*>wI5Yu`_dk=sE~wj2e9N*l&!Ux=^afX)}<*^Yt$s+c?RHj^(_ zly~c$eEjSlX+D_E0ZGktQI%71vX#UXLC)21U;}Dp2>}e2uY)C!{naZi(4~nUO}zD4 zOq5I;?m2R=25gH0LZ7ce4zMYJu|r6j^%bVB#e8-R({@}YCEX;jyj)Vgd=ddtmMb;B ze9}3~C!M=|(#GYJE?ho|yM~s7@Y%~JUA%nKk1n6|!sU}bNj!|@;NXz>vT2-aT{i7= zE2Mp4g)|N^FIy+8s%6t2St0EkE2RC^3Tcn7kjBb!Sy(s=ylmR{R!DoJRJvtYfS^{( zroo2GroDZIG;QiE*WPp~e1$Zu zJ-#m?0+jJjk#t)i}J)g{Lo z+$+Pj9h#wS+s*6jgADk$G9TE(ery@`aEsIi+tX&J9d*SDt0qD;Xn&DUHS3o2GTVEz z=9os!E0_I@W%e9kNG^w(U}Zgo#Ig% zlbG-?DLx27tt49jyjgb?C$3P?qy$aIZe^*UI1uAOS`nBa zsvb@fe*7ToCC82^VoQEcmi}(Tm^#)hdMf{d_aPlajo5afAkcH#xHHUBfaZDIY|t1M zwUfvf{e(MX?NBvG2lRz)VJcv$rabzwFT)2hlzes_Dwk~#q9tithcQD9OxZ7_`QF}5 z2TpJm_gk`bK@?cL%*91;v5Kig1UNauO+@U=*#`RU3{14>Pp&;R_|(&flR-9d_biw3 z!7`(Vh_>JD_Yz6~F+%>)1qRfOI?rr&N1vCsg@}y>OZ==7&8k=y+*~HzrzF`9yTyt! z=}sk?WiW9UWAj*}Yv8SdcEm0gs2L$BSvc|q!n~Ebhc0ahv1D@Z0blv^{4&$yHJ8>+ z%42fTkm*oD58+iQEHa~wvpgxx7FJnaBk?Y$7&vDQ_N|GTe88 zWD);x%*y7URKt%vWexFS7+}64-W)C6GKd$QNBK_;0*2MVtW+}B*h1Dawexdj6oQ=7 zRdjEOo^ zlLf(timjXJ1~hXSGOqP)S$VJwarWy1S$Z;(nSi`AI0@Vqtp8CY+8K8xn~zDo80OZi zE(D!*FBxtY5rv7ujAQxBDLyQ>dfyo{7uCUEo@}LAupun8z%AB5&F^D&9WjqA3w1vL zXXx6w42UnJG8q^-u_x)8Pj)gLbdBA43=5#Q#KZi!xF7;~?B4Px6&XJ1kd@U4w4f^P zvD)6oIa*DZH56PsK{I^o6;$`v-N}6sOVwMRbufr0r4p04LB6{~*J71u=YQXky6CasJ%j7e?eQJlW+CY-D;CKVr!DSkDka1F>< zug4mX!ST^KP+b>IPVRcvVcF1ekg>Sq^fh$6?5$*#Hu~f#Wrp{%cbpm&$G6nGOp!zb zwKVCO3fnuVB2Va&&!pbCIBTy-MFDHsb!b8F^3c=WSO17T<+3Y>WgRdq*Ne68M~M%6 z-JGn#qI8hO_Y$!oR-tDK z2Tx=mloY0=zp~Svs%O~HZW+w31}2Mb05=5d{^xBS9{kX4n>39kcXu|4mbOa!EBqZ$ zI~KidEy^ChY8%bg9pOGx3sJgOXt2wXE92o$KHjY5c|Km#ds0ou$6Mp^_;|(K>Fe$j z+@xH`#eAGRpr!8ql=Ji15OLb*R8EL|z`~zY6l8D(DFb_~l~fsNM4Hylsn+mUQwc~} zXQzfH2Ve2E?55rU=GOPU=g%0L=zkp_TG#)&W(WuPfx=@MCa7l7bPcw&nqaX3`E%4z zo~f(ah&2$6vS=OXZ0K<3!7I&C4ziH^AfWz1q3pOfG$G-(V`g1HHTr7)tL$yBH!&wU zyWwgUBvfyw*5Sw-K*lryPLp;nZdF?=Ho|SDn|0_W$%X16cDtuO9(nk4ZZai33Skkba7cJHSv zcF89~VcYO3l0|@!-x?^7f#fm;1q5&MZ&e!?Q2^k!zb3s0wBZ?qe-|+75nyBZ7-Rp} zqdai_eiQc;aK0`$OWDxajQDcMG5_6!3WjGOR5J0z4kANm$Lcc#b4+tES9mm$Fg83| zRzG2*Ct*jEO`!7F$XA0SePhxt2xT5|S>aE3v?*G!q(+15SXjvbqh2hku|!}|&zQ<6 zsksqpFImf(JI%h>PKOokfsS0k71zV`qduc)DwFJkH-MdquPMW0=3YcMkj_^iH4Fxl zfx*J*8L%dGC4#|Gm}Wy;0;)3I(UCp1R$!u}D!XZpCWrHv_Zn=`Jc#Z#AW?rUt#E{r zzoQUKU23px7c#a@gGznboVUpYDUhwY>Y@m-fJCYfwZ!7ce04`cvhEl85mPwJ=M+)` zG0bZgL)nlMfpNBrCG`r#w~08ijaYfA<%VXvm6Z1uCSoPg%3vjo-(U$YVd5@Oq_-A2 z4fiZW>^NDP+%Pa)Knfzimh=ogWG@ljmqy{wYkffK^24c14xs-1P1=r> z4?((h+SV-Szbcow@71xh7ik${@>k||-(*J;@FqO9WzT&WZ?f#2>^bZREu7jy@1g^p zB)k*SwUge~sq~U7w-xDajH&&-bl=z?ub+?q;l~bK`pd8Q#Q5wdUVY#EflFWdllt?) zE%OJIiwcU=o-Tdp1$#gK&3`y_?}1D2zw@qp-~X-lkCFTED{q~9`L1_BoWF z=I68jh(_!l`wqs84aruJ9~V*ni)`p0;?uQ-zg>YGk1L1ch`+MmqZjf-?x>!+A5~mh zfl~a%^{R%)xnx6@P10YX*b}Z1Oo|yn`LlhA-;GhEL$;IgQDy^zVS&FBDzhV~piu9= zd}7i~_X^PwwscdSLbcf)YPQWrMTljcS!lai^NLl%Mvz9DO6L4oRQ%4(j6>iC3u%}* z5`7spO`?vX;O`teax&bF5sqmbMnOu}HHo#%Z!c6r1c! z=;S?a?F~k5Af}fzRee8 zIH1=fRwO>qCEEG|F;^RO6joZH^hZEz*=wk#G ztzCN4u?Jqa`QJRUr3CKx?@yh zdPMFyES1$*I^!l@hmlLu9RUP8tK5H>)hz-t3c3@2Y!t!VPBnm}04ECMlS=<+px0!y zmg+n(ez;ntnWCQvs8W1Jk^E(->r|-g?#yErl-N3sS-YXlNGW0yGiYTIHKRP}9{~+p z>g!9}Bk9(J6V;WiVd$c8l-j|zi*2|z^WJT!2Mhi(+ql%Eb1)p@X&AO&F>9oL|F zt)F}cz#B(STbJ>H$z8`KGWVQfXr{e}DUTn5(zx~9XH*P_+W@*nH7Ek6XaKknY8rFX zok$f>z}7*mLZH(C?dyN+K&LiHv$Z~&y}MH@Gk!uacUGWp#51$KMyXsuwu@R{FFlgg zHq-e>;|{@&L){Bo4%`|Ziv`$fg+@?Vs>R6NxA}W1wZPJ1@1>nFzY^y*g66dQG9J9p z03DX929Xu3ujgm=b$|wxi5Xf@Ox9d4Le1f)2B--oRmQEmKEueMz>nhJq|FvZ0Pw_? zf2WzPohboC^KaC}%OJZmuG&}%$_~LZH@feZB&t`77HlkLMD1&7-#wOfz}HEAihLZ1 zBcN?-L0|!uh5NLEE7r<>jrPo^xNR$qZWm-XkT#9EIUz8qojb;~gsPN4X`v&i6;;q^ zoofxltG(|U9+G;Uj-uDfgr;7qb!c<=rDmcj3CpB~Q5S8twhQ`V*kU!)`TL$HLg zm#zm9F+$mkE=`eUMo-9?Kta&G&IBnds`ZQ~UF{8N(T}d(ZjsS57RR#{6y39qIEDk? ztELB7-pjbqL$Pj=mb`H$qar5Hl2M5-%P`snl`=lDiv^b&jfW;*@BST9tL*t%vtcJG zFCcjR(_up|H6W&^nvgUw$el1C-b%t&UDhLoA$kF}kR%ej4fE3A>K9bHAgMy>s2rfX z4zN}ME7rR*+rQ4?{C?^#D% zO+g~tTnFtN&Cvq-a}e){BboJHG-Cbp+FZ5BoH)%_mLx;q@rYr ziUOgD%se4I&B`nr6K++44Ov3>!VFk~)18!UVp7BuMx`Vk>suGFQinmUS%e0C@p+}+ zG<8n~%FKwXZ_C~t%MC7Z3ErJ>pO%a4l3&VnG|C_=>M?sIk^7rX`Ts>Ys)WaH*rVGg z9kES-In4nRR)UGmN<`#3xi)`ulE299583jp9Yf}XKk=(5bEyrkgoN{J!=ETyH(h8Sw)t=KSun@iFEA}UH`qIN_|&lcf2$H&uE_WY(2CXtXO!Uj1Dc(gNXQU z%v?BvYKn;qO$ubnKNNqwGoq!_me;7C{EZKj%T7(Ry4AUck^J|el!y>=M9ZP1KaE}0 zzD&r0YaQ6)^)S0njFGhO%G47~+@m*{K*bt!P&kI%ZF76>K3eSlqX^r|ol))k&TZ-c z_vBx3?Vo+_W>&!`FM0Bn>`T|CDm#!9sUkju%gQTotAIlplx}0{*?rbMYh*2Vhxy+A z?4*CV?=_RGyV5DH@}&mV#DI}kkt>KEcDOCeogxt!4o?kZX-;Xwe{08}I5n#+0(id+ zGd1po;FM-d&i%kdov)tcovJ8f=!Dd%ZkE?Yr`l(w-zy}s)is^p9Gji!$no@5U?e) zs=!k>*@WTgg!-wW6w#RNH4sh&;Ye~4csql3e8k70eiGsvW6#ht_EfMeAyHG8ko0W0 z$!0?s$ir=}kz|6!qA6mkc8Q6v74T0RevDC3&!i8EeP0As5kWC*fuO3dz<_Fv1%jg5 zK7vvsPeD*s)g*+T^uaH}unD~yGn{~mx-Qu;ArX+!R(_$a9W$cQl){p*O$lAOxdP<( z4P-WZ&0)yah|J=wL>9iJvej@G`3NRK;XF|(4t5rc6gH1gY|fStkSK~jAO_SG zZHQY>2(^Afs4_OjF;!0s5atrJ5a*vt&Q`V%vsI)(#{((U0x4K?ff{J8j~aM;Dr%^C zYG^U3c^QGkXo6nubq(M!OQsL&D_XA0)0WE@7ru#zTKB zSD?4Uhz=dZ?Jr-MY?mxbgm5#>XgaUpF#z4_fCBQ{tdi)H`ETG44M#8u>CxX3Ay_Vg z2MYayhfD2}3euRGSrp0bE;S}m2D{IJ-vSLp>tfTfrCV~6#82@&Gl?Sc>4b6w_N<`E z&?)^RCw_jbS{mE`bm_Z`_;+sUG&IgHe@&s^DEc{FGu-$vjN*uSA?G;U*D0u9J6j=@ zAGX2zdR<3m*;E~$<5EauBkC|kq%J|+d51KnMXf|ZxrdsGn-}(*sL-S?yWa}3!83ZP zzWH!#6fm8Ldt0QOF~a!~)C3(mpupP`&9&}{$E=#{J4qz1sQ0%>Mru*aj%byQ4NTN- zZf*Vy9wPVFj%jWl9^T*8$q&T&op%0-SLu2lw93?5)vq`5Z#Ux;d&TeQhWyv!-0>Q@ zJ2zNWv6HAAm)Uhu1qz+qSAj6#{;;otd&>&6S+-OKZy&6{E@}Mq`p_zzQa;*=1_Jm2C<- zo%EMx-Z=$)}By*EWKj3lUA> z)Xb1;{S#y7y57~K)A7NC1fj!$15XS)8!93+$!tM#ukSP*e%^#R_$t1uk1g>QT+M#l8J|TFwrQDq=7JfF_?rKc8(3kp8*l9^tW0uUhj=L% zT@^Nk#w>m~@fDTOn1TC-3jLTXExyfo;1O#G#-LxrtOTWV;>3aT8d*_%%ooIFEuiz3 zbn&4!U4=whd_kJLf9z1@S&Hj-+l2TfA$ewkLLbN59FYg!slQ$ zeH{}%6jan0vDA^{&mu<5&yrTsN0l9#WyDxVb41k*NsJgKN(bexJF@)t%`+UhO-bOL zFFFgHsvHuF3Ez$rc=8JXE3y+fAWfS*7_F=(-%`(jiXmE`0XnpTT#H4I0{kJC1ptQNj0ED@z_)`xSgDR3dO);BgVdxLup z^F0B>f}9AN5*5=}l>K_@&n(VW*aybt9bSK%{`+M*iMxIN8D7|;o%SC%nf%L^$#I!# zC(8er(eo+QGAqZ!tt_W#Kchg~DvlZ!soId2n3}%YR>({64=clE*i3b9PU8UqL58Xz z4Mn9+*{iks8CD^d)fXKu>l~pjRM`b8@;$kMY`ADYV35!wy)Wq3@~CfRM=XV|`mFTT zKJfd1qSdQ4>$G*mlJNZVdFj1mM8@}E?G8CXj*TK4cpl4_9>X+f$8;z~zg&IoqjU(^iH$aw#;2nC`+KAeX*akxolW5;Q%x{jLsyNFV;CTde%0QyuLtR!wfzeT|-9~ zzr3ptDj(tcq!b@r5%ronVK-pyf`b9pl zvX$VnQ!;AuU|P`BW4Djf-3j3ajda*7TD4;MUc}ECzUB z23#lklPReZ)ii}+K{pQ&)Si!|#`$;U@8Y~F`f*gzN7qXg^~SBhJF<<*?~IO769yEg znV3fz3hQa$OEbuIu=U`_Y2!R><83h5c#GIo6+cgD3^ckxiGVINf%NQv0V#{@fS5Li zrIOp8fQCW%OkWNPVoF;?^O|t9$a(;}@O3OkFmT8X!-|;o*@%w*1!LtR64%}Afo=LI zsb-852)GmkCHwbShkaLcE6AgE6~stAiz?@fXWQyEwqXV7N@End1M(y}Li>SgSU{-ehr!Vt{8SEC3Hb z_JG&RG*|2xct*acxp)jhrE*^Bnuopv`G0+#$lon&l)dO5x*tx*ac#Go`)oqkG3Kmw zs6r3D<$QQ5wU6R1ASPLNxU>~G151I7L(+S^e#SI~p`}QE=a!;^T_w6CGP{a?BX3uU zO1nzJbwQ@dC#5DIs}`x-*J1X#)K0Bvk1A1o7@F#0tGSP6~Gy`(7LV(D|pB2 zMh74SxT#29@dRFJ#psMM3pLrAC74}OG_Ig;{dHKav5;pj2KT;i$ih(jqsRw<;HnV` zGhNq&Dwt5ONrPO9p?lkp7|QeC4?aYXrl2HtxB-}z^AUcfnxAB+_5Wq>UEuAis(b(S z*k_-|KIdeeyvgCQ_6{g2Xly~bmX@qUf`Ev<_V)JQe>DaOHYbOZA$GZ(%!VCik2hy`x|4ewbwqcgvV9y=Snzx z&%M@sj5+2QV~#QAm~%GZF>ZPxCE)11I)nOWkmf(S_>n8Uc$4{&Yp9LvYR&z@vg|5k zD>|ssq#opkOf$}+Oc6l#N_+6SW#)J*JUm1wW2Gr8XHV#i9cya1wru8)Q@z3=jo2_C zR0$Cr#i|1+Jp?K$c_^>8+uUZ-S?qWnbJyq6HH@u4aCfiOfO;h$bE4X8pGD8K~FB>p7H{#q-f${8ZEF(pmmH0cq zYNYhBV%Jxc(rSy06cEusg<-oTR*I}L0U|o`3tANK&2J`+Qu9Be(IH3$eQ9Fk7KFG8 z3j@POB3l*(hOgQsv&c@qP^Mw2L*_1YT5hO1kV%)dm8qd+MyVpudG>K=QH0oGEcW0& z`Fofc=t;^S>$0MBdSN|~@hrC%wme5Ji3HNwtE&49clMwZDTZp>M41|YgZd#2I>{}LxV4A^zS`M!f^8TI6HKL zq$6aCms1JMHOOf{72!(1TMw?0V%No5A zMn)TpYJ1cEt8E7Wu8O={l^(UEeI?I_7^qo73L!g!Bcy@a(Q4S%3{8Dg;4<0~Tut`8 zu#7dTiEs)Mfsom0= z16f!}`>(`x6!``BF*MnyTO=Dh>kz#*pEZfQHvLbt$;qp9yC1U(y@;SZBe~3QhKLOz zJzJ!VvMVu$APlxw8;a%rmoGTLvmWZ$sI>A^S)k@|c4l^Dsr>XTwIgS#kI&i=Y$j`! z^V4J|bjxWWWjiKN7|=U`t#v|D{tOTv)L~*1?ol10OHD7c_Feq%)rr+Aeb>*a9V@cr zeQ#&!Df>Qamj1HuMV7MNIr|<|`VO#pXNx+@pELAb!pE<)69V!Z`-BXU4Yis)geaG~ z-%9Qurdg=KG?KgF1zsYKgA1S?FP>X0R zZpI558=cxbKmm0)8^YB1q~TP4i%V@0@)f1PvNuunsdyJJ`uNi* zgg;7FJ99HcpRx~2G6<0JTR2stfuS(S91M$yY=dEMKsp%`p2|$6JPW6$M9W1)H!YHx zuV>$5T9L#)%C1`O=cbRU%Ee1b8NM1}hizwey_$_v6L|tk3o#Vhcxn~|laf2^Tb3#S zjc+Ru@09{D zBn(nTT_RRAy{$z+KDBAzdyd0CM8w3z)#xK(nxI;&Zh_6ZLU33{YGHpS^9_%EpqM93C!vX(#?h{EmB+TVK)aZgu-;jyW z;4y-Ob%vH^hU18IYZ}H7AaW#!DdNNRpgPAPm^4Crl=Rlc8a0fb-mHIH+A{`GO{ART zAg6I3q(mM#L{V~*9JV(c>BKK5y&k!2x;ZwZ3C~XsHJfRJ&lc#b$IMi83CS}!lD6c1 z8c8;_mQUUoPJTK}n=FsngA@J1)lOB($HgY$yW z|CLppIQ!eV>YaQ?n7o@4Yqj7Cnhd?rSiU$Xl@s6~4))m*;7A-AqD98o{Wb@=iClB-Rq=r4^@)2g_l!=&TM!k_9uXx4d(-SN@ z>4fI->`v|PF0N8}?D{yno=x(&aK5u#R?A1<6K9_qwg{d(P$`7-;JJqZP;YbcC?CS;?QeP(~>}`a(w~n*n3${L==bI{)z0 z=N}~7Gn;>o*kkam@jl9~TJGnjkE&{p`Nwq3r#b(~#dnrXKnq)ou5YqOs0mM0^by=p zl0gjqHl3+duhrwFNL#7Sd1s(H z?-(7}%KKu#>;Qq_2TeT-cVE|9MAMpe_zm0gJ68%yG)v)G%q#L}YBDY66;4ExGwl!4ooO8d7i|#L9$65bX z(fy_J!E{N@LN5TfZ3TQ0pixGE=6Fm55UjbmPiBB3L&Gi1-rCTp-D_lZt3eyugkq6g z+HZjpE{l*cuI%`L<@f?IEfN==7r9rugFuJfJjs&BUz`b=q4 zyqqp5Wc+HGc3h@GC!-PZZH#6@<>(nrya8_+i#Vh8d$P57qQ-9)9iSlRyBK}Gf&>W@utR62#x;g=2NNX>rlR5C@ATZHj-vNTWMm7gJ z2uGNJ+5(zE=WLT4LvxrtM?V1p_|yr=l`B%`j=ww; z&u3P(*~IIz`Fiy1A1te=)z_5|rpx9$%(j_2Y#uW3oXTbl5)-BsG23>aRK=`6b=iy` z=jaO^S(X9ARN35yp{hjZP8{Z*T#1IfSVEayHXpHf5MJT4>6LqG?rvG`=b%5T=V)ZJ z7DQ!GPm|5Q)|4CA#JQ%gMzT$$MBP}7sp&(Mm4S`Kp}a`dCvl_OJ~yzt&A{%RZeVjc zaSQDT%e2$L#%SHt`mr;xIaJ4@UpozK0ti>*dMZrq?kNU#?of0~mT5v>Y1X(h7AoW= zlg>G9k|6TeJU_xDZ0}w&bM&-uZP>&(qmkl(`DUm79IA?!Ocn}iw|mJ3AxN1ix(C+E zjbp)7U2N)-74DZ9GxKJ~!n0T_1uR%8<|Qku(=_I$N?Bdq{1JF7Dqb??K<1gkOV)D~ z(*?RY5X(y@Z&|{3zxRNn7YupkEd!@^#z+u%c*$&%$A9Ly06+$(^ped>d+?H34|2nW z<%`@)reh1;OSS;tSm7n(J*T7e;tXTgckT_VSTmfWHOliw)k~Jl<|Qj86A2@we|VD# zVP`&>{7+mmU#(6i|5QGZR-YcHAR@kx*SZO7(%IhU%eC{Tk4D+O&$l_~FHY5iM|Z{9 zd;GzDFVKU#$np0tP>#kmvF)v}B?^-xg!gL!fwYCRktD(JwzS-17J;w(uz)0XiS~t)?|EYa>6l-P)!$ZyQIfwGG?WI@_0{ zHrA}}?VtGc+NXhz_T})+kBtwc9eC?dp6~j$6+G*d0#DN*?^G@ClulBHN)ADwDoBV9 zsi`Gd2WpoLDXHB@6l{Dcj(c{5zZPmw5RpW+6IBDItCs1p+E0hKK=&%efbriGXEE^X zFC(5r-xy@c6%-^KxNc{Ig@(WskG}(eZKJS+mLkD8Dq0$jVnWEJA3#|wKn08rtHL}o z0}=K$i&h&45mJm%*P0gRAU3D~A;m*BuAvjLGl+d&$jmD^cZD~Io-88wDI-*%Yg{ah zp0x&4!5$*}v6?R*r362<<-SLo#ID%Fz6(n7Zp+3k`faBx3s%3vnBbJVBke5|#n;O8 zLkvW+fUejXb@E+Lj|sK~u}GC$OmJ7`djh-IFc@L2s0k9b>Ck8b$^|dK8Eel2&Dl~v z)CY19aKyo+A$UbUjH!~17Q&grV^~~#F`@NBzL5YqOl;Vydg>#}*))}5zcJLIw02y= z)wUc7wKbJd;!^4XqtgsUX&N+EL~EuRu;14g3^iWjMzMx+0TCl2wGyLT<-67lGZK-H z1OOWP*3FtNAq-()O>L8Khz8k<)fEsE&Rt44}BTt=N@UFgRLlYK2uPXe0|j zvfPhD3z&2MwVQ|l8`MCu2+ZJ7pB)hx(_;F;w9oc`~L}mwSp=2g}+LAUVSYoWB2u3nnC;Vxo$y z{}7a}A7mpE;={rzEbmA%QA5hc+5PO_@f->*eT~hJ7Hgmy7&4y%MeA8z8i>t{*|DHW zk%B({Os)Cv6KCn?nR!1?>*%M^;Y|Jf?vJ#e79&LG`t$wdvF#BMk;fdM?HxZL+>nMx z8NFFKB^GzXDSR7-yb=_FvaA#q;}npY*Ih7@qdF%Cs#xL8kUA~TiJ?$dl#7vgx}bpk zav*%zOz6iMOjj1>5($VIsRTj8+ahZkWA7fS)nyhWi-@P;Xj}4f1|C-Mlk0Q}v@x2O z;1>~{6aqVGK(>Z$4jU!{*4!1Er-eT_F8`MDzaaYpw@DMqDF7(wo{aP4Aas3QTj{`l zt(Ak<>V})?D6MU5Y7U>i4NW@`Raw3bjZGn@K6`yu@lxhyK~i8_jalsI4R|>`X8C zCNH=pt565yP(#*o3~?a(`vOH;~Q0F6B(5= zFCu-^K-9RmE9@bNF`vL|rM_q))r1~cbRnqSt{LbjC|1)zF%UFn10h>F9|$$iN;tU9 zhk-*KtHY4>SgbX}Zud$?;M9dTT=z=H5)(Kai7Y67e?M+CHPvaO09p-WCnj^Zy|U34|yzr{pDR$ds2ed{oxo(hZ>;DMC__oiH_O2*lzIb)0nBXXj;o!DImgdVen zl`Y3iVk|kME_Ib#irpfxV%ngpU}H9@LRYlMSXq=7DY+AkotbPQF#BzR$tWyPjfeJ& z{^@~1RZ^b`3RR^(IVn(p8IpQ>yq?^86>a3jjhsN7?JOmuHlA8v6t#*XpO?!Cylg_0 z=}m+-noeyX%X%;qwfO-Q1+^J6B)7XdBFCY4b7ugZhDJlgZ^w$1WXKuN)wnlgjXNGn zHWgWm^xEn-*OYP~KuOJvsc|jkgvS_q%pl$=awJk6@k+?LB1wesluH95VaEiCa}O79 zHWmxK#x`Dv+7CWzk!A}UdqPw4!Pb81!g9_1NtEq7RtI63!m6zB9iQZxm`E`?*h+Ko zdyzewID7(O=i<7VYbeSk6oWC6w?|DPldLXl4;&tVSbNy&pB?;X@uH-Lm2rYP)br6c{sFW|84a4q-3i;#;$0U*2d4V*%A-H5^N^b_3NW zcqu!nXcp11(oSj)g4c^8Rx3E*4Wzej+DQ?1q!)?qR}{Jrpkk%V}kO{UgGJkA#KSDhF%ni#sFw<8vAqRnxWy~#zwza z6$}mWV@Y0brF6jQOpRKwJODNHDcG28<|cG>ji6EIgRL683`MGNNzs8?ey}vJIsX*8 z$;s9Z1h-$dNy}e|Ev2_}_5|4;W1uBCa)HcHh?TRie(Wk)VkIN|%HnYV@;v27|^&rGd;^x!K>Rb7hdZy)2IMbV}=L;?sD_r~R@MGl)tk znn>O$79>ZD17Hzw8CA3zb;twefDI>2N z!E9@dO+{%wC7sN(lhtV~C~CG?H{&XjLWTq}$(M5FPzgRaO(%`g0B)T0bFi6?EsA{%)3WAz25&$yr-OI<@)fKFmzuFq8a z&f^n>2FF+4bD_?9J_A{M+hiPKOEY)R8@p-#fsPQqwMOIqnhw4c{9>c&!$>dnG9Snz z;z{%66g=@H$5IF`@bGoKmHf5L68IMdhJ^SRkuCo1684-R;8OVk+XL8;eqp>FGY#d;=~c1pjno(G z$%PaEC`BvT^GYNEW-AFX*(Nh@LDXx6qfH)d`9bGqZ5YNp5)B4d7`Mx_cm+K{ zHl^7Q-vweqEY#sIi^?gcJ`^J%NzDwBr)Li3w3r}13I4BI9-fH?zty44~6Fh}%YxXHQh4mC$2#{;M) z?Y^{Ip2%DFnyJ@eL1>_wXA1#3dp`Op=>n#o(Hv01P=UaOV6;;I$bWJ&U*;wJh1*Az z%D1x!hv|?`c^2XlS6bqWwArWpgnSUehECqV^?7bd<-C%7Vq=n%8k6@E$)mM?sWhrq zgd$5voj60CsAUekjsx5QBC%MZIrkoFqNp*&*g%j1!I2?WO}1&8H$aE`$1ZLm2M+*3 zo_Rehyt^~d_k+-}^k=cJlW!=^E32*QVr(^#W}eyv;ER0b#G(}b5xuu&!K9Wjte|0u zBwj6Zp)kGDbIhBEEr|TyR2 zF}sztZZ^=v?4B=$$sdwWPfZihQ0bNE!k1g%Ixq#Ru^m)vqaDFcmI0jAWVN?C51=R3&h0XC0XM*Ah@ zHvdIQF1k_`4=PO00exg(25j_8I!>$O@4PqCiHi_$_U+|*@XvR0e#Ja{aNF^E z@PRUikI$bMhz~N7j&0D)l}_3I&o6HV@k%h!zcE<}6Yu%_a`VsqvIh166{J^;3aR<< zk(F@ru%uT;q3n@=3X_*)w~%_=QdU~8y|gN(hkUBp8>-EoK(iBhv%jQf?<;X&dB=xYRZXor9r9MV#C%3x4B-=;o zCQIE(>Y%0WA$8bN50KjZkIHw5)P74nM(Q3*JwfV0OI-tak63CKDR1`!q@J*6H<7y5 zhUHdLH(2TbshccyAF2J8dXUsTmU@`fgO)PP1q$KVk@lCyYfW&7L z5{F1wTaS_W^MyQlg2V#?;~HT8jsV+5;`;d{K0xC8gCuSu@vtDgmBjm0GyZI6I8tCh z*bx)l?o4od1$W}T!?)%1sGyg&GALIfF16Af0)M(YL+7xR^QLPVCQT$B;o7U3if1XF zNM6x|OHVWB{DA)4(>G_qSbztqV*ch+$=3vkv(`pZLuwv$po|kUC@v# z-1URhs=xjO$OM=| zP3o|v4w9O1xkPH0r5+)*$5M}z+GnW=061W&oum$0%Agilzz@`dO=!N&==71>Ds(Cy zKkyl+)4Q#|x0L<8sq8OBivE)H{!%LYuDJC+5$C)jdzEbd-6}<$YGB?x~!cHlZE)q%(6Et z%fqQKc>HK>InVTCB-w)AEKhT^5zwCeVj4HIausKd2`L=j#j|{!my{pgC5N>MBjGkb zyvvr8R102d)gsY(bJ#ds4+nBI4S}Xe+drTX4hjNEw2Rx2X=(uaQ+l3HR={sJk@aJ}#oXh^sl?o)uEg6yMib9; zznpS?++vJVj9Y_gS`YQdQfHX#iP^!p@DM`VZ4(fxe;0%!~ zsgHPGK>5?K)qth4h~q4c!SMQx3`TXuzyTqsT_DFAIJTreb=ZmV<2ZEP*bX()u*kY! zUg|!&L7914g`Gz$+^aaKhv}eZI`hhCR1E<#w+9#q_#4(sN=DCN5o$njg&5=uUo(Ke zL>?Z?r6@xUtB8TPBhh5?a0Kf}QgjCq5amQCH?T-i+u#t7BgI4x7&9@s!PU`eLA zA2kO()B3+x(If#N=WyA$p$i#hKPk_4}OU6x}bCo5{yM$x>(FkN9p%c^CjKAcYZ6) zkf^l}q``HNEDT{R#QrZB2y>1h{()}gHrCnE>=$x+?a;Vb=dyBU1II%`;#O{eMO~

?"),X:s("d?"),H:s("h_"),n:s("~"),u:s("~(d)"),f:s("~(d,x)")}})();(function constants(){B.n=J.b1.prototype -B.o=J.t.prototype -B.p=J.ai.prototype -B.q=J.Y.prototype -B.r=J.J.prototype -B.t=J.al.prototype -B.e=J.bh.prototype -B.b=J.aw.prototype -B.c=function getTagFallback(o) { +var t=(function rtii(){var s=A.e8 +return{J:s("cV"),Y:s("cW"),V:s("e<@>"),C:s("l"),B:s("bL"),q:s("bM"),Z:s("hi"),O:s("bN"),k:s("bO"),U:s("bP"),x:s("c"),s:s("u"),b:s("u<@>"),T:s("ak"),m:s("o"),g:s("M"),p:s("v<@>"),j:s("j<@>"),P:s("q"),K:s("d"),L:s("hk"),l:s("y"),N:s("U"),R:s("f"),c:s("E"),D:s("c1"),w:s("c2"),e:s("c3"),E:s("c4"),o:s("ay"),I:s("a3<@>"),d:s("m<@>"),a:s("m"),F:s("aG"),y:s("fU"),i:s("i"),z:s("@"),v:s("@(d)"),Q:s("@(d,y)"),S:s("a"),A:s("0&*"),_:s("d*"),W:s("Z?"),X:s("d?"),H:s("h9"),n:s("~"),u:s("~(d)"),f:s("~(d,y)")}})();(function constants(){B.n=J.b4.prototype +B.o=J.u.prototype +B.p=J.aj.prototype +B.q=J.M.prototype +B.r=J.an.prototype +B.f=J.bk.prototype +B.c=J.ay.prototype +B.d=function getTagFallback(o) { var s = Object.prototype.toString.call(o); return s.substring(8, s.length - 1); } -B.f=function() { +B.h=function() { var toStringFunction = Object.prototype.toString; function getTag(o) { var s = toStringFunction.call(o); @@ -2674,7 +2776,7 @@ B.f=function() { prototypeForTag: prototypeForTag, discriminator: discriminator }; } -B.l=function(getTagFallback) { +B.m=function(getTagFallback) { return function(hooks) { if (typeof navigator != "object") return hooks; var userAgent = navigator.userAgent; @@ -2689,11 +2791,11 @@ B.l=function(getTagFallback) { hooks.getTag = getTagFallback; }; } -B.h=function(hooks) { +B.i=function(hooks) { if (typeof dartExperimentalFixupGetTag != "function") return hooks; hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); } -B.k=function(hooks) { +B.l=function(hooks) { if (typeof navigator != "object") return hooks; var userAgent = navigator.userAgent; if (typeof userAgent != "string") return hooks; @@ -2712,7 +2814,7 @@ B.k=function(hooks) { } hooks.getTag = getTagFirefox; } -B.j=function(hooks) { +B.k=function(hooks) { if (typeof navigator != "object") return hooks; var userAgent = navigator.userAgent; if (typeof userAgent != "string") return hooks; @@ -2743,7 +2845,7 @@ B.j=function(hooks) { hooks.getTag = getTagIE; hooks.prototypeForTag = prototypeForTagIE; } -B.i=function(hooks) { +B.j=function(hooks) { var getTag = hooks.getTag; var prototypeForTag = hooks.prototypeForTag; function getTagFixed(o) { @@ -2761,52 +2863,52 @@ B.i=function(hooks) { hooks.getTag = getTagFixed; hooks.prototypeForTag = prototypeForTagFixed; } -B.d=function(hooks) { return hooks; } +B.e=function(hooks) { return hooks; } -B.a=new A.cl() -B.m=new A.bx() -B.u=A.A("cN") -B.v=A.A("cO") -B.w=A.A("bI") -B.x=A.A("bJ") -B.y=A.A("bK") -B.z=A.A("bL") -B.A=A.A("bM") -B.B=A.A("bX") -B.C=A.A("bY") -B.D=A.A("bZ") -B.E=A.A("c_")})();(function staticFields(){$.cj=null -$.v=A.bC([],A.dV("t")) -$.dg=null -$.db=null -$.da=null -$.dX=null -$.dR=null -$.e_=null -$.cE=null -$.cI=null -$.d_=null -$.a9=null -$.aP=null -$.aQ=null -$.cW=!1 -$.i=B.a})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal -s($,"h5","d5",()=>A.fO("_$dart_dartClosure")) -s($,"ha","e3",()=>A.E(A.bW({ +B.a=new A.cq() +B.b=new A.bA() +B.t=A.B("cV") +B.u=A.B("cW") +B.v=A.B("bL") +B.w=A.B("bM") +B.x=A.B("bN") +B.y=A.B("bO") +B.z=A.B("bP") +B.A=A.B("c1") +B.B=A.B("c2") +B.C=A.B("c3") +B.D=A.B("c4")})();(function staticFields(){$.co=null +$.w=A.bF([],A.e8("u")) +$.dq=null +$.dl=null +$.dk=null +$.ea=null +$.e4=null +$.ed=null +$.cH=null +$.cM=null +$.d8=null +$.aa=null +$.aT=null +$.aU=null +$.d3=!1 +$.h=B.a})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal +s($,"hh","df",()=>A.fY("_$dart_dartClosure")) +s($,"hm","eg",()=>A.F(A.c0({ toString:function(){return"$receiver$"}}))) -s($,"hb","e4",()=>A.E(A.bW({$method$:null, +s($,"hn","eh",()=>A.F(A.c0({$method$:null, toString:function(){return"$receiver$"}}))) -s($,"hc","e5",()=>A.E(A.bW(null))) -s($,"hd","e6",()=>A.E(function(){var $argumentsExpr$="$arguments$" +s($,"ho","ei",()=>A.F(A.c0(null))) +s($,"hp","ej",()=>A.F(function(){var $argumentsExpr$="$arguments$" try{null.$method$($argumentsExpr$)}catch(r){return r.message}}())) -s($,"hg","e9",()=>A.E(A.bW(void 0))) -s($,"hh","ea",()=>A.E(function(){var $argumentsExpr$="$arguments$" +s($,"hs","em",()=>A.F(A.c0(void 0))) +s($,"ht","en",()=>A.F(function(){var $argumentsExpr$="$arguments$" try{(void 0).$method$($argumentsExpr$)}catch(r){return r.message}}())) -s($,"hf","e8",()=>A.E(A.dm(null))) -s($,"he","e7",()=>A.E(function(){try{null.$method$}catch(r){return r.message}}())) -s($,"hj","ec",()=>A.E(A.dm(void 0))) -s($,"hi","eb",()=>A.E(function(){try{(void 0).$method$}catch(r){return r.message}}())) -s($,"hk","d6",()=>A.eE())})();(function nativeSupport(){!function(){var s=function(a){var m={} +s($,"hr","el",()=>A.F(A.dw(null))) +s($,"hq","ek",()=>A.F(function(){try{null.$method$}catch(r){return r.message}}())) +s($,"hv","ep",()=>A.F(A.dw(void 0))) +s($,"hu","eo",()=>A.F(function(){try{(void 0).$method$}catch(r){return r.message}}())) +s($,"hw","dg",()=>A.eQ())})();(function nativeSupport(){!function(){var s=function(a){var m={} m[a]=1 return Object.keys(hunkHelpers.convertToFastObject(m))[0]} v.getIsolateTag=function(a){return s("___dart_"+a+v.isolateTag)} @@ -2817,15 +2919,15 @@ for(var o=0;;o++){var n=s(p+"_"+o+"_") if(!(n in q)){q[n]=1 v.isolateTag=n break}}v.dispatchPropertyName=v.getIsolateTag("dispatch_record")}() -hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer:A.b7,ArrayBufferView:A.aq,DataView:A.b8,Float32Array:A.b9,Float64Array:A.ba,Int16Array:A.bb,Int32Array:A.bc,Int8Array:A.bd,Uint16Array:A.be,Uint32Array:A.bf,Uint8ClampedArray:A.ar,CanvasPixelArray:A.ar,Uint8Array:A.bg}) +hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer:A.ba,ArrayBufferView:A.as,DataView:A.bb,Float32Array:A.bc,Float64Array:A.bd,Int16Array:A.be,Int32Array:A.bf,Int8Array:A.bg,Uint16Array:A.bh,Uint32Array:A.bi,Uint8ClampedArray:A.at,CanvasPixelArray:A.at,Uint8Array:A.bj}) hunkHelpers.setOrUpdateLeafTags({ArrayBuffer:true,ArrayBufferView:false,DataView:true,Float32Array:true,Float64Array:true,Int16Array:true,Int32Array:true,Int8Array:true,Uint16Array:true,Uint32Array:true,Uint8ClampedArray:true,CanvasPixelArray:true,Uint8Array:false}) -A.a0.$nativeSuperclassTag="ArrayBufferView" -A.aD.$nativeSuperclassTag="ArrayBufferView" -A.aE.$nativeSuperclassTag="ArrayBufferView" -A.ao.$nativeSuperclassTag="ArrayBufferView" -A.aF.$nativeSuperclassTag="ArrayBufferView" -A.aG.$nativeSuperclassTag="ArrayBufferView" -A.ap.$nativeSuperclassTag="ArrayBufferView"})() +A.a1.$nativeSuperclassTag="ArrayBufferView" +A.aH.$nativeSuperclassTag="ArrayBufferView" +A.aI.$nativeSuperclassTag="ArrayBufferView" +A.aq.$nativeSuperclassTag="ArrayBufferView" +A.aJ.$nativeSuperclassTag="ArrayBufferView" +A.aK.$nativeSuperclassTag="ArrayBufferView" +A.ar.$nativeSuperclassTag="ArrayBufferView"})() Function.prototype.$1=function(a){return this(a)} Function.prototype.$0=function(){return this()} Function.prototype.$2=function(a,b){return this(a,b)} @@ -2837,6 +2939,6 @@ convertToFastObject($);(function(a){if(typeof document==="undefined"){a(null) return}if(typeof document.currentScript!="undefined"){a(document.currentScript) return}var s=document.scripts function onLoad(b){for(var q=0;q","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","Rti._eval","Rti._bind","_rtiBind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_awaitOnObject.","_wrapJsFunctionForAsync.","AsyncError.toString","_BroadcastSubscription._onPause","_BroadcastSubscription._onResume","_BroadcastStreamController._mayAddEvent","_BroadcastStreamController._subscribe","_DoneStreamSubscription","_BroadcastSubscription","_BroadcastStreamController._recordPause","_BroadcastStreamController._recordResume","_BroadcastStreamController._addEventError","_BroadcastStreamController._forEachListener","_BroadcastStreamController._callOnCancel","_SyncBroadcastStreamController._mayAddEvent","_SyncBroadcastStreamController._addEventError","_SyncBroadcastStreamController._sendData","_SyncBroadcastStreamController._sendData.","_SyncBroadcastStreamController__sendData_closure","_FutureListener.matchesErrorTest","_FutureListener.handleError","_Future._setChained","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._completeWithValue","_Future._completeError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFutureAsync.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","Stream.length","Stream.length.","Stream_length_closure","_Future._complete","_StreamController._pendingEvents","_StreamController._ensurePendingEvents","_StreamController._subscription","_StreamController._badEventState","_StreamController._subscribe","_BufferingStreamSubscription._guardCallback","_StreamController._recordPause","_StreamController._recordResume","_StreamController._subscribe.","_AsyncStreamControllerDispatch._sendData","_ControllerStream.hashCode","_ControllerSubscription._onPause","_ControllerSubscription._onResume","_BufferingStreamSubscription._setPendingEvents","_BufferingStreamSubscription._add","_BufferingStreamSubscription._onPause","_BufferingStreamSubscription._onResume","_BufferingStreamSubscription._addPending","_BufferingStreamSubscription._sendData","_BufferingStreamSubscription._checkState","_BufferingStreamSubscription._mayResumeInput","_StreamImpl.listen","_StreamImpl.listen[function-entry$1]","_PendingEvents.schedule","_PendingEvents.add","_PendingEvents.schedule.","_PendingEvents.handleNext","_DoneStreamSubscription._onMicrotask","_rootHandleError.","_RootZone.runGuarded","_RootZone.runUnaryGuarded","_RootZone.runUnaryGuarded[function-entry$2]","_RootZone.bindCallbackGuarded","_RootZone.run","_RootZone.run[function-entry$1]","_RootZone.runUnary","_RootZone.runUnary[function-entry$2]","_RootZone.runBinary","_RootZone.runBinary[function-entry$3]","_RootZone.registerBinaryCallback","_RootZone.registerBinaryCallback[function-entry$1]","_RootZone.bindCallbackGuarded.","_HashMap.keys","_HashMap.length","_HashMap.containsKey","_HashMap._containsKey","_HashMap.[]","_HashMap._get","_HashMap.[]=","_IdentityHashMap._computeHashCode","_HashMap.forEach","_HashMap._computeKeys","_HashMap._getBucket","_IdentityHashMap._findBucketIndex","_HashMapKeyIterable.length","_HashMapKeyIterable.iterator","_HashMapKeyIterator.current","_HashMapKeyIterator.moveNext","ListBase.iterator","ListBase.elementAt","ListBase.map","ListBase.toString","MapBase.forEach","MapBase.length","MapBase.toString","MapBase.mapToString.","StringBuffer.write","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","Iterable.map","Iterable.length","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.toString","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","jsify._convert","callbackToStream.eventFunction","StreamController","Worker.","_StreamController.add","_StreamController._add","main.","jsSendMessage","Worker.sendMessage","print","DART_CLOSURE_PROPERTY_NAME","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","","$intercepted$elementAt1$ax","$intercepted$get$hashCode$IJavaScriptBigIntJavaScriptSymbolLegacyJavaScriptObjectabnsu","$intercepted$get$iterator$ax","$intercepted$get$length$asx","$intercepted$get$runtimeType$Ibdinsux","$intercepted$map11$ax","$intercepted$toString0$IJavaScriptBigIntJavaScriptFunctionJavaScriptSymbolLegacyJavaScriptObjectabnsux","ArrayIterator","BoundClosure","ByteBuffer","ByteData","Closure","Closure0Args","Closure2Args","EfficientLengthIterable","EfficientLengthMappedIterable","Error","ExceptionAndStackTrace","FixedLengthListMixin","Float32List","Float64List","Function","Future","IndexError","Int16List","Int32List","Int8List","Interceptor","Iterable","JSArray","JSBool","JSInt","JSNull","JSNumNotInt","JSNumber","JSObject","JSObjectUnsafeUtilExtension|_callMethod","JSString","JSUnmodifiableArray","JS_CONST","JavaScriptBigInt","JavaScriptFunction","JavaScriptIndexingBehavior","JavaScriptObject","JavaScriptSymbol","LateError","LegacyJavaScriptObject","List","ListBase","ListIterable","ListIterator","Map","MapBase","MapBase_mapToString_closure","MappedIterator","MappedListIterable","NativeByteBuffer","NativeByteData","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeTypedData","NativeUint16List","NativeUint32List","NativeUint8ClampedList","NativeUint8List","Null","NullError","NullThrownFromJavaScriptException","Object","PlainJavaScriptObject","RangeError","Record","Rti","RuntimeError","StackOverflowError","StackTrace","StaticClosure","Stream","String","StringBuffer","TearOffClosure","TrustedGetRuntimeType","TypeError","TypeErrorDecoder","Uint16List","Uint32List","Uint8ClampedList","Uint8List","UnknownJavaScriptObject","UnknownJsTypeError","Worker_closure","_AsyncAwaitCompleter","_AsyncCallbackEntry","_AsyncRun__initializeScheduleImmediate_closure","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_AsyncStreamController","_AsyncStreamControllerDispatch","_BroadcastStream","_BroadcastStreamController","_ControllerStream","_CyclicInitializationError","_DelayedData","_DelayedEvent","_Error","_Exception","_FunctionParameters","_Future","_FutureListener","_Future__addListener_closure","_Future__asyncCompleteError_closure","_Future__asyncCompleteWithValue_closure","_Future__chainCoreFutureAsync_closure","_Future__chainForeignFuture_closure","_Future__prependListeners_closure","_Future__propagateToListeners_handleError","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_HashMap","_HashMapKeyIterable","_HashMapKeyIterator","_IdentityHashMap","_JS_INTEROP_INTERCEPTOR_TAG","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_PendingEvents","_PendingEvents_schedule_closure","_RootZone","_RootZone_bindCallbackGuarded_closure","_StackTrace","_StreamController","_StreamController__subscribe_closure","_StreamImpl","_StreamIterator","_StringStackTrace","_SyncBroadcastStreamController","_TimerImpl_internalCallback","_TypeError","_Zone","_awaitOnObject_closure","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","_chainCoreFutureAsync","_chainCoreFutureSync","_computeFieldNamed","_computeSignatureFunctionNewRti","_createFutureOrRti","_createGenericFunctionRti","_createQuestionRti","_createStarRti","_current","_getCanonicalRecipe","_getFutureFromFutureOr","_getQuestionFromStar","_getTableEntry","_identityHashCodeProperty","_initializeScheduleImmediate","_installTypeTests","_interceptorFieldNameCache","_isInCallbackLoop","_isUnionOfFunctionType","_lastCallback","_lastPriorityCallback","_lookupBindingRti","_lookupFunctionRti","_lookupFutureOrRti","_lookupGenericFunctionParameterRti","_lookupGenericFunctionRti","_lookupInterfaceRti","_lookupQuestionRti","_lookupRecordRti","_lookupStarRti","_lookupTerminalRti","_newHashTable","_nextCallback","_objectTypeNameNewRti","_propagateToListeners","_receiverFieldNameCache","_rootHandleError_closure","_scheduleImmediateClosure","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_setTableEntry","_throw","_wrapJsFunctionForAsync_closure","_writeAll","addErasedTypes","addRules","alternateTagFunction","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","async___nullErrorHandler$closure","async___startMicrotaskLoop$closure","bind","bool","callbackToStream_eventFunction","collectArray","compose","create","cspForwardCall","cspForwardInterceptedCall","current","defaultStackTrace","dispatchRecordsForInstanceTags","double","eval","evalInEnvironment","evalRecipe","extractPattern","extractStackTrace","filled","findErasedType","findRule","forType","forwardCallTo","forwardInterceptedCallTo","fromMessage","fromTearOff","getInterceptor$","getInterceptor$asx","getInterceptor$ax","getTagFunction","handleArguments","handleDigit","handleExtendedOperations","handleIdentifier","handleTypeArguments","indexToType","initHooks_closure","initNativeDispatchFlag","int","interceptorOf","interceptorsForUncacheableTags","iterableToFullString","iterableToShortString","jsify__convert","main_closure","mapToString","markFixedList","newArrayOrEmpty","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","nullLiteralPropertyPattern","nullPropertyPattern","num","objectAssign","objectTypeName","parse","prototypeForTagFunction","provokeCallErrorOn","provokePropertyErrorOn","range","receiverOf","safeToString","throwWithStackTrace","toStringVisiting","toType","toTypes","toTypesNamed","undefinedCallPattern","undefinedLiteralCallPattern","undefinedLiteralPropertyPattern","undefinedPropertyPattern","value","withLength","$add","$index","$indexSet","_addEventError","add","addAll","bindCallbackGuarded","call","containsKey","dart:_interceptors#_shrBothPositive","dart:_interceptors#_shrOtherPositive","dart:_rti#_bind","dart:_rti#_eval","dart:async#_add","dart:async#_addEventError","dart:async#_addListener","dart:async#_addPending","dart:async#_asyncComplete","dart:async#_asyncCompleteError","dart:async#_asyncCompleteWithValue","dart:async#_badEventState","dart:async#_callOnCancel","dart:async#_chainForeignFuture","dart:async#_chainFuture","dart:async#_checkState","dart:async#_cloneResult","dart:async#_completeError","dart:async#_completeWithValue","dart:async#_ensurePendingEvents","dart:async#_forEachListener","dart:async#_mayAddEvent","dart:async#_mayComplete","dart:async#_onMicrotask","dart:async#_onPause","dart:async#_onResume","dart:async#_pendingEvents","dart:async#_prependListeners","dart:async#_recordPause","dart:async#_recordResume","dart:async#_removeListeners","dart:async#_reverseListeners","dart:async#_sendData","dart:async#_setChained","dart:async#_setErrorObject","dart:async#_setPendingEvents","dart:async#_subscribe","dart:async#_subscription","dart:async#_thenAwait","dart:async#_varData=","dart:collection#_computeKeys","dart:collection#_containsKey","dart:collection#_findBucketIndex","dart:collection#_get","dart:collection#_getBucket","dart:core#_errorExplanation","dart:core#_errorName","elementAt","forEach","handleError","hashCode","invalidValue","iterator","keys","length","listen","map","matchTypeError","matchesErrorTest","moveNext","pause","registerBinaryCallback","resume","run","runBinary","runGuarded","runUnary","runUnaryGuarded","runtimeType","schedule","stackTrace","then","toString","Rti._unstar","isTopType","_Universe._canonicalRecipeOfStar","_Universe._canonicalRecipeOfQuestion","_Universe._canonicalRecipeOfFutureOr","_Universe._canonicalRecipeOfBinding","_Universe._canonicalRecipeOfGenericFunction","Error._stringToSafeString","_HashMap._set","JSObjectUnsafeUtilExtension|callMethod","JSObjectUnsafeUtilExtension|getProperty","NullableObjectUtilExtension|jsify","_","_add","_addListener","_asCheck","_canonicalRecipeOfBinding","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_canonicalRecipeOfFutureOr","_canonicalRecipeOfGenericFunction","_canonicalRecipeOfInterface","_canonicalRecipeOfQuestion","_canonicalRecipeOfRecord","_canonicalRecipeOfStar","_chainSource","_cloneResult","_complete","_computeHashCode","_computeIdentityHashCodeProperty","_createBindingRti","_createFunctionRti","_createGenericFunctionParameterRti","_createInterfaceRti","_createRecordRti","_createSubscription","_createTerminalRti","_createTimer","_error","_errorTest","_expectsEvent","_failedAsCheckError","_findRule","_functionToJS1","_future","_getBindCache","_getBindingArguments","_getBindingBase","_getCachedRuntimeType","_getEvalCache","_getFunctionParameters","_getFutureOrArgument","_getGenericFunctionBase","_getGenericFunctionBounds","_getGenericFunctionParameterIndex","_getInterfaceName","_getInterfaceTypeArguments","_getIsSubtypeCache","_getKind","_getNamed","_getOptionalPositional","_getPrimary","_getQuestionArgument","_getRecordFields","_getRecordPartialShapeTag","_getRequiredPositional","_getReturnType","_getRuntimeTypeOfArrayAsRti","_getSpecializedTestResource","_getStarArgument","_guardCallback","_hasError","_hasOneListener","_hasPending","_hasTableEntry","_hasTimer","_installRti","_isAddingStream","_isCanceled","_isChained","_isCheck","_isClosure","_isComplete","_isDartObject","_isEmpty","_isFiring","_isInitialState","_isInputPaused","_isSubtypeUncached","_lookupAnyRti","_lookupDynamicRti","_lookupErasedRti","_lookupFutureRti","_lookupNeverRti","_lookupVoidRti","_mayAddEvent","_mayAddListener","_mayResumeInput","_name","_objectToString","_onError","_onValue","_outputController","_parseRecipe","_recipeJoin","_removeListener","_removeListeners","_scheduleImmediate","_set","_setAsCheckFunction","_setBindCache","_setCachedRuntimeType","_setCanonicalRecipe","_setError","_setErrorObject","_setEvalCache","_setIsTestFunction","_setKind","_setNamed","_setOptionalPositional","_setPrecomputed1","_setPrimary","_setRequiredPositional","_setRest","_setSpecializedTestResource","_setValue","_stringToSafeString","_target","_theUniverse","_unstar","_whenCompleteAction","_writeOne","_writeString","_zone","allocate","arrayAt","arrayConcat","arrayLength","arraySplice","asBool","asInt","asRti","asRtiOrNull","asString","as_Type","broadcast","charCodeAt","checkGrowable","collectNamed","complete","completeError","constructorNameFallback","contains","defineProperty","dispatchRecordExtension","dispatchRecordIndexability","dispatchRecordInterceptor","dispatchRecordProto","environment","erasedTypes","evalCache","evalTypeVariable","fieldADI","fieldNI","fixed","future","getDispatchProperty","getLegacyErasedRecipe","getProperty","getRuntimeTypeOfInterceptorNotArray","globalContext","handleNamedGroup","handleNext","handleOptionalGroup","handleStartRecord","handleUncaughtError","handleValue","handleWhenComplete","handlesComplete","handlesValue","hasErrorCallback","hasErrorTest","identityHashCode","instanceTypeName","interceptorFieldName","interceptorsByTag","isArray","isClosed","isDigit","isEmpty","isIdentical","isScheduled","jsonEncodeNative","leafTags","listToString","lookupSupertype","lookupTypeVariable","mapGet","mapSet","markFixed","normalize","objectKeys","objectToHumanReadableString","onReceive","perform","pop","position","printToConsole","propertyGet","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","push","pushStackFrame","receiverFieldName","recipe","sendMessage","sharedEmptyArray","shouldChain","stack","stream","stringIndexOf","stringSafeToString","stringSplit","substring","thenAwait","toGenericFunctionParameter","tryStringifyException","typeRules","typed","universe","unmangleGlobalNameIfPreservedAnyways","write","writeAll","zoned"], - "mappings": "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", + "sources": ["org-dartlang-sdk:///lib/_internal/js_runtime/lib/interceptors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_helper.dart","org-dartlang-sdk:///lib/internal/internal.dart","org-dartlang-sdk:///lib/internal/iterable.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_names.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart","org-dartlang-sdk:///lib/core/errors.dart","org-dartlang-sdk:///lib/core/exceptions.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_array.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/records.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/string_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_typed_data.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/synced/recipe_syntax.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/async_patch.dart","org-dartlang-sdk:///lib/async/future_impl.dart","org-dartlang-sdk:///lib/async/zone.dart","org-dartlang-sdk:///lib/async/async_error.dart","org-dartlang-sdk:///lib/async/schedule_microtask.dart","org-dartlang-sdk:///lib/async/stream.dart","org-dartlang-sdk:///lib/async/stream_impl.dart","org-dartlang-sdk:///lib/async/stream_controller.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/collection_patch.dart","org-dartlang-sdk:///lib/collection/maps.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/core_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_string.dart","org-dartlang-sdk:///lib/core/iterable.dart","org-dartlang-sdk:///lib/core/print.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_allow_interop_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_util_patch.dart","worker.dart","org-dartlang-sdk:///lib/async/broadcast_stream_controller.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_primitives.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/late_helper.dart","org-dartlang-sdk:///lib/internal/errors.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_unsafe_patch.dart","org-dartlang-sdk:///lib/collection/list.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart","org-dartlang-sdk:///lib/core/null.dart","org-dartlang-sdk:///lib/core/stacktrace.dart","org-dartlang-sdk:///lib/js_util/js_util.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_patch.dart","org-dartlang-sdk:///lib/js_interop_unsafe/js_interop_unsafe.dart","org-dartlang-sdk:///lib/async/future.dart"], + "names": ["makeDispatchRecord","getNativeInterceptor","lookupInterceptorByConstructor","JS_INTEROP_INTERCEPTOR_TAG","cacheInterceptorOnConstructor","checkNotNullable","isToStringVisiting","MappedIterable","unminifyOrTag","isJsIndexable","S","Primitives.objectHashCode","Primitives.objectTypeName","Primitives._objectTypeNameNewRti","Primitives.safeToString","Primitives.stringSafeToString","Primitives.extractStackTrace","Primitives.trySetStackTrace","ioore","diagnoseIndexError","wrapException","initializeExceptionWrapper","toStringWrapper","throwExpression","throwExpressionWithWrapper","throwUnsupportedOperation","_diagnoseUnsupportedOperation","throwConcurrentModificationError","TypeErrorDecoder.extractPattern","TypeErrorDecoder.provokeCallErrorOn","TypeErrorDecoder.provokePropertyErrorOn","JsNoSuchMethodError","unwrapException","saveStackTrace","_unwrapNonDartException","getTraceFromException","objectHashCode","_invokeClosure","Exception","convertDartClosureToJS","convertDartClosureToJSUncached","Closure.fromTearOff","Closure._computeSignatureFunctionNewRti","Closure.cspForwardCall","Closure.forwardCallTo","Closure.cspForwardInterceptedCall","Closure.forwardInterceptedCallTo","closureFromTearOff","BoundClosure.evalRecipe","evalInInstance","_rtiEval","BoundClosure.receiverOf","BoundClosure.interceptorOf","BoundClosure._computeFieldNamed","throwCyclicInit","getIsolateAffinityTag","lookupAndCacheInterceptor","setDispatchProperty","patchInstance","lookupInterceptor","patchProto","patchInteriorProto","makeLeafDispatchRecord","makeDefaultDispatchRecord","initNativeDispatch","initNativeDispatchContinue","initHooks","applyHooksTransformer","createRecordTypePredicate","quoteStringForRegExp","_checkValidIndex","Rti._getQuestionFromStar","Rti._getStarArgument","Rti._getFutureFromFutureOr","Rti._getFutureOrArgument","Rti._isUnionOfFunctionType","Rti._getKind","Rti._getCanonicalRecipe","findType","_substitute","Rti._getInterfaceName","Rti._getBindingBase","Rti._getRecordPartialShapeTag","Rti._getReturnType","Rti._getGenericFunctionBase","Rti._getGenericFunctionParameterIndex","_substituteArray","_substituteNamed","_substituteFunctionParameters","_FunctionParameters.allocate","_setArrayType","closureFunctionType","instanceOrFunctionType","instanceType","_arrayInstanceType","_instanceType","_instanceTypeFromConstructor","_instanceTypeFromConstructorMiss","getTypeFromTypesTable","getRuntimeTypeOfDartObject","_structuralTypeOf","_instanceFunctionType","createRuntimeType","_createAndCacheRuntimeType","_createRuntimeType","_Type","typeLiteral","_installSpecializedIsTest","isDefinitelyTopType","_recordSpecializedIsTest","_finishIsFn","_installSpecializedAsCheck","_nullIs","_generalIsTestImplementation","_generalNullableIsTestImplementation","Rti._getQuestionArgument","_isTestViaProperty","_isListTestViaProperty","_generalAsCheckImplementation","_generalNullableAsCheckImplementation","_failedAsCheck","_Error.compose","_TypeError.fromMessage","_TypeError.forType","_isFutureOr","_isObject","_asObject","_isTop","_asTop","_isNever","_isBool","_asBool","_asBoolS","_asBoolQ","_asDouble","_asDoubleS","_asDoubleQ","_isInt","_asInt","_asIntS","_asIntQ","_isNum","_asNum","_asNumS","_asNumQ","_isString","_asString","_asStringS","_asStringQ","_rtiArrayToString","_recordRtiToString","_functionRtiToString","isLegacyObjectType","_rtiToString","_unminifyOrTag","_Universe.findRule","_Universe._findRule","_Universe.findErasedType","_Universe.addRules","_Universe.addErasedTypes","_Universe.eval","_Universe.evalInEnvironment","_Universe.bind","_Universe._installTypeTests","_Universe._lookupTerminalRti","Rti.allocate","_Universe._createTerminalRti","_Universe._installRti","_Universe._lookupStarRti","_Universe._createStarRti","_Universe._lookupQuestionRti","_Universe._createQuestionRti","_Universe._lookupFutureOrRti","_Universe._createFutureOrRti","_Universe._lookupGenericFunctionParameterRti","_Universe._createGenericFunctionParameterRti","_Universe._canonicalRecipeJoin","_Universe._canonicalRecipeJoinNamed","_Universe._lookupInterfaceRti","_Universe._canonicalRecipeOfInterface","_Universe._createInterfaceRti","_Universe._lookupBindingRti","_Universe._createBindingRti","_Universe._lookupRecordRti","_Universe._createRecordRti","_Universe._lookupFunctionRti","_Universe._canonicalRecipeOfFunction","_Universe._canonicalRecipeOfFunctionParameters","_Universe._createFunctionRti","_Universe._lookupGenericFunctionRti","_Universe._createGenericFunctionRti","_Parser.create","_Parser.parse","_Parser.toGenericFunctionParameter","_Parser.pushStackFrame","_Parser.collectArray","_Parser.handleOptionalGroup","_Parser.collectNamed","_Parser.handleNamedGroup","_Parser.handleStartRecord","_Parser.handleDigit","_Parser.handleIdentifier","_Universe.evalTypeVariable","_Parser.handleTypeArguments","_Parser.handleArguments","_Parser.handleExtendedOperations","_Parser.toType","_Parser.toTypes","_Parser.toTypesNamed","_Parser.indexToType","isSubtype","_isSubtype","isBottomType","_isFunctionSubtype","_isInterfaceSubtype","_Utils.newArrayOrEmpty","_areArgumentsSubtypes","_isRecordSubtype","isNullable","isSoundTopType","_Utils.objectAssign","_AsyncRun._initializeScheduleImmediate","_AsyncRun._scheduleImmediateJsOverride","_AsyncRun._scheduleImmediateWithSetImmediate","_AsyncRun._scheduleImmediateWithTimer","_TimerImpl","_makeAsyncAwaitCompleter","_AsyncAwaitCompleter._future","_asyncStartSync","_asyncAwait","_asyncReturn","_asyncRethrow","_awaitOnObject","_wrapJsFunctionForAsync","AsyncError.defaultStackTrace","_interceptError","_interceptUserError","_Future._chainCoreFutureSync","_Future._chainCoreFutureAsync","_Future._propagateToListeners","_registerErrorHandler","_microtaskLoop","_startMicrotaskLoop","_scheduleAsyncCallback","_schedulePriorityAsyncCallback","scheduleMicrotask","StreamIterator","_runGuarded","_ControllerSubscription","_BufferingStreamSubscription","_BufferingStreamSubscription._registerErrorHandler","_nullErrorHandler","_rootHandleError","_rootRun","_rootRunUnary","_rootRunBinary","_rootScheduleMicrotask","_HashMap._getTableEntry","_HashMap._setTableEntry","_HashMap._newHashTable","MapBase.mapToString","Error._throw","List.filled","JSArray.fixed","JSArray.markFixed","StringBuffer._writeAll","StackTrace.current","Error.safeToString","Error.throwWithStackTrace","AssertionError","ArgumentError","ArgumentError.value","RangeError.range","IndexError.withLength","UnsupportedError","UnimplementedError","StateError","ConcurrentModificationError","Iterable.iterableToShortString","Iterable.iterableToFullString","_iterablePartsToStrings","print","_callDartFunctionFast1","_noJsifyRequired","jsify","promiseToFuture","_Completer.future","Completer","initializeRecorderModule","callbackToStream","StreamController.broadcast","_BroadcastStreamController.stream","Worker","main","Worker.onReceive","_StreamController.stream","printString","throwLateFieldADI","throwUnnamedLateFieldNI","JSObjectUnsafeUtilExtension._callMethod","Interceptor.hashCode","Interceptor.toString","Interceptor.runtimeType","JSBool.toString","JSBool.hashCode","JSBool.runtimeType","JSNull.toString","JSNull.hashCode","LegacyJavaScriptObject.toString","LegacyJavaScriptObject.hashCode","JavaScriptFunction.toString","JavaScriptBigInt.toString","JavaScriptBigInt.hashCode","JavaScriptSymbol.toString","JavaScriptSymbol.hashCode","JSArray.addAll","JSArray.map","JSArray.elementAt","JSArray.toString","JSArray.iterator","JSArray.hashCode","JSArray.length","ArrayIterator.current","ArrayIterator.moveNext","JSNumber.toString","JSNumber.hashCode","JSNumber._shrOtherPositive","JSNumber._shrBothPositive","JSNumber.runtimeType","JSInt.runtimeType","JSNumNotInt.runtimeType","JSString.toString","JSString.hashCode","JSString.runtimeType","JSString.length","LateError.toString","ListIterable.iterator","ListIterable.map","ListIterator.current","ListIterator.moveNext","MappedIterable.iterator","MappedIterable.length","MappedIterator.moveNext","MappedIterator.current","MappedListIterable.length","MappedListIterable.elementAt","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.hashCode","BoundClosure.toString","_CyclicInitializationError.toString","RuntimeError.toString","initHooks.","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","Rti._eval","Rti._bind","_rtiBind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_awaitOnObject.","_wrapJsFunctionForAsync.","AsyncError.toString","_BroadcastSubscription._onPause","_BroadcastSubscription._onResume","_BroadcastStreamController._mayAddEvent","_BroadcastStreamController._subscribe","_DoneStreamSubscription","_BroadcastSubscription","_BroadcastStreamController._recordPause","_BroadcastStreamController._recordResume","_BroadcastStreamController._addEventError","_BroadcastStreamController._forEachListener","_BroadcastStreamController._callOnCancel","_SyncBroadcastStreamController._mayAddEvent","_SyncBroadcastStreamController._addEventError","_SyncBroadcastStreamController._sendData","_SyncBroadcastStreamController._sendData.","_SyncBroadcastStreamController__sendData_closure","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_FutureListener.matchesErrorTest","_FutureListener.handleError","_Future._setChained","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._completeWithValue","_Future._completeError","_Future._setError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFutureAsync.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","Stream.length","Stream.length.","Stream_length_closure","_Future._complete","_StreamController._pendingEvents","_StreamController._ensurePendingEvents","_StreamController._subscription","_StreamController._badEventState","_StreamController._subscribe","_BufferingStreamSubscription._guardCallback","_StreamController._recordPause","_StreamController._recordResume","_StreamController._subscribe.","_AsyncStreamControllerDispatch._sendData","_ControllerStream.hashCode","_ControllerSubscription._onPause","_ControllerSubscription._onResume","_BufferingStreamSubscription._setPendingEvents","_BufferingStreamSubscription._add","_BufferingStreamSubscription._onPause","_BufferingStreamSubscription._onResume","_BufferingStreamSubscription._addPending","_BufferingStreamSubscription._sendData","_BufferingStreamSubscription._checkState","_BufferingStreamSubscription._mayResumeInput","_StreamImpl.listen","_StreamImpl.listen[function-entry$1]","_PendingEvents.schedule","_PendingEvents.add","_PendingEvents.schedule.","_PendingEvents.handleNext","_DoneStreamSubscription._onMicrotask","_rootHandleError.","_RootZone.runGuarded","_RootZone.runUnaryGuarded","_RootZone.runUnaryGuarded[function-entry$2]","_RootZone.bindCallbackGuarded","_RootZone.run","_RootZone.run[function-entry$1]","_RootZone.runUnary","_RootZone.runUnary[function-entry$2]","_RootZone.runBinary","_RootZone.runBinary[function-entry$3]","_RootZone.registerBinaryCallback","_RootZone.registerBinaryCallback[function-entry$1]","_RootZone.bindCallbackGuarded.","_HashMap.keys","_HashMap.length","_HashMap.containsKey","_HashMap._containsKey","_HashMap.[]","_HashMap._get","_HashMap.[]=","_IdentityHashMap._computeHashCode","_HashMap.forEach","_HashMap._computeKeys","_HashMap._getBucket","_IdentityHashMap._findBucketIndex","_HashMapKeyIterable.length","_HashMapKeyIterable.iterator","_HashMapKeyIterator.current","_HashMapKeyIterator.moveNext","ListBase.iterator","ListBase.elementAt","ListBase.map","ListBase.toString","MapBase.forEach","MapBase.length","MapBase.toString","MapBase.mapToString.","StringBuffer.write","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","Iterable.map","Iterable.length","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.toString","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","jsify._convert","promiseToFuture.","NullRejectionException.toString","callbackToStream.eventFunction","StreamController","Worker.","_StreamController.add","_StreamController._add","main.","jsSendMessage","Worker.sendMessage","DART_CLOSURE_PROPERTY_NAME","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","","$intercepted$elementAt1$ax","$intercepted$get$hashCode$IJavaScriptBigIntJavaScriptSymbolLegacyJavaScriptObjectabnsu","$intercepted$get$iterator$ax","$intercepted$get$length$asx","$intercepted$get$runtimeType$Ibdinsux","$intercepted$map11$ax","$intercepted$toString0$IJavaScriptBigIntJavaScriptFunctionJavaScriptSymbolLegacyJavaScriptObjectabnsux","ArrayIterator","AsyncError","BoundClosure","ByteBuffer","ByteData","Closure","Closure0Args","Closure2Args","EfficientLengthIterable","EfficientLengthMappedIterable","Error","ExceptionAndStackTrace","FixedLengthListMixin","Float32List","Float64List","Function","Future","IndexError","Int16List","Int32List","Int8List","Interceptor","Iterable","JSArray","JSBool","JSInt","JSNull","JSNumNotInt","JSNumber","JSObject","JSObjectUnsafeUtilExtension|_callMethod","JSString","JSUnmodifiableArray","JS_CONST","JavaScriptBigInt","JavaScriptFunction","JavaScriptIndexingBehavior","JavaScriptObject","JavaScriptSymbol","LateError","LegacyJavaScriptObject","List","ListBase","ListIterable","ListIterator","Map","MapBase","MapBase_mapToString_closure","MappedIterator","MappedListIterable","NativeByteBuffer","NativeByteData","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeTypedData","NativeUint16List","NativeUint32List","NativeUint8ClampedList","NativeUint8List","Null","NullError","NullRejectionException","NullThrownFromJavaScriptException","Object","PlainJavaScriptObject","RangeError","Record","Rti","RuntimeError","StackOverflowError","StackTrace","StaticClosure","Stream","String","StringBuffer","TearOffClosure","TrustedGetRuntimeType","TypeError","TypeErrorDecoder","Uint16List","Uint32List","Uint8ClampedList","Uint8List","UnknownJavaScriptObject","UnknownJsTypeError","Worker_closure","_AsyncAwaitCompleter","_AsyncCallbackEntry","_AsyncCompleter","_AsyncRun__initializeScheduleImmediate_closure","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_AsyncStreamController","_AsyncStreamControllerDispatch","_BroadcastStream","_BroadcastStreamController","_Completer","_ControllerStream","_CyclicInitializationError","_DelayedData","_DelayedEvent","_Error","_Exception","_FunctionParameters","_Future","_FutureListener","_Future__addListener_closure","_Future__asyncCompleteError_closure","_Future__asyncCompleteWithValue_closure","_Future__chainCoreFutureAsync_closure","_Future__chainForeignFuture_closure","_Future__prependListeners_closure","_Future__propagateToListeners_handleError","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_HashMap","_HashMapKeyIterable","_HashMapKeyIterator","_IdentityHashMap","_JS_INTEROP_INTERCEPTOR_TAG","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_PendingEvents","_PendingEvents_schedule_closure","_RootZone","_RootZone_bindCallbackGuarded_closure","_StackTrace","_StreamController","_StreamController__subscribe_closure","_StreamImpl","_StreamIterator","_StringStackTrace","_SyncBroadcastStreamController","_TimerImpl_internalCallback","_TypeError","_Zone","_awaitOnObject_closure","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","_chainCoreFutureAsync","_chainCoreFutureSync","_computeFieldNamed","_computeSignatureFunctionNewRti","_createFutureOrRti","_createGenericFunctionRti","_createQuestionRti","_createStarRti","_current","_getCanonicalRecipe","_getFutureFromFutureOr","_getQuestionFromStar","_getTableEntry","_identityHashCodeProperty","_initializeScheduleImmediate","_installTypeTests","_interceptorFieldNameCache","_isInCallbackLoop","_isUnionOfFunctionType","_lastCallback","_lastPriorityCallback","_lookupBindingRti","_lookupFunctionRti","_lookupFutureOrRti","_lookupGenericFunctionParameterRti","_lookupGenericFunctionRti","_lookupInterfaceRti","_lookupQuestionRti","_lookupRecordRti","_lookupStarRti","_lookupTerminalRti","_newHashTable","_nextCallback","_objectTypeNameNewRti","_propagateToListeners","_receiverFieldNameCache","_rootHandleError_closure","_scheduleImmediateClosure","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_setTableEntry","_throw","_wrapJsFunctionForAsync_closure","_writeAll","addErasedTypes","addRules","alternateTagFunction","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","async___nullErrorHandler$closure","async___startMicrotaskLoop$closure","bind","bool","callbackToStream_eventFunction","collectArray","compose","create","cspForwardCall","cspForwardInterceptedCall","current","defaultStackTrace","dispatchRecordsForInstanceTags","double","eval","evalInEnvironment","evalRecipe","extractPattern","extractStackTrace","filled","findErasedType","findRule","forType","forwardCallTo","forwardInterceptedCallTo","fromMessage","fromTearOff","getInterceptor$","getInterceptor$asx","getInterceptor$ax","getTagFunction","handleArguments","handleDigit","handleExtendedOperations","handleIdentifier","handleTypeArguments","indexToType","initHooks_closure","initNativeDispatchFlag","int","interceptorOf","interceptorsForUncacheableTags","iterableToFullString","iterableToShortString","jsify__convert","main_closure","mapToString","newArrayOrEmpty","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","nullLiteralPropertyPattern","nullPropertyPattern","num","objectAssign","objectTypeName","parse","promiseToFuture_closure","prototypeForTagFunction","provokeCallErrorOn","provokePropertyErrorOn","range","receiverOf","safeToString","throwWithStackTrace","toStringVisiting","toType","toTypes","toTypesNamed","trySetStackTrace","undefinedCallPattern","undefinedLiteralCallPattern","undefinedLiteralPropertyPattern","undefinedPropertyPattern","value","withLength","$index","$indexSet","_addEventError","add","addAll","bindCallbackGuarded","call","complete","completeError","containsKey","dart:_interceptors#_shrBothPositive","dart:_interceptors#_shrOtherPositive","dart:_rti#_bind","dart:_rti#_eval","dart:async#_add","dart:async#_addEventError","dart:async#_addListener","dart:async#_addPending","dart:async#_asyncComplete","dart:async#_asyncCompleteError","dart:async#_asyncCompleteWithValue","dart:async#_badEventState","dart:async#_callOnCancel","dart:async#_chainForeignFuture","dart:async#_chainFuture","dart:async#_checkState","dart:async#_cloneResult","dart:async#_completeError","dart:async#_completeWithValue","dart:async#_ensurePendingEvents","dart:async#_forEachListener","dart:async#_mayAddEvent","dart:async#_mayComplete","dart:async#_onMicrotask","dart:async#_onPause","dart:async#_onResume","dart:async#_pendingEvents","dart:async#_prependListeners","dart:async#_recordPause","dart:async#_recordResume","dart:async#_removeListeners","dart:async#_reverseListeners","dart:async#_sendData","dart:async#_setChained","dart:async#_setErrorObject","dart:async#_setPendingEvents","dart:async#_subscribe","dart:async#_subscription","dart:async#_thenAwait","dart:async#_varData=","dart:collection#_computeKeys","dart:collection#_containsKey","dart:collection#_findBucketIndex","dart:collection#_get","dart:collection#_getBucket","dart:core#_errorExplanation","dart:core#_errorName","elementAt","forEach","handleError","hashCode","invalidValue","iterator","keys","length","listen","map","matchTypeError","matchesErrorTest","moveNext","pause","registerBinaryCallback","resume","run","runBinary","runGuarded","runUnary","runUnaryGuarded","runtimeType","schedule","stackTrace","then","toString","Rti._unstar","isTopType","_Universe._canonicalRecipeOfStar","_Universe._canonicalRecipeOfQuestion","_Universe._canonicalRecipeOfFutureOr","_Universe._canonicalRecipeOfBinding","_Universe._canonicalRecipeOfGenericFunction","Error._stringToSafeString","_HashMap._set","JSObjectUnsafeUtilExtension|callMethod","JSObjectUnsafeUtilExtension|getProperty","NullableObjectUtilExtension|jsify","_","_add","_addListener","_asCheck","_callMethodUnchecked0","_canonicalRecipeOfBinding","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_canonicalRecipeOfFutureOr","_canonicalRecipeOfGenericFunction","_canonicalRecipeOfInterface","_canonicalRecipeOfQuestion","_canonicalRecipeOfRecord","_canonicalRecipeOfStar","_chainSource","_cloneResult","_complete","_completeError","_computeHashCode","_computeIdentityHashCodeProperty","_createBindingRti","_createFunctionRti","_createGenericFunctionParameterRti","_createInterfaceRti","_createRecordRti","_createSubscription","_createTerminalRti","_createTimer","_error","_errorTest","_expectsEvent","_failedAsCheckError","_findRule","_functionToJS1","_future","_getBindCache","_getBindingArguments","_getBindingBase","_getCachedRuntimeType","_getEvalCache","_getFunctionParameters","_getFutureOrArgument","_getGenericFunctionBase","_getGenericFunctionBounds","_getGenericFunctionParameterIndex","_getInterfaceName","_getInterfaceTypeArguments","_getIsSubtypeCache","_getKind","_getNamed","_getOptionalPositional","_getPrimary","_getPropertyTrustType","_getQuestionArgument","_getRecordFields","_getRecordPartialShapeTag","_getRequiredPositional","_getReturnType","_getRuntimeTypeOfArrayAsRti","_getSpecializedTestResource","_getStarArgument","_guardCallback","_hasError","_hasOneListener","_hasPending","_hasTableEntry","_hasTimer","_installRti","_isAddingStream","_isCanceled","_isChained","_isCheck","_isClosure","_isComplete","_isDartObject","_isEmpty","_isFiring","_isInitialState","_isInputPaused","_isSubtypeUncached","_lookupAnyRti","_lookupDynamicRti","_lookupErasedRti","_lookupFutureRti","_lookupNeverRti","_lookupVoidRti","_mayAddEvent","_mayAddListener","_mayComplete","_mayResumeInput","_name","_objectToString","_onError","_onValue","_outputController","_parseRecipe","_recipeJoin","_removeListener","_removeListeners","_scheduleImmediate","_set","_setAsCheckFunction","_setBindCache","_setCachedRuntimeType","_setCanonicalRecipe","_setError","_setErrorObject","_setEvalCache","_setIsTestFunction","_setKind","_setNamed","_setOptionalPositional","_setPrecomputed1","_setPrimary","_setRequiredPositional","_setRest","_setSpecializedTestResource","_setValue","_stringToSafeString","_target","_theUniverse","_trySetStackTrace","_unstar","_whenCompleteAction","_writeOne","_writeString","_zone","allocate","arrayAt","arrayConcat","arrayLength","arraySplice","asBool","asInt","asRti","asRtiOrNull","asString","as_Type","broadcast","charCodeAt","checkGrowable","collectNamed","constructorNameFallback","contains","defineProperty","dispatchRecordExtension","dispatchRecordIndexability","dispatchRecordInterceptor","dispatchRecordProto","environment","erasedTypes","evalCache","evalTypeVariable","fieldADI","fieldNI","fixed","future","getDispatchProperty","getLegacyErasedRecipe","getProperty","getRuntimeTypeOfInterceptorNotArray","globalContext","handleNamedGroup","handleNext","handleOptionalGroup","handleStartRecord","handleUncaughtError","handleValue","handleWhenComplete","handlesComplete","handlesValue","hasErrorCallback","hasErrorTest","identityHashCode","instanceTypeName","interceptorFieldName","interceptorsByTag","isArray","isClosed","isDigit","isEmpty","isIdentical","isScheduled","jsonEncodeNative","leafTags","listToString","lookupSupertype","lookupTypeVariable","mapGet","mapSet","markFixed","markFixedList","normalize","objectKeys","objectToHumanReadableString","onReceive","perform","pop","position","printToConsole","propertyGet","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","push","pushStackFrame","receiverFieldName","recipe","sendMessage","sharedEmptyArray","shouldChain","stack","staticInteropGlobalContext","stream","stringIndexOf","stringSafeToString","stringSplit","substring","thenAwait","toGenericFunctionParameter","tryStringifyException","typeRules","typed","universe","unmangleGlobalNameIfPreservedAnyways","write","writeAll","zoned"], + "mappings": "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", "x_org_dartlang_dart2js": { "minified_names": { - "global": "A,104,B,613,C,273,D,646,E,778,F,725,G,108,H,33,I,217,J,599,K,604,L,607,M,828,N,77,O,31,P,30,Q,569,R,8,S,642,T,246,U,665,V,68,W,100,X,580,Y,595,Z,608,a,800,a0,621,a1,641,a2,661,a3,664,a4,245,a5,667,a6,673,a7,744,a8,93,a9,742,aA,684,aB,685,aC,687,aD,689,aE,690,aF,691,aG,692,aH,693,aI,697,aJ,700,aK,703,aL,705,aM,708,aN,736,aO,740,aP,729,aQ,730,aR,216,aS,23,aT,564,aU,557,aV,565,aW,266,aX,557,aY,232,aZ,566,a_,610,aa,253,ab,84,ac,65,ad,788,ae,91,af,573,ag,575,ah,576,ai,589,aj,590,ak,598,al,601,am,602,an,603,ao,622,ap,623,aq,624,ar,627,as,630,at,34,au,634,av,638,aw,652,ax,663,ay,392,az,391,b,20,b0,581,b1,585,b2,588,b3,591,b4,592,b5,29,b6,612,b7,614,b8,615,b9,616,bA,249,bB,244,bC,88,bD,557,bE,570,bF,571,bG,557,bH,825,bI,577,bJ,578,bK,582,bL,583,bM,584,bN,596,bO,611,bP,631,bQ,818,bR,640,bS,437,bT,437,bU,644,bV,647,bW,821,bX,648,bY,649,bZ,650,b_,274,ba,617,bb,618,bc,619,bd,620,be,625,bf,626,bg,628,bh,633,bi,637,bj,643,bk,272,bl,653,bm,271,bn,655,bo,656,bp,662,bq,666,br,668,bs,669,bt,671,bu,686,bv,698,bw,701,bx,702,by,775,bz,110,c,586,c0,284,c1,654,c2,657,c3,658,c4,659,c5,660,c6,670,c7,674,c8,675,c9,676,cA,753,cB,765,cC,6,cD,37,cE,773,cF,798,cG,798,cH,798,cI,802,cJ,805,cK,806,cL,60,cM,561,cN,567,cO,568,cP,597,cQ,557,cR,720,cS,731,cT,735,cU,737,cV,94,cW,727,cX,45,cY,790,cZ,1,c_,651,ca,677,cb,678,cc,678,cd,678,ce,679,cf,680,cg,681,ch,682,ci,683,cj,688,ck,694,cl,695,cm,696,cn,699,co,402,cp,223,cq,704,cr,103,cs,776,ct,809,cu,706,cv,92,cw,707,cx,707,cy,128,cz,746,d,632,d0,7,d1,285,d2,0,d3,34,d4,242,d5,545,d6,747,d7,559,d8,835,d9,712,dA,732,dB,733,dC,738,dD,739,dE,817,dF,214,dG,102,dH,118,dI,149,dJ,211,dK,135,dL,127,dM,279,dN,250,dO,251,dP,147,dQ,240,dR,757,dS,762,dT,89,dU,19,dV,76,dW,789,dX,791,dY,21,dZ,59,d_,799,da,726,db,745,dc,824,dd,784,de,803,df,808,dg,723,dh,721,di,728,dj,771,dk,557,dl,754,dm,822,dn,557,dp,557,dq,237,dr,767,ds,711,dt,722,du,751,dv,766,dw,768,dx,795,dy,819,dz,829,e,572,e0,24,e1,290,e2,9,e3,810,e4,811,e5,812,e6,813,e7,814,e8,815,e9,831,eA,825,eB,823,eC,719,eD,557,eE,724,eF,748,eG,749,eH,750,eI,557,eJ,710,eK,741,eL,792,eM,793,eN,794,eO,796,eP,797,eQ,830,eR,557,eS,786,eT,709,eU,714,eV,715,eW,716,eX,717,eY,734,eZ,755,e_,820,ea,832,eb,833,ec,834,ed,558,ee,560,ef,562,eg,563,eh,772,ei,777,ej,801,ek,713,el,769,em,770,en,785,eo,787,ep,752,eq,826,er,836,es,804,et,594,eu,605,ev,780,ew,807,ex,557,ey,743,ez,779,f,645,f0,763,f1,781,f2,782,f3,124,f4,126,f5,229,f6,228,f7,226,f8,230,f9,278,fA,98,fB,86,fC,85,fD,152,fE,32,fF,231,fG,758,fH,759,fI,760,fJ,761,fK,764,fL,281,fM,38,fN,66,fO,53,fP,97,fQ,96,fR,64,fS,62,fT,63,fU,90,fV,106,fW,208,fX,280,fY,54,fZ,61,f_,756,fa,116,fb,111,fc,117,fd,112,fe,109,ff,105,fg,95,fh,35,fi,122,fj,212,fk,115,fl,139,fm,123,fn,215,fo,143,fp,114,fq,125,fr,277,fs,224,ft,238,fu,248,fv,148,fw,237,fx,252,fy,241,fz,239,h,606,h0,288,h1,67,h2,25,h3,289,h4,22,h5,545,h6,579,h7,609,h8,635,h9,557,hA,227,hB,10,hC,52,h_,816,ha,810,hb,811,hc,812,hd,813,he,814,hf,815,hg,831,hh,832,hi,833,hj,834,hk,747,hl,129,hm,131,hn,130,ho,132,hp,134,hq,133,hr,136,hs,138,ht,137,hu,140,hv,142,hw,141,hx,144,hy,146,hz,145,i,718,j,574,k,209,l,774,m,593,n,672,o,11,p,629,q,783,r,151,t,587,u,600,v,827,w,636,x,639,y,267,z,18", - "instance": "A,878,B,862,C,876,D,877,E,893,F,902,G,915,H,916,I,851,J,852,K,855,L,864,M,891,N,892,O,888,P,867,R,870,S,871,T,873,U,885,V,897,W,899,X,907,Y,912,Z,917,a0,850,a1,853,a2,854,a3,858,a4,860,a5,861,a6,886,a7,890,a8,874,a9,875,aA,869,aB,872,aC,880,aD,881,aE,846,aF,847,aG,883,aH,842,aI,845,aJ,895,aK,901,aL,904,aM,907,aN,908,aO,909,aP,909,aQ,910,aR,910,aS,912,aT,913,aU,913,aV,917,aW,844,aX,868,aY,906,a_,839,aa,879,ab,882,ac,884,ad,841,ae,843,af,894,ag,901,ah,911,ai,837,aj,918,ak,840,al,557,am,557,an,856,ao,857,ap,859,aq,863,ar,887,au,865,av,866,aw,889,az,869,gH,916,gM,891,gN,892,gP,867,gU,885,gV,897,gW,899,gaB,872,gaG,883,gaW,844,gaX,868,gaq,863,gaz,869,gj,900,gk,914,gm,771,gn,896,gq,898,h,918,i,849,j,900,k,914,l,905,m,771,n,896,p,838,q,898,sU,885,sj,900,t,903,u,848,v,863" + "global": "A,18,B,106,C,628,D,276,E,662,F,796,G,743,H,110,I,35,J,219,K,32,L,580,M,614,N,619,O,622,P,846,Q,79,R,33,S,584,T,7,U,658,V,249,W,683,X,70,Y,102,Z,595,a,818,a0,625,a1,636,a2,657,a3,678,a4,681,a5,248,a6,685,a7,691,a8,762,a9,95,aA,673,aB,680,aC,401,aD,400,aE,702,aF,703,aG,705,aH,707,aI,708,aJ,709,aK,710,aL,711,aM,715,aN,718,aO,721,aP,723,aQ,726,aR,754,aS,758,aT,747,aU,748,aV,39,aW,218,aX,578,aY,571,aZ,579,a_,623,aa,760,ab,256,ac,86,ad,67,ae,806,af,93,ag,588,ah,590,ai,591,aj,604,ak,605,al,610,am,613,an,616,ao,617,ap,618,aq,637,ar,638,as,639,at,642,au,645,av,36,aw,650,ax,654,ay,668,az,274,b,20,b0,571,b1,581,b2,277,b3,596,b4,600,b5,603,b6,606,b7,607,b8,31,b9,627,bA,720,bB,793,bC,112,bD,252,bE,247,bF,90,bG,23,bH,585,bI,586,bJ,571,bK,843,bL,592,bM,593,bN,597,bO,598,bP,599,bQ,611,bR,626,bS,646,bT,647,bU,835,bV,571,bW,656,bX,450,bY,450,bZ,660,b_,269,ba,629,bb,630,bc,631,bd,632,be,633,bf,634,bg,635,bh,640,bi,641,bj,643,bk,649,bl,653,bm,659,bn,275,bo,669,bp,671,bq,672,br,679,bs,682,bt,684,bu,686,bv,687,bw,689,bx,704,by,716,bz,719,c,601,c0,839,c1,664,c2,665,c3,666,c4,667,c5,292,c6,670,c7,674,c8,675,c9,676,cA,94,cB,725,cC,725,cD,130,cE,764,cF,771,cG,783,cH,791,cI,816,cJ,816,cK,816,cL,288,cM,820,cN,823,cO,293,cP,824,cQ,62,cR,837,cS,837,cT,575,cU,790,cV,582,cW,583,cX,612,cY,571,cZ,738,c_,663,ca,677,cb,688,cc,692,cd,693,ce,694,cf,695,cg,696,ch,696,ci,696,cj,697,ck,698,cl,699,cm,700,cn,701,co,706,cp,712,cq,713,cr,714,cs,717,ct,411,cu,225,cv,722,cw,105,cx,794,cy,826,cz,724,d,648,d0,753,d1,755,d2,96,d3,745,d4,5,d5,47,d6,808,d7,1,d8,817,d9,6,dA,729,dB,740,dC,769,dD,784,dE,786,dF,813,dG,836,dH,847,dI,750,dJ,751,dK,756,dL,757,dM,834,dN,216,dO,229,dP,231,dQ,230,dR,228,dS,104,dT,120,dU,151,dV,213,dW,137,dX,129,dY,226,dZ,283,d_,749,da,0,db,36,dc,281,dd,245,de,24,df,559,dg,765,dh,573,di,854,dj,730,dk,744,dl,763,dm,842,dn,802,dp,821,dq,741,dr,849,ds,739,dt,746,du,789,dv,772,dw,840,dx,571,dy,240,dz,785,e,587,e0,254,e1,149,e2,243,e3,233,e4,775,e5,780,e6,91,e7,19,e8,78,e9,807,eA,805,eB,770,eC,844,eD,855,eE,822,eF,609,eG,798,eH,825,eI,571,eJ,761,eK,797,eL,843,eM,841,eN,737,eO,571,eP,571,eQ,742,eR,766,eS,767,eT,768,eU,571,eV,728,eW,759,eX,810,eY,811,eZ,812,e_,253,ea,809,eb,21,ec,61,ed,838,ee,298,ef,8,eg,827,eh,828,ei,829,ej,830,ek,831,el,832,em,850,en,851,eo,852,ep,853,eq,572,er,574,es,576,et,577,eu,795,ev,819,ew,731,ex,787,ey,788,ez,803,f,661,f0,815,f1,848,f2,571,f3,804,f4,727,f5,732,f6,733,f7,734,f8,735,f9,752,fA,145,fB,116,fC,127,fD,280,fE,241,fF,251,fG,150,fH,240,fI,255,fJ,244,fK,242,fL,100,fM,88,fN,87,fO,154,fP,34,fQ,776,fR,777,fS,778,fT,779,fU,782,fV,289,fW,40,fX,68,fY,55,fZ,99,f_,814,fa,773,fb,774,fc,781,fd,799,fe,800,ff,126,fg,128,fh,232,fi,282,fj,26,fk,118,fl,113,fm,119,fn,114,fo,111,fp,107,fq,97,fr,235,fs,236,ft,37,fu,124,fv,214,fw,117,fx,141,fy,125,fz,217,h,736,h0,66,h1,64,h2,65,h3,92,h4,108,h5,210,h6,284,h7,56,h8,63,h9,833,hA,134,hB,136,hC,135,hD,138,hE,140,hF,139,hG,142,hH,144,hI,143,hJ,146,hK,148,hL,147,hM,9,hN,54,h_,98,ha,296,hb,285,hc,69,hd,27,he,297,hf,25,hg,22,hh,559,hi,594,hj,624,hk,651,hl,571,hm,827,hn,828,ho,829,hp,830,hq,831,hr,832,hs,850,ht,851,hu,852,hv,853,hw,765,hx,131,hy,133,hz,132,i,792,j,620,k,621,l,589,m,690,n,211,o,608,p,10,q,644,r,801,t,153,u,602,v,615,w,845,x,652,y,655,z,270", + "instance": "A,898,B,936,C,875,D,882,E,896,F,897,G,913,H,922,I,935,J,871,K,872,L,874,M,884,N,911,O,912,P,908,R,887,S,890,T,891,U,893,V,905,W,863,X,864,Y,917,Z,919,a0,932,a1,937,a2,857,a3,870,a4,873,a5,878,a6,880,a7,881,a8,906,a9,910,aA,909,aB,889,aC,889,aD,892,aE,900,aF,901,aG,866,aH,867,aI,903,aJ,860,aK,865,aL,915,aM,921,aN,924,aO,927,aP,928,aQ,929,aR,929,aS,930,aT,930,aU,932,aV,933,aW,933,aX,937,aY,862,aZ,888,a_,927,aa,894,ab,895,ac,899,ad,902,ae,904,af,859,ag,861,ah,864,ai,914,aj,921,ak,931,al,938,am,858,an,571,ao,571,ap,876,aq,877,ar,879,au,883,av,907,aw,885,az,886,b_,926,gB,936,gN,911,gO,912,gR,887,gV,905,gY,917,gZ,919,gaB,889,gaD,892,gaI,903,gaY,862,gaZ,888,gau,883,gj,920,gk,934,gm,789,gn,916,gq,918,h,938,i,869,j,920,k,934,l,925,m,789,n,916,p,856,q,918,sV,905,sj,920,t,923,u,868,v,883" }, - "frames": "4zHA6He6jCyB;oCAKAAyB;eAKCTG;kBACeDE;gEAIlBAE;KAGOFO;iGAaA/iCAA8CgBCeANKkDuC,A,I;qMATrCjDAAmB0BDeAVWkDoC,A,AAUvC2/BkC,A;65DKiKWngB2C;QAEFsXyC;oYJ3QW4NuB;uEA6BL7EG;oQAuJqB9HqC;wGA8JlB0JiB;cAAAAa;0CAuBQhCS;gJAYVgCiB;oFAqBLwCAARF/BiB,A;yDAkBWUW;mKAumBoB9RoB;oDAUtBA+C;8DAwEGtRqC;yfAyQZAmR;gZA4MAAW;ifA0DyBAW;uWAkCJAW;cAOpBAkC;6BAIiBkgBoD;OAChBlgBU;0DAOC8kBI;aAIgB9kBwC;2JASjBAU;yEAiCmBAW;sCAGtBAc;sSAkIFAAQn5D8BAgE,A;keRojE1BAkC;cAEAA0D;y4CAyPEA4D;6sBAqF6BkiBuC;AACH+BmC;yEA4HtB/jCAM/9DTCMA3B4Bu+Bc,A,M;qDNghElB1eiD;kKAuJXAY;4EC7iFO0jBI;YACc/iCAAsE3BDAFlJAy/ByB,kF,A;QE4E2Bx/BAAuEpB2/BE,A;OAtEWoDI;uBAKK9iCAAzCJuhCkB,AAAZuBI,A;6CA+CMAI;YACkB/iCAAyD/BDAFlJAy/ByB,kF,A;QEyF+Bx/BAA0DxB2/BE,A;OAzDWoDI;uBAGK9iCAApDJuhCkB,AAAZuBS,A;4EA0EE/iCAA+BTDAFlJAy/ByB,kF,A;QEmHSx/BAAgCF2/BE,A;sDAvBEz/BAA2BTHAFvJAy/BsB,A,0BEuJAz/BkF,A;QA3BSGAA4BFy/BE,A;+DAfoCqCqB;UAElC9hCAAYTHAFvJAy/BsB,A,0BEuJAz/BkF,A;QAZSGAAaFy/BE,A;gEAMP5/BAF9JAy/ByB,6B;yJE0K2CwCoB;gLAsCjCRmB;0KAaFzhCAF7NRy/ByB,mG;2DE2O2BuD4D;wTA+EXtiCc;81CKzNSo+BG;gBAIjBtBW;AADuCnDAAgK/BwEQ,A;WAtJOjDO;AAFAkDG;gBAGftBgB;AAD0CrEAAgKlC0FM,A;gBApFCnFAAzBsBkFG,A;oCA2BECG;uCA2JzBEG;sBAgJMfmB;iEAyEPtEAA/YwBkFG,A;mEAwZbCG;qEAMAAG;qEAMAAG;qEAMWrFG;uDAMkBDAA7WvCwFK,A;aAgXGhGAApWH8FG,A;sBAsWQ/FG;6EAQHkBAApWIHO,A;AAqWJEG;sEAMIGAAlVT2EG,A;sBAqViC3FG;6EAU5BGQ;AACDoFQ;uBAGDrFAAzVHyFG,A;+EAgWIvFAAtVJsFG,A;sBA0VULO;uIAeNEkB;yBAGDII;kFAaCJkB;0BAImBFO;AACEAS;AACtBMM;qFAcK5EsB;AAIALK;iBAGQDK;8CAMiB2EAAxRRhfc,A;AAyRrBoeM;AAEAHM;AAEADK;uHAwCFuBM;yDAaZ5DI;sEAuBFEG;eAIOuGoB;qSAkFkBzGkD;uBAKvB+Ce;uDAeYOI;uBAENl9BQAvZU28BoB,A;6DAieFp7BoBAlFlBq4BgB,A;uCAsFc+DO;GAEL0CoB;OAAwBvHO;uBAOMr3BO;AAA9Bk2BG;gBAA8Bl2BAAKrCi6BY,A;SAS0BwDW;AADV/W0B;iBAGXlKAAmCTAAAAAAAACMydG,A,A,W;SAlC6BiBoB;AAE/Bl7BG;AADOk2BG;gBACPl2BAAfAi6BY,A;mBAuCqB17BMA1hBH28BoB,A;gEA0lBlB76BAAoiF6B8yB+B,A;6BAjiFzByDG;qEAcYuEAAr/BY5DAAuKhBwEQ,A,A;AA+0BQnFAAl7BekFG,A;0KA87BnBrFAA33BJwFG,A;IA43BMvFiB;AAYdoEU;uEAUCx6BQA8BmB42BAA15BZ+EI,A,AA25BMhFI,A;+DArBXiBC;AADPoCK;0CAsCAj6BAAg8E6B8yB0B,A;mEAr7EtBcC;AADP8FK;6BAKWnDAAnhCwBkFQ,A;kEAwhCCvEAAr7BxBwEK,A;eAs7B4B1FAA56B5B0FsB,A;mEAu7BCbc;gDAeNhDI;AADOlBAA18BF+EO,A;mDAo9BFzEG;iBAKVeG;8GAsBOuGoB;YACGtHG;iBAKVeG;wFA0BWHU;+DAYAAU;uCAWTvC0B;qJAuCc9KuB;mBAiBTqNc;AADSiDAAzwChBvEAAoEmCkFQ,A,AApEPvEAAuKhBwEK,A,A;QAmmCQ1FAAzlCR0FS,A;MA2lCmBbiB;AAD3BhDI;kiDA2NmByDQ;qBAEDIO;sCAYA7EAAv1CV+EM,A;AAw1CKhFG;qCAMG0EQ;AACFuFkB;AACEvFU;gEAOGIO;gBAELEI;kHAaMNQ;kNAgBFIO;AACjB17BAAo+DwB8yBAAK/B/rBAAGawvBAA58GwBkFG,A,A,wCAy8GhB74BAAgBd+7Ba,A,K,A;oDAh/DY5HAAv3CCLO,A;AAw3CeXM;AAEbeM;AACcwEW;AAEd7EM;AACc6EW;AACN9EM;AACP8EQ;0DASCIQ;2DAUEAQ;oEAYbFM;yBAIIEe;AAEJEI;sGA6BArFAApjDwBkFG,A;wIA6jDdvEAA19CTwEK,A;cAy+Ca/EAAp+Cb+EG,A;cAs+CSnFAA9kDckFG,A;uEAulDVzFAA1+Cb0FS,A;mBA++CItFAAzhDJwFI,A;GAkiDMvFG;4HAgBOJAAz/CbyFM,A;AA0/CGxFG;eAODCAAv/CIOM,A;qFA+/CF2KuB;yDAoLP9LAAHK2LG,S;uBAKP3LAALO2LG,I;oCAWDtEO;+DAKOnBI;AACPjDgB;oGAiBO0IM;wBA4BAtEM;aAWHsCS;AADPrCe;oBAGFzDyB;AACH+FW;gCAMSrJG;cAGVkEa;AAEakFW;oBAET9FuB;AACH+FW;kCAKSzJG;cAGViEgB;AAEuBtTAApuDfuVI,A;AAquDKsDW;gCAGX3IAA95D6BkFS,A;AA+5Dd9FQ;AAKhBwJW;mBAqCHzFS;AACAOQ;qBAuFeiFW;AADPrCW;oBAGsB5HAAIpBkGAAz3DPhfsB,A,AA03DH+dM,AACALM,W;AANGpCAApFA0HC,AAAOtCa,A;qBAiGKqCS;AAFN7KAA/CKhOAAz0DJuVW,A,A;AAy3DFiBW;oCAGLpFAAnGA0HC,AAAOtCa,A;0CA0GOtGAAzjEgBkFG,A;oEAikEvBNAAn5DPhfsB,A;AAo5DH+dM;AACAIK;CACATM;4BAQeqFS;AAFN/KAAzEK9NAA30DJuVW,A,A;AAq5DFiBW;oCAGLpFAA/HA0HC,AAAOtCa,A;4CAsIOtGAArlEgBkFQ,A;0DA0lEZzFAA7+DX0FI,A;kEAm/DaxEAA7/DbwEG,A;IA8/DiBnFAAjmEMkFc,A;AAmmEdzFAAt/DT0FI,A;gCA6/DAPAA57DPhfsB,A;AA67DH+dM;AACAIK;CACATM;4BAQeqFS;AAFNlLAAhHK3NAA70DJuVW,A,A;AA87DFiBW;oCAGLpFAAxKA0HC,AAAOtCa,A;wCA+KOtGG;0DAMVkCe;qCAKG0CAA39DPhfsB,A;AA49DH+dM;AACAIK;CACATM;0BAOeqFsB;AADPrCW;oBAIRhIAAKUsGAA7+DPhfsB,A,AA8+DH+dO,AACAIM,AACATM,W;AATGpCAAtMA0HC,AAAOtCa,A;8BAqNMvBQ;sCAEIIG;AACCrVAAj/DXuVI,A;kCA0/DMNQ;qCAGmBFO;AACZIwB;AAIPEK;AACKrVAAngEXuVI,A;uCAuhED1HAAVOoHU,mB;AAYD4DG;AADPrCW;oBAIO/HAAKLqGAAziEPhfsB,A,AA0iEH+dM,AACAIM,AACAES,AACgBcW,AAEdjBI,AAA6BeK,AAE/BvBM,W;AAdGpCAAlQA0HC,AAAOtCa,A;yCAsSNtGAArvE6BkFY,A;AAsvErB7FAAvqEF8FG,A;AAyqEDLG;AAAgB1FkB;QAEhB9BGAjBLxNAAnjEMuVuB,A,A;AAskEKsDG;AADPrCW;oBAIOlIAAKLwGAAtlEPhfsB,A,AAulEH+dO,AACAIM,AACAEM,AACAXM,W;AAVGpCAA/SA0HC,AAAOtCa,A;qBAyUDzIoC;AAEM8KC;AADPrCW;oBAIR9HAAKUoGAApnEPhfsB,A,AAqnEH+dO,AACAIM,AACAEM,AACAXM,W;AAVGpCAA7UA0HC,AAAOtCa,A;qBAoYD/IAAtCPCiB,AADY1NO,AACZ0NAAKkB+CM,AACcwEW,AAEd7EM,AACc6EW,AACN9EM,AACP8EsB,oF,AAZvBjCY,A;AAyCiB6FG;AADPrCW;oBAIRjIAAKUuGAA/qEPhfsB,A,AAgrEH+dO,AACAIM,AACAEM,AACAXM,W;AAVGpCAAxYA0HC,AAAOtCa,A;uBAgaD5ISAPH5NAAlrEIuVwB,A,A;AA2rEKsDC;AADPrCW;sCAGLpFAApaA0HC,AAAOtCa,A;sDA8aQvBQ;kCAICIQ;AACXnFAAl4EyBkFe,A;sEAm5EvBNAAruEPhfsB,A;AAsuEH+dO;AACAIM;AACAEK;CACAXM;4FAqKoBwGM;AACJIU;kBAGT1EkB;4LAcHmEW;cAIAAW;cAIAAO;KACWkBI;AAAkBzEG;AAAqB+CU;cAIlDQO;AACIcM;AAA2BIG;AAA3BJAAkWSvFU,A;cA9VbyEO;AAAsB1HM;AAAiB4IW;cAIvClBO;AAAsB3HM;AAAkB6IW;eAIxClBO;AAAsBvHM;AAAeyIW;cAIrCjBAAgFRDQ,AAAYPS,AACerEQ,A;iEArEX8FG;AACRlBO;cAIkBvDG;AAAqB+CU;AAC/BLK;iBAIA+BG;AACRlBO;cAIkBvDG;AAAqB+CU;AAC/BLK;iBAIA+BG;AACRlBO;cAIkBvDG;AAAqB+CU;AAC/BLK;cAIRaW;AACACAAqCRDQ,AAAYPS,AACerEQ,A;sCA9BnB6EAA6BRDQ,AAAYPS,AACerEQ,A;cA1BnBoCAA2KStUAAoCEmSY,AAAmBoEI,MACtByBI,AAAkBzEM,AACPlBY,A,AArC3ByEU,AACAAW,A;eAzKQCAAqBRDQ,AAAYPS,AACerEQ,A;eAlBnBkCAAyKSvBAAqCEVY,AAAmBoEI,MACjByBI,AAAkBzEM,AACZlBY,A,AAtC3ByEU,AACAAW,A;cAvKYvCAA4KKgDmB,AAGjBTO,AAAmBYkB,AACnBZW,AACACAApKADQ,AAAYPS,AACerEQ,A,M;wCANhBoEU;YACG0BI;AAAkBzEK;sDAWrBZkB;uCAIXmEU;uEAQWnEkB;0FAIyC0CoB;kBAM7BqCmB;SAKbMM;AAAkBzEO;AADZGAAhzBDvGAA76DsBkFW,A,AA+6DjB7FAAh2DN8FG,A,UAm2DatFAA/2DbwFG,A,AAk3DYqDI,+C;AAsyBxBiBO;AAEcpDkB;AAGdoDU;4BAMqBkBiB;AAEZ1BQ;sBAGTQO;2BAE4BvDc;AAChBpGAA9uFuBkFY,A;AAgvF/ByEO;YAGmCbK;cAInCaO;+BA+BKRa;AAnBY0B2B;uCAwBI1BU;aAIbAU;cAIRQU;WAIJAU;YAKKRU;iBAGIAwB;AAC0BamB;AACbAK;SACc5DM;AACmBxBAA3iFlBhfc,A;AA4iFfoeM;AAEAHM;AAEADK;AACpB+FO;2BASAAO;OAGyBtEY;kFAgCnB8Dc;UAERQO;AAAsBxHM;AAAgB0IY;iBAItClBO;AAAsB5HM;AAAc8IY;0EAOnB7FgB;AAAmBoEI;MACtByBI;AAAkBzEM;AACPlBY;2DAiBK8EK;8FASZjFQ;8BAEAFI;sBAOAEQ;+BAGAFI;wBAOL7EAAj6FsBkFG,A;4BAm6FR7FAAp1Ff8FE,A;IAq1FY/FM;AACP2FQ;gBAEDIK;SAIE9FAA51FN8FM,A;AA61FDnFAA56FwBkFQ,A;wFAm7FbpFU;AACPiFQ;QAEDIK;qEAwDDpF8B;AACG4IW;YAET7G8B;AACF8GW;0GA8DLrM0B;sBAEYyDAAljGuBkFG,A;wCAyjGnCj1BAA4ZE+vBG,A;0CAtZemFE;AADHvFAAx7FFsFc,A;YA67FAlFAAnkGuBkFsB,A;iCA2kGRzFAA99Ff0FQ,A;0EAu+FM1FAAv+FN0FY,A;wBA2+FMxEAAr/FNwEY,A;qCA6/FIxEAA7/FJwEY,A;qEAghGI1FAAtgGJ0Fa,A;2FAkhGQ/EAAvhGR+EY,A;yBAkiGa1FAA7hGb0FS,A;+FAyiGiB/EAA9iGjB+EQ,A;+IAskGIxFM;AACAAM;AACGoFgB;AACAAQ;SAGkBDwB;AACAAwB;oBAGjBKO;AACAAI;kEAOkBzFAApkG1ByFM,A;AAqkGNzFAArkGMyFQ,A;sQAgmGM3EAA1mGN2EQ,A;AA2mGM3EAA3mGN2EU,A;aAgnGsB3FO;AACAAM;AAGdeM;AAEAAM;AACewEW;AACAAQ;yBAMf7EM;AAEAAM;AACe6EW;AACAAQ;wCAKAFI;YACbMgB;6BAOaNI;YACbMkB;6BASbNM;YACaMgB;YAMOlFM;AACAAM;AACP8EW;AACAAQ;0BAIFMS;0BAGEAI;2BAIEJM;qCAMcJM;sBAENAM;YACbMkB;+BAQRFM;0DASIpFAAvvGHwFM,A;AAwvGGxFAAxvGHwFQ,A;WAswGOrGAAnhDL2LG,I;2CAshDCtFI;YAIMoDI;uBAEH1DQ;AACWvPoBAsLA8Oa,AAAjB0FK,A;+BApLW3EK;wBAITvFQ;gBAOFAW;AACAAQ;8BAWIiFQ;2BAUAIO;AACAAU;6CAwCA9EM;AACAAM;AACA0EgB;AACAAQ;aAEFzEAA30GF+EM,A;AA40GE/EAA50GF+EG,A;oCAg1GMFO;AACAAU;iCASPnFAAn7GwBkF+B,A;sCAu7GIvEAAp1G3BwEK,A;eAq1G+B1FAA30G/B0FI,A;uBAu1GiB5I+B;uBAQlByDAA58GwBkFG,A;qDA+/G1B6D4B;AACEhEQ;oBAEEMI;4CAOgBfa;AAAjB0FI;grBO/pHRrLS;4BA2BR/YU;wBAwGOASApCSsZAAAAtZyB,A,a;uCAmDC+gBE;+BAqBjBhBwG;oCAUACgC;gIA4BmBhgBoB;AAAAueW;8HAiCPjRK;mLC0PImOiB;AACItDG;cAIE7G0D;wIAyBNmKkB;AACItDI;mBAIE7G0D;2GAuBbjlBgB;uFAuIkB4uBqB;gCAGYjCG;AACxByIM;sHA+BcIG;2CACD9CK;0CAIb0CM;mDA4EIGG;uLAkBTyCwB;wBAMgBzIe;AACFwBsB;AACZhFyB;gDAcIgFwB;iBAEVmBiB;AAGAXmB;sQG72BQPU;iBAUqBrdqB;qCAKrBqdU;sFAoBkBrdiB;6IAuD3B3TW;iBCi5EG2TqB;OAAAAU;uCExsDFAAD/tBgBsN0B,AAAX+XU,A;uPA+YN5DS;0lFGpZUzhBmB;oHAoBNyWG;uYCsLsCqKyDrBxRtCmCYA6EiC+B2B,A,A;0DqBub1BzCgB;AAED1DO;0BAGFAO;oBAGEAU;4IhB/dJLAgByLSiGAvB4NX/BiB,A,A;QOnZA7FO;8jBkB6vBCuImB;8EAqBcplBc;oBAGpBolB6B;wDAMK3OG;0lDE10BiBzWe;mDCfP2fARsJX3f+C,A;gBQ9IQqZuK;AAEEkLACwFUvkBO,A;kBDxFVukBACwFUvkBa,A;yBDpF5BAO;2IAoBAqjBAAX+BrG2B,AAAkBuHQRiczBvkBW,A,A;+bWtda4gBmE;yBAMAC+C;0MhCuSLuCW;gBAqB5BjCe;qjBGxEFtBqB;sDA2CO7fY;QAAAA2B;qEA2ZqB4iBe;gBAaF5iBoB;QAAAAW;oqCE3rBAAkB;wBAAAAgC;mBA+IxBAqD;sOA4LwBAU;6CAAAAa;k6BJgvCEuiB+B;qrBAq6BwB9De;8BAOlC7BiC;AACAwGS;m5CMz4EXjjCiB;iBAAAAAAoZ0Bu+BqB,A;eA9YD/pBMAsZZ+pBqB,A;2aOlbhBrDkB;sPAsKArbc;8PgBpFAqiBW;AACSriBYVmfIsNI,AADnBtNAAAAA+B,A,A;YUhfyBAAA1KnBAATyzBAAAD/tBgBsN0B,AAAX+XU,A,A,uBUhGXrlBAAAAAc,A,A;AAkLEwXwE;kDAgCaxXQ;AADTqiBU;mEAIOriByD;+BAgEP+bG;qCAIADG;kDAaE5CI;iEAMAiE6E;qDAUFrBS;sBAOAuGkB;mGAkB0CtGS;OAIjC/bQ;AADT+bU;0DAQADG;0BACAZW;4BAMEYS;+IfpNDiGW;oBACEhDW;AAA6B9FI;8CAazB8FK;gGAQL8CU;oTAsIkBvUW;kGAoBAtNuC;OACPwWwD;uDASOxW+B;OACP4kByD;2GAoGblIG;6CAQiBvEQ;AACLyDY;qBAQdvvBgB;+EAQEqwBG;kGAiBiBvEQ;AACLyDY;gCAQdvvBgB;2RAgKFkyBW;kCAQAZmB;gGA8DAtxBmB;iGAwBAAmB;yjBAwEyBs1BGAjnBlB5CS,AAAUHa,A;8BAmnBwB5FE;2BACDAQ;mDAOc4CiB;AAC3BXmB;IACqBjCI;+LAkBjB0IC;IAAAAAA1rBxB3CQ,AAA+BhCO,A;8HAmsBC/DS;iBAElB8IAA3sBdhFU,A;wDAgtBsB9Da;yFIiaHhZ6B;kKAQpBqYU;uBAAAAAJtoBJkGW,S;wCM5HGhDU;0DAUAAW;AAGmBvbG;uFAkBpBubkB;QAYKvbQ;AADLqiBU;wDAIGriBiD;uCA2GFgcU;sJAgBLhBADtQsBiBI,Q;YCsQtBjBqC;yBAgEIOU;yCAQAAU;4GAyBsBvbY;qBA6CImVkB;2JD/rBXoNsB;6BA2Jf/GG;mDAIcxbY;qDAgDSAG;2BAEtBmbG;mEAciBcI;gFA6FlBdoB;iDAEoBwBgCA/L2B4FkB,A;sEA0M5BtGY;iGA4BnBpDmB;qBAAAAmB;oHA6GA4JG;uMAWFnBmCA6BFgCI,A;MA7BEhCAA6BFgCG,A;iUJ66BE7BU;0GAYAAU;ogBMv+CKzhBmB;8CAAAAoB;qFAU8BobS;6EAGHAS;8bAqDhCkC2BAOShFAAoOe0JwB,A,iH;qlBAhCf1JAAgCe0JmB,A;yLAmEnBhiBU;4BAAAAoB;iNa/ZmBAkB;qBAAAAW;QAAAAY;+CA2IUAY;QAAAA6B;eA6WjB4iBe;8RZlafuCmB;AACAAAC0YJrGU,A;ADzYIqGe;s1Bf4WoB/PK;+5BgB5aMgOc;2iBKtC9BxR6B;gCAYoB5RARgFdAI,A;AQhFNgdgC;SACiBkEkB;0DACc9JY;EAC7B4FoB;AAAApLARmjBG6KG,qBACLlFkDAsD6BvXY,A,A;6CQtlB3BmkBAAZFllBAAlCFmiBc,AAAcjKqB,AAA6CEa,qC,A;AAiDvDlYAa1CFskBgE,A;qsTzCixCiBE0G;CAAAAG;6DAUAC8G;CAAAAG;2DAUACuD;CAAAAG;6DAUAC2D;CAAAAG;" + "frames": "2xHAqIeolCyB;oCAKAAyB;eAKCTG;kBACeDE;gEAIlBAE;KAGOFO;iGAaAtkCAA8CgBCeANKoDuC,A,I;qMATrCnDAAmB0BDeAVWoDoC,A,AAUvCghCkC,A;23DImKW5gB2C;QAEF4XyC;sYHrRWiOuB;uEA6BL/EG;oQAuJqB/HqC;wGA8JlB2JiB;cAAAAa;0CAuBQhCS;gJAYVgCiB;oFAqBL0CAARFjCiB,A;yDAkBWWW;0PAknBoBnSoB;oDAUtBA+C;8DAwEG3RqC;qvBAqHdAwC;qTA8NEAmR;gZA4MAAW;ifA0DyBAW;uWAkCJAW;cAOpBAkC;6BAIiB2gBoD;OAChB3gBU;0DAOCylBI;aAIgBzlBwC;2JASjBAU;yEAiCmBAW;sCAGtBAc;sSAkIFAAOx+D8BAgE,A;kePyoE1BAkC;cAEAA0D;y4CAyPEA4D;6sBAqF6B2iBuC;AACHgCmC;yEA4HtBrlCAKpjETCMA3B4B6/Bc,A,M;qDLqmElBpfiD;yCACK2jBW;uHAsJhB3jBY;4ECloFOokBI;YACcrkCAAsE3BDAF1IA8gCyB,kF,A;QEoE2B7gCAAuEpBghCE,A;OAtEWqDI;uBAKKpkCAAzCJ4iCkB,AAAZwBI,A;6CA+CMAI;YACkBrkCAAyD/BDAF1IA8gCyB,kF,A;QEiF+B7gCAA0DxBghCE,A;OAzDWqDI;uBAGKpkCAApDJ4iCkB,AAAZwBS,A;4EA0EErkCAA+BTDAF1IA8gCyB,kF,A;QE2GS7gCAAgCFghCE,A;sDAvBE9gCAA2BTHAF/IA8gCsB,A,0BE+IA9gCkF,A;QA3BSGAA4BF8gCE,A;+DAfoCqCqB;UAElCnjCAAYTHAF/IA8gCsB,A,0BE+IA9gCkF,A;QAZSGAAaF8gCE,A;gEAMPjhCAFtJA8gCyB,6B;yJEkK2CwCoB;gLAsCjCRmB;0KAaF9iCAFrNR8gCyB,mG;2DEmO2BwD4D;wTA+EX5jCc;81CIzNS2/BG;gBAIjBvBW;AADuCpDAAgK/B0EQ,A;WAtJOnDO;AAFAoDG;gBAGfvBgB;AAD0CvEAAgKlC6FM,A;gBApFCtFAAzBsBqFG,A;oCA2BECG;uCA2JzBEG;sBAgJMhBmB;iEAyEPxEAA/YwBqFG,A;mEAwZbCG;qEAMAAG;qEAMAAG;qEAMWxFG;uDAMkBDAA7WvC2FK,A;aAgXGnGAApWHiGG,A;sBAsWQlGG;6EAQHmBAApWIJO,A;AAqWJGG;sEAMIGAAlVT6EG,A;sBAqViC9FG;6EAU5BGQ;AACDuFQ;uBAGDxFAAzVH4FG,A;+EAgWI1FAAtVJyFG,A;sBA0VULO;uIAeNEkB;yBAGDII;kFAaCJkB;0BAImBFO;AACEAS;AACtBMM;qFAcK9EsB;AAIANK;iBAGQDK;8CAMiB8EAAxRR3fc,A;AAyRrB8eM;AAEAHM;AAEADK;uHAwCFwBM;yDAaZ9DI;sEAuBFEG;eAIOuGoB;qSAkFkBzGkD;uBAKvBgDe;uDAeYQI;uBAENz+BQAvZUi+BoB,A;6DAieF18BoBAlFlB05BgB,A;uCAsFciEO;GAELwCoB;OAAwBvHO;uBAOM14BO;AAA9Bs3BG;gBAA8Bt3BAAKrCu7BY,A;SAS0BuDW;AADVpX0B;iBAGXtKAAmCTAAAAAAAACMmeG,A,A,W;SAlC6BiBoB;AAE/Bx8BG;AADOs3BG;gBACPt3BAAfAu7BY,A;mBAuCqBh9BMA1hBHi+BoB,A;gEA0lBlBn8BAAoiF6Bg0B+B,A;6BAjiFzB2DG;qEAcY0EAAr/BY9DAAuKhB0EQ,A,A;AA+0BQtFAAl7BeqFG,A;0KA87BnBxFAA33BJ2FG,A;IA43BM1FiB;AAYdsEU;sEAUC97BQA8BmBi4BAA15BZiFI,A,AA25BMlFI,A;+DArBXiBC;AADPqCK;0CAsCAv7BAAg8E6Bg0B0B,A;mEAr7EtBcC;AADPkGK;6BAKWrDAAnhCwBqFQ,A;kEAwhCCzEAAr7BxB0EK,A;eAs7B4B7FAA56B5B6FsB,A;mEAu7BCdc;gDAeNjDI;AADOlBAA18BFiFO,A;mDAo9BF3EG;iBAKVeG;8GAsBOuGoB;YACGtHG;iBAKVeG;wFA0BWHU;+DAYAAU;uCAWTxC0B;qJAuCclLuB;mBAiBT0Nc;AADSmDAAzwChB1EAAoEmCqFQ,A,AApEPzEAAuKhB0EK,A,A;QAmmCQ7FAAzlCR6FS,A;MA2lCmBdiB;AAD3BjDI;kiDA2NmB2DQ;qBAEDIO;sCAYA/EAAv1CViFM,A;AAw1CKlFG;qCAMG4EQ;AACFuFkB;AACEvFU;gEAOGIO;gBAELEI;kHAaMNQ;0MAgBFIO;AACjBj9BAAo+DwBg0BAAK/BjtBAAGa4wBAA58GwBqFG,A,A,wCAy8GhBp6BAAgBdo9Ba,A,K,A;oDAh/DY5HAAv3CCNO,A;AAw3CeXM;AAEbgBM;AACc0EW;AAEdhFM;AACcgFW;AACNjFM;AACPiFQ;0DASCIQ;2DAUEAQ;oEAYbFM;yBAIIEe;AAEJEI;sGA6BAxFAApjDwBqFG,A;wIA6jDdzEAA19CT0EK,A;cAy+CajFAAp+CbiFG,A;cAs+CStFAA9kDcqFG,A;uEAulDV5FAA1+Cb6FS,A;mBA++CIzFAAzhDJ2FI,A;GAkiDM1FG;4HAgBOJAAz/Cb4FM,A;AA0/CG3FG;eAODCAAv/CIOM,A;qFA+/CF8KuB;yDAoLPjMAAHK8LG,S;uBAKP9LAALO8LG,I;oCAWDxEO;+DAKOjBI;AACPnDgB;oGAiBO4IM;wBA4BAxEM;aAWHsCS;AADPrCe;oBAGFxDyB;AACH8FW;gCAMStJG;cAGVoEa;AAEaiFW;oBAET7FuB;AACH8FW;kCAKS1JG;cAGVmEgB;AAEuB5TAApuDf8VI,A;AAquDKoDW;gCAGX5IAA95D6BqFS,A;AA+5DdjGQ;AAKhByJW;mBAqCHxFS;AACAOQ;qBAuFegFW;AADPrCW;oBAGsB7HAAIpBqGAAz3DP3fsB,A,AA03DHyeM,AACALM,W;AANGrCAApFA0HC,AAAOtCa,A;qBAiGKqCS;AAFN/KAA/CKnOAAz0DJ8VW,A,A;AAy3DFeW;oCAGLpFAAnGA0HC,AAAOtCa,A;0CA0GOvGAAzjEgBqFG,A;oEAikEvBNAAn5DP3fsB,A;AAo5DHyeM;AACAIK;CACATM;4BAQeoFS;AAFNjLAAzEKjOAA30DJ8VW,A,A;AAq5DFeW;oCAGLpFAA/HA0HC,AAAOtCa,A;4CAsIOvGAArlEgBqFQ,A;0DA0lEZ5FAA7+DX6FI,A;kEAm/Da1EAA7/Db0EG,A;IA8/DiBtFAAjmEMqFc,A;AAmmEd5FAAt/DT6FI,A;gCA6/DAPAA57DP3fsB,A;AA67DHyeM;AACAIK;CACATM;4BAQeoFS;AAFNpLAAhHK9NAA70DJ8VW,A,A;AA87DFeW;oCAGLpFAAxKA0HC,AAAOtCa,A;wCA+KOvGG;0DAMVmCe;qCAKG4CAA39DP3fsB,A;AA49DHyeM;AACAIK;CACATM;0BAOeoFsB;AADPrCW;oBAIRjIAAKUyGAA7+DP3fsB,A,AA8+DHyeO,AACAIM,AACATM,W;AATGrCAAtMA0HC,AAAOtCa,A;8BAqNMrBQ;sCAEIIG;AACC5VAAj/DX8VI,A;kCA0/DMNQ;qCAGmBFO;AACZIwB;AAIPEK;AACK5VAAngEX8VI,A;uCAuhED9HAAVOwHU,mB;AAYD0DG;AADPrCW;oBAIOhIAAKLwGAAziEP3fsB,A,AA0iEHyeM,AACAIM,AACAES,AACgBeW,AAEdlBI,AAA6BgBK,AAE/BxBM,W;AAdGrCAAlQA0HC,AAAOtCa,A;yCAsSNvGAArvE6BqFY,A;AAsvErBhGAAvqEFiGG,A;AAyqEDLG;AAAgB7FkB;QAEhB/BGAjBL3NAAnjEM8VuB,A,A;AAskEKoDG;AADPrCW;oBAIOnIAAKL2GAAtlEP3fsB,A,AAulEHyeO,AACAIM,AACAEM,AACAXM,W;AAVGrCAA/SA0HC,AAAOtCa,A;qBAyUD3IoC;AAEMgLC;AADPrCW;oBAIR/HAAKUuGAApnEP3fsB,A,AAqnEHyeO,AACAIM,AACAEM,AACAXM,W;AAVGrCAA7UA0HC,AAAOtCa,A;qBAoYDjJAAtCPCiB,AADY7NO,AACZ6NAAKkBiDM,AACc0EW,AAEdhFM,AACcgFW,AACNjFM,AACPiFsB,oF,AAZvBlCY,A;AAyCiB4FG;AADPrCW;oBAIRlIAAKU0GAA/qEP3fsB,A,AAgrEHyeO,AACAIM,AACAEM,AACAXM,W;AAVGrCAAxYA0HC,AAAOtCa,A;uBAgaD9ISAPH/NAAlrEI8VwB,A,A;AA2rEKoDC;AADPrCW;sCAGLpFAApaA0HC,AAAOtCa,A;sDA8aQrBQ;kCAICIQ;AACXtFAAl4EyBqFe,A;sEAm5EvBNAAruEP3fsB,A;AAsuEHyeO;AACAIM;AACAEK;CACAXM;4FAqKoBwGM;AACJIU;kBAGTzEkB;4LAcHkEW;cAIAAW;cAIAAO;KACWmBI;AAAkB3EG;AAAqBgDU;cAIlDQO;AACIeM;AAA2BIG;AAA3BJAAkWSvFU,A;cA9VbwEO;AAAsB3HM;AAAiB8IW;cAIvCnBO;AAAsB5HM;AAAkB+IW;eAIxCnBO;AAAsBxHM;AAAe2IW;cAIrClBAAgFRDQ,AAAYPS,AACepEQ,A;iEArEX8FG;AACRnBO;cAIkBxDG;AAAqBgDU;AAC/BLK;iBAIAgCG;AACRnBO;cAIkBxDG;AAAqBgDU;AAC/BLK;iBAIAgCG;AACRnBO;cAIkBxDG;AAAqBgDU;AAC/BLK;cAIRaW;AACACAAqCRDQ,AAAYPS,AACepEQ,A;sCA9BnB4EAA6BRDQ,AAAYPS,AACepEQ,A;cA1BnBkCAA2KS3UAAoCE0SY,AAAmBmEI,MACtB0BI,AAAkB3EM,AACPhBY,A,AArC3BwEU,AACAAW,A;eAzKQCAAqBRDQ,AAAYPS,AACepEQ,A;eAlBnBgCAAyKSrBAAqCEVY,AAAmBmEI,MACjB0BI,AAAkB3EM,AACZhBY,A,AAtC3BwEU,AACAAW,A;cAvKYxCAA4KKkDmB,AAGjBVO,AAAmBakB,AACnBbW,AACACAApKADQ,AAAYPS,AACepEQ,A,M;wCANhBmEU;YACG2BI;AAAkB3EK;sDAWrBVkB;uCAIXkEU;uEAQWlEkB;0FAIyCwCoB;kBAM7BuCmB;SAKbMM;AAAkB3EO;AADZGAAhzBDxGAA76DsBqFW,A,AA+6DjBhGAAh2DNiGG,A,UAm2DazFAA/2Db2FG,A,AAk3DYmDI,+C;AAsyBxBkBO;AAEcrDkB;AAGdqDU;4BAMqBmBiB;AAEZ3BQ;sBAGTQO;2BAE4BxDc;AAChBrGAA9uFuBqFY,A;AAgvF/BwEO;YAGmCbK;cAInCaO;+BA+BKRa;AAnBY2B2B;uCAwBI3BU;aAIbAU;cAIRQU;WAIJAU;YAKKRU;iBAGIAwB;AAC0BamB;AACbAK;SACc7DM;AACmBtBAA3iFlB3fc,A;AA4iFf8eM;AAEAHM;AAEADK;AACpB+FO;2BASAAO;OAGyBrEY;kFAgCnB6Dc;UAERQO;AAAsBzHM;AAAgB4IY;iBAItCnBO;AAAsB7HM;AAAcgJY;0EAOnB7FgB;AAAmBmEI;MACtB0BI;AAAkB3EM;AACPhBY;2DAiBK6EK;8FASZhFQ;8BAEAFI;sBAOAEQ;+BAGAFI;wBAOLhFAAj6FsBqFG,A;4BAm6FRhGAAp1FfiGE,A;IAq1FYlGM;AACP8FQ;gBAEDIK;SAIEjGAA51FNiGM,A;AA61FDtFAA56FwBqFQ,A;wFAm7FbvFU;AACPoFQ;QAEDIK;qEAwDDvF8B;AACG6IW;YAET7G8B;AACF8GW;0GA8DLxM0B;sBAEY2DAAljGuBqFG,A;wCAyjGnCx2BAA4ZEmxBG,A;0CAtZesFE;AADH1FAAx7FFyFc,A;YA67FArFAAnkGuBqFsB,A;iCA2kGR5FAA99Ff6FQ,A;0EAu+FM7FAAv+FN6FY,A;wBA2+FM1EAAr/FN0EY,A;qCA6/FI1EAA7/FJ0EY,A;qEAghGI7FAAtgGJ6Fa,A;2FAkhGQjFAAvhGRiFY,A;yBAkiGa7FAA7hGb6FS,A;+FAyiGiBjFAA9iGjBiFQ,A;+IAskGI3FM;AACAAM;AACGuFgB;AACAAQ;SAGkBDwB;AACAAwB;oBAGjBKO;AACAAI;kEAOkB5FAApkG1B4FM,A;AAqkGN5FAArkGM4FQ,A;sQAgmGM7EAA1mGN6EQ,A;AA2mGM7EAA3mGN6EU,A;aAgnGsB9FO;AACAAM;AAGdgBM;AAEAAM;AACe0EW;AACAAQ;yBAMfhFM;AAEAAM;AACegFW;AACAAQ;wCAKAFI;YACbMgB;6BAOaNI;YACbMkB;6BASbNM;YACaMgB;YAMOrFM;AACAAM;AACPiFW;AACAAQ;0BAIFMS;0BAGEAI;2BAIEJM;qCAMcJM;sBAENAM;YACbMkB;+BAQRFM;0DASIvFAAvvGH2FM,A;AAwvGG3FAAxvGH2FQ,A;WAswGOxGAAnhDL8LG,I;2CAshDCtFI;YAIMkDI;uBAEHxDQ;AACW/PoBAsLAqPa,AAAjB0FK,A;+BApLW1EK;wBAIT1FQ;gBAOFAW;AACAAQ;8BAWIoFQ;2BAUAIO;AACAAU;6CAwCAhFM;AACAAM;AACA4EgB;AACAAQ;aAEF3EAA30GFiFM,A;AA40GEjFAA50GFiFG,A;oCAg1GMFO;AACAAU;iCASPtFAAn7GwBqF+B,A;sCAu7GIzEAAp1G3B0EK,A;eAq1G+B7FAA30G/B6FI,A;uBAu1GiBjJ+B;uBAQlB2DAA58GwBqFG,A;qDA+/G1B4D4B;AACE/DQ;oBAEEMI;4CAOgBhBa;AAAjB0FI;grBQvpHRvLS;4BA2BRvZU;wBAwGOASApCS8ZAAAA9ZyB,A,a;uCAmDCwhBE;mMA2DExhBoB;AAAAifW;8HAiCPvRM;6IC9SIAM;0DAYV2RQ;2BAMJAsB;OAEgBzHY;2BAqjBFsEiB;AACIxDG;cAIE/G0D;wIAyBNuKkB;AACIxDI;mBAIE/G0D;2GAuBbjmBgB;uFAuIkBgwBqB;gCAGYlCG;AACxB0IM;sHA+BcIG;2CACD5CK;0CAIbwCM;mDA4EIGG;uLAkBT0CwB;wBAMgB1Ie;AACFyBsB;AACZnFyB;gDAcImFwB;iBAEVmBiB;AAGAXmB;uQGt5BQPU;iBAUqB/dqB;qCAKrB+dU;sFAoBkB/diB;6IAuD3BtUW;iBCg5EGsUqB;OAAAAU;uCE9sDFAADxtBgB0N0B,AAAXsYU,A;wPAgZN9DS;spFGrZUliBmB;oHAoBN+WG;yYCsLsCwKyDfxRtCmCOA6EiCiCqC,I,A;0Deub1B3CgB;AAEDxDO;0BAGFAO;oBAGEAU;4IjB/dJNAiByLSkGAvB4NXjCiB,A,A;QMnZA5FO;8jBmB6vBCwImB;8EAqBc/lBc;oBAGpB+lB6B;wDAMKhPG;uzBC11BPoNO;4yBGgBwBnkBe;gBA0bRAAcosBSAA7BplCvBAAAtB0BwhBAAAAxhBiC,A,A,yB,A;+SgB/BZilBO;AAAAjNqB;mDAEhBgDuB;oSAkBiBsFAV8HXtgB+C,A;gBUtHQ6ZuK;AAEEqLACgEUllBO,A;kBDhEVklBACgEUllBa,A;yBD5D5BAO;oLAsBA+jBAAb+BrG2B,AAAkBwHQVyazBllBW,A,A;+batdaqhBmE;yBAMAC+C;0MlC+SLwCW;gBAqB5BlCe;iiBStFFpB+B;sDA2COxgBY;QAAAA2B;qEA2ZqBqjBe;gBAaFrjBoB;QAAAAW;upCLrrBAAkB;yBAAAAiC;mBA+IxBAqD;uOAsMwBAU;6CAAAAa;k6BH2zCEgjB+B;qrBAq6BwB7De;8BAOlC7BiC;AACAwGS;g6CK99EXvkCiB;iBAAAAAAoZ0B6/BqB,A;eA9YDhrBMAsZZgrBqB,A;2aQ1ahBtDkB;maAsKA9bc;6PkB5FA8iBW;AACS9iBYZofI0NI,AADnB1NAAAAA+B,A,A;YYjfyBAAA1KnBAAXkzBAAADxtBgB0N0B,AAAXsYU,A,A,uBYhGXhmBAAAAAc,A,A;AAkLE8XwE;kDAgCa9XQ;AADT8iBU;mEAIO9iByD;+BAyDPwcG;qCAIADG;kDAaE7CI;iEAMAmE6E;qDAUFtBS;sBAOAuGkB;kGAkB0CtGS;OAIjCxcQ;AADTwcU;0DAQADG;0BACAZW;4BAMEYS;4JjBlTMaW;wDAEZvEK;gFAgBYuEW;oFA4HPoFW;oBACE9CY;AAA6BjGI;8CAazBiGK;iGAQL4CU;qTAsIkB5UW;kGAoBA1NuC;OACP8WwD;wDASO9W+B;OACPulByD;2GAoGbpIG;6CAQiBzEQ;AACL2DY;qBAQd3wBgB;+EAQEyxBG;kGAiBiBzEQ;AACL2DY;gCAQd3wBgB;4RAgKFuzBW;kCAQAZQA3OoBrec,A;+FAySpBtUmB;iGAwBAAmB;2jBAwEyB02BGAjnBlB1CS,AAAUHa,A;+BAmnBwB/FE;uBACDAQ;mBAEHxZiB;yDAKiBqciB;AAC3BXmB;IACqBlCI;iMAkBjB2IC;IAAAAAA1rBxBzCS,AAA+BjCO,A;kDA4rBHzdoB;0FAOIwZS;iBAElB+IAA3sBd/EU,A;wDAgtBsBhEO;gDAGQxZiB;6EIoXXA6B;kKAQpB4YU;uBAAAAAJ5lBJqGW,S;wCMrKGjDU;0DAUAAW;AAGmBhcG;uFAkBpBgckB;QAYKhcQ;AADL8iBU;wDAIG9iBiD;uCAoGFycU;sJAgBLhBAD9PsBiBI,Q;YC8PtBjBqC;yBAgEIOU;yCAQAAU;4GAyBsBhcY;qBA6CIyVkB;2JDxrBXuNsB;6BA2Jf/GG;mDAIcjcY;qDAiDSAG;2BAEtB4bG;mEAciBcI;gFA6FlBdoB;iDAEoByBgCAhM2B2FkB,A;sEA2M5BtGY;iGA4BnBrDmB;qBAAAAmB;oHA6GA6JG;uMAWFnBmCA6BFiCI,A;MA7BEjCAA6BFiCG,A;iUJ27BE9BU;0GAYAAU;sgBMt/CKliBmB;8CAAAAoB;qFAU8B6bS;6EAGHAS;8bAqDhCmC2BAOSlFAAoOe2JwB,A,iH;qlBAhCf3JAAgCe2JmB,A;yLAmEnBziBU;4BAAAAoB;iNe/ZmBAkB;sBAAAAW;QAAAAa;+CA2IUAY;QAAAA6B;eA6WjBqjBe;8RdlafyCmB;AACAAAC0YJrGU,A;ADzYIqGe;s1BhB4WoBpQK;+5BiB5aMoOc;mlBMyaxB9jBwB;kMCvbNgS6B;gCAYoBhSAVwDdAI,A;AUxDN0dgC;SACiBiEkB;0DACcjKY;EAC7BgGoB;AAAA1LAV2hBGkLG,qBACLrFkDA+C6B7XY,A,A;6CUrjB3B6kBAAdF3lBAAlCF2iBc,AAAcpKqB,AAA6CEa,qC,A;8gU9Bq1CxC0M0G;CAAAAG;6DAUAC8G;CAAAAG;2DAUACuD;CAAAAG;6DAUAC2D;CAAAAG;" } } From f260651eb7aee50e761b6d8bada2650b8cd26b0b Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Tue, 17 Dec 2024 08:57:52 +0100 Subject: [PATCH 22/30] chore --- example/lib/loopback.dart | 15 +- example/lib/main.dart | 6 - lib/src/bindings/js_extension.dart | 3 - lib/src/bindings/recorder.dart | 4 +- lib/src/exceptions/exceptions.dart | 2 +- lib/src/exceptions/exceptions_from_cpp.dart | 17 +- lib/src/flutter_recorder.dart | 70 +- src/capture.cpp | 2 - web/init_recorder_module.dart | 10 + web/worker.dart.js | 2399 +++++++++---------- web/worker.dart.js.map | 12 +- 11 files changed, 1253 insertions(+), 1287 deletions(-) diff --git a/example/lib/loopback.dart b/example/lib/loopback.dart index fca6e03..973eb39 100644 --- a/example/lib/loopback.dart +++ b/example/lib/loopback.dart @@ -8,7 +8,6 @@ import 'package:flutter_soloud/flutter_soloud.dart'; import 'package:logging/logging.dart'; import 'package:permission_handler/permission_handler.dart'; - /// Loopback example which uses `flutter_soloud` to play audio back to the /// device from the microphone data stream. Please try it with headset to /// prevent audio feedback. @@ -169,6 +168,18 @@ class _LoopBackState extends State { Row( mainAxisSize: MainAxisSize.min, children: [ + OutlinedButton( + onPressed: () { + recorder.start(); + }, + child: const Text('Start'), + ), + OutlinedButton( + onPressed: () { + recorder.stop(); + }, + child: const Text('Stop'), + ), OutlinedButton( onPressed: () { init(); @@ -227,7 +238,7 @@ class _LoopBackState extends State { // if (echoCancellation) EchoCancellationSliders(), - // const Bars(), + const Bars(), ], ); } diff --git a/example/lib/main.dart b/example/lib/main.dart index a4dd1c8..ecd66a8 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -299,12 +299,6 @@ class _MyAppState extends State { ], ), - OutlinedButton( - onPressed: () { - recorder.filters.autoGainFilter.activate(); - }, - child: const Text('autogain'), - ), // Threshold dB slider Row( mainAxisSize: MainAxisSize.max, diff --git a/lib/src/bindings/js_extension.dart b/lib/src/bindings/js_extension.dart index 5c586dc..0307f79 100644 --- a/lib/src/bindings/js_extension.dart +++ b/lib/src/bindings/js_extension.dart @@ -1,9 +1,6 @@ // ignore_for_file: public_member_api_docs, avoid_positional_boolean_parameters -import 'dart:async'; import 'dart:js_interop'; -import 'dart:js_util'; -import 'package:flutter/foundation.dart'; import 'package:web/web.dart' as web; // ////////////////////////// diff --git a/lib/src/bindings/recorder.dart b/lib/src/bindings/recorder.dart index d1d81e3..d18528d 100644 --- a/lib/src/bindings/recorder.dart +++ b/lib/src/bindings/recorder.dart @@ -136,7 +136,7 @@ abstract class RecorderImpl { /// Start the device. /// - /// Throws [RecorderCaptureNotInitializedException]. + /// Throws [RecorderNotInitializedException]. /// Throws [RecorderFailedToStartDeviceException]. @mustBeOverridden void start(); @@ -155,7 +155,7 @@ abstract class RecorderImpl { /// Start recording. /// - /// Throws [RecorderCaptureNotInitializedException]. + /// Throws [RecorderNotInitializedException]. /// Throws [RecorderFailedToInitializeRecordingException]. @mustBeOverridden void startRecording(String path); diff --git a/lib/src/exceptions/exceptions.dart b/lib/src/exceptions/exceptions.dart index 336ad6c..81807a4 100644 --- a/lib/src/exceptions/exceptions.dart +++ b/lib/src/exceptions/exceptions.dart @@ -59,7 +59,7 @@ abstract class RecorderCppException extends RecorderException { case CaptureErrors.captureInitFailed: return const RecorderInitializeFailedException(); case CaptureErrors.captureNotInited: - return const RecorderCaptureNotInitializedException(); + return const RecorderNotInitializedException(); case CaptureErrors.failedToInitializeRecording: return const RecorderFailedToInitializeRecordingException(); case CaptureErrors.failedToStartDevice: diff --git a/lib/src/exceptions/exceptions_from_cpp.dart b/lib/src/exceptions/exceptions_from_cpp.dart index 65ee797..ea39c16 100644 --- a/lib/src/exceptions/exceptions_from_cpp.dart +++ b/lib/src/exceptions/exceptions_from_cpp.dart @@ -16,15 +16,26 @@ class RecorderInitializeFailedException extends RecorderCppException { /// An exception that is thrown when calling some methods while the recorder is /// not initialized. -class RecorderCaptureNotInitializedException extends RecorderCppException { - /// Creates a new [RecorderCaptureNotInitializedException]. - const RecorderCaptureNotInitializedException([super.message]); +class RecorderNotInitializedException extends RecorderCppException { + /// Creates a new [RecorderNotInitializedException]. + const RecorderNotInitializedException([super.message]); @override String get description => 'The recorder has not been initialized yet ' '(on the C++ side).'; } +/// An exception that is thrown when calling some methods while the recorder is +/// not started. +class RecorderCaptureNotStartededException extends RecorderCppException { + /// Creates a new [RecorderCaptureNotStartededException]. + const RecorderCaptureNotStartededException([super.message]); + + @override + String get description => 'The recorder has not been started yet ' + '(on the C++ side).'; +} + /// An exception that is thrown when recording failed to start. class RecorderFailedToInitializeRecordingException extends RecorderCppException { diff --git a/lib/src/flutter_recorder.dart b/lib/src/flutter_recorder.dart index 2130425..9f667e8 100644 --- a/lib/src/flutter_recorder.dart +++ b/lib/src/flutter_recorder.dart @@ -207,6 +207,12 @@ interface class Recorder { RecorderChannels channels = RecorderChannels.mono, }) async { await _recoreder.impl.setDartEventCallbacks(); + + // Sets the [_isInitialized]. + // Usefult when the consumer use the hot restart and that flag + // has been reset. + isDeviceInitialized(); + if (_isInitialized) { _log.warning('init() called when the native device is already ' 'initialized. This is expected after a hot restart but not ' @@ -229,15 +235,12 @@ interface class Recorder { /// Dispose capture device. void deinit() { _isInitialized = false; - _isStarted = false; + stop(); _recoreder.impl.deinit(); } /// Whether the device is initialized. bool isDeviceInitialized() { - if (!_isInitialized) { - return false; - } // ignore: join_return_with_assignment _isInitialized = _recoreder.impl.isDeviceInitialized(); return _isInitialized; @@ -245,9 +248,6 @@ interface class Recorder { /// Whether the device is started. bool isDeviceStarted() { - if (!_isInitialized) { - return false; - } // ignore: join_return_with_assignment _isStarted = _recoreder.impl.isDeviceStarted(); return _isStarted; @@ -258,30 +258,44 @@ interface class Recorder { /// WEB NOTE: it's preferable to call this method after the user accepted /// the recording permission. /// - /// Throws [RecorderCaptureNotInitializedException]. + /// Throws [RecorderNotInitializedException]. /// Throws [RecorderFailedToStartDeviceException]. void start() { - if (!_isInitialized) return; + if (!_isInitialized) { + _log.warning(() => 'start(): recorder is not initialized.'); + throw const RecorderNotInitializedException(); + } _recoreder.impl.start(); _isStarted = true; } /// Stop the device. void stop() { - if (!_isInitialized) return; + if (!_isInitialized) { + _log.warning(() => 'stop(): recorder is not initialized.'); + return; + } _isStarted = false; _recoreder.impl.stop(); } /// Start streaming data. + /// + /// Throws [RecorderNotInitializedException]. void startStreamingData() { - if (!_isInitialized) return; + if (!_isInitialized) { + _log.warning(() => 'startStreamingData(): recorder is not initialized.'); + throw const RecorderNotInitializedException(); + } _recoreder.impl.startStreamingData(); } /// Stop streaming data. void stopStreamingData() { - if (!_isInitialized) return; + if (!_isInitialized) { + _log.warning(() => 'stopStreamingData(): recorder is not initialized.'); + return; + } _recoreder.impl.stopStreamingData(); } @@ -292,7 +306,8 @@ interface class Recorder { /// NOTE: when running on the Web, [completeFilePath] is ignored and /// just stopping the recording the browser will ask to save the file. /// - /// Throws [RecorderCaptureNotInitializedException]. + /// Throws [RecorderNotInitializedException]. + /// Throws [RecorderCaptureNotStartededException]. /// Throws [RecorderFailedToInitializeRecordingException]. void startRecording({String completeFilePath = ''}) { assert( @@ -300,20 +315,25 @@ interface class Recorder { 'completeFilePath is required ' 'on all platforms but on the Web.'); if (!_isInitialized) { - throw const RecorderCaptureNotInitializedException(); + _log.warning(() => 'startRecording(): recorder is not initialized.'); + throw const RecorderNotInitializedException(); + } + if (!_isStarted) { + _log.warning(() => 'startRecording(): recorder is not started.'); + throw const RecorderCaptureNotStartededException(); } _recoreder.impl.startRecording(completeFilePath); } /// Pause recording. void setPauseRecording({required bool pause}) { - if (!_isInitialized) return; + if (!_isStarted) return; _recoreder.impl.setPauseRecording(pause: pause); } /// Stop recording. void stopRecording() { - if (!_isInitialized) return; + if (!_isStarted) return; _recoreder.impl.stopRecording(); } @@ -337,16 +357,16 @@ interface class Recorder { /// **NOTE**: use this only with format [PCMFormat.f32le]. Float32List getFft() { if (!_isInitialized) { - _log.warning(() => 'getFft: Recorder is not initialized.'); + _log.warning(() => 'getFft: recorder is not initialized.'); return Float32List(256); } if (!_isStarted) { - _log.warning(() => 'Recorder is not started.'); + _log.warning(() => 'getFft: recorder is not started.'); return Float32List(256); } if (_recorderFormat != PCMFormat.f32le) { _log.warning( - () => 'getFft: FFT data can be get only with f32le format.', + () => 'getFft: FFT data can be get only using f32le format.', ); return Float32List(256); } @@ -363,12 +383,12 @@ interface class Recorder { return Float32List(256); } if (!_isStarted) { - _log.warning(() => 'Recorder is not started.'); + _log.warning(() => 'getWave: recorder is not started.'); return Float32List(256); } if (_recorderFormat != PCMFormat.f32le) { _log.warning( - () => 'getWave: wave data can be get only with f32le format.', + () => 'getWave: wave data can be get only using f32le format.', ); return Float32List(256); } @@ -385,12 +405,12 @@ interface class Recorder { return Float32List(256); } if (!_isStarted) { - _log.warning(() => 'Recorder is not started.'); + _log.warning(() => 'getTexture2D: recorder is not started.'); return Float32List(256); } if (_recorderFormat != PCMFormat.f32le) { _log.warning( - () => 'getTexture2D: texture can be get only with f32le format.', + () => 'getTexture2D: texture can be get only using f32le format.', ); return Float32List(256); } @@ -407,12 +427,12 @@ interface class Recorder { return -100; } if (!_isStarted) { - _log.warning(() => 'Recorder is not started.'); + _log.warning(() => 'getVolumeDb: recorder is not started.'); return -100; } if (_recorderFormat != PCMFormat.f32le) { _log.warning( - () => 'getVolumeDb: volume can be get only with f32le format.', + () => 'getVolumeDb: volume can be get only using f32le format.', ); return -100; } diff --git a/src/capture.cpp b/src/capture.cpp index 6e86084..ce0f0c4 100644 --- a/src/capture.cpp +++ b/src/capture.cpp @@ -292,8 +292,6 @@ CaptureErrors Capture::init( unsigned int sampleRate, unsigned int channels) { - if (mInited) - return captureInitFailed; deviceConfig = ma_device_config_init(ma_device_type_capture); deviceConfig.periodSizeInFrames = BUFFER_SIZE; if (deviceID != -1) diff --git a/web/init_recorder_module.dart b/web/init_recorder_module.dart index 71db47f..8b6c943 100644 --- a/web/init_recorder_module.dart +++ b/web/init_recorder_module.dart @@ -3,6 +3,16 @@ import 'dart:js_interop'; import 'dart:js_util'; +/// Module to initialized the WASM RecorderModule before the app starts. +/// It must be compiled with +/// `dart compile js -O3 -o init_recorder_module.dart.js ./init_recorder_module.dart` +/// and the resulting `init_recorder_module.dart.js` must be added as a script +/// in the `index.html` with also `libflutter_recorder_plugin.js`: +/// ```hmtl +/// +/// +/// ``` + @JS('RecorderModule') external JSObject getRecorderModule(); diff --git a/web/worker.dart.js b/web/worker.dart.js index 549500c..4ac2811 100644 --- a/web/worker.dart.js +++ b/web/worker.dart.js @@ -22,17 +22,17 @@ a[c]=function(){if(a[b]===s){a[b]=d()}a[c]=function(){return this[b]} return a[b]}}function lazyFinal(a,b,c,d){var s=a a[b]=s a[c]=function(){if(a[b]===s){var r=d() -if(a[b]!==s){A.he(b)}a[b]=r}var q=a[b] +if(a[b]!==s){A.h2(b)}a[b]=r}var q=a[b] a[c]=function(){return q} return q}}function makeConstList(a){a.$flags=7 return a}function convertToFastObject(a){function t(){}t.prototype=a new t() return a}function convertAllToFastObject(a){for(var s=0;s").u(d).i("ag<1,2>")) +eu(a,b,c,d){if(t.V.b(a))return new A.ag(a,b,c.i("@<0>").u(d).i("ag<1,2>")) return new A.T(a,b,c.i("@<0>").u(d).i("T<1,2>"))}, ap:function ap(a){this.a=a}, e:function e(){}, -O:function O(){}, +M:function M(){}, a_:function a_(a,b,c){var _=this _.a=a _.b=b @@ -149,7 +149,7 @@ this.$ti=c}, ag:function ag(a,b,c){this.a=a this.b=b this.$ti=c}, -b9:function b9(a,b,c){var _=this +b7:function b7(a,b,c){var _=this _.a=null _.b=a _.c=b @@ -158,10 +158,10 @@ C:function C(a,b,c){this.a=a this.b=b this.$ti=c}, ai:function ai(){}, -ef(a){var s=v.mangledGlobalNames[a] +e1(a){var s=v.mangledGlobalNames[a] if(s!=null)return s return"minified:"+a}, -hM(a,b){var s +hB(a,b){var s if(b!=null){s=b.x if(s!=null)return s}return t.p.b(a)}, p(a){var s @@ -169,57 +169,53 @@ if(typeof a=="string")return a if(typeof a=="number"){if(a!==0)return""+a}else if(!0===a)return"true" else if(!1===a)return"false" else if(a==null)return"null" -s=J.aX(a) +s=J.aV(a) return s}, -av(a){var s,r=$.dq -if(r==null)r=$.dq=Symbol("identityHashCode") +av(a){var s,r=$.dh +if(r==null)r=$.dh=Symbol("identityHashCode") s=a[r] if(s==null){s=Math.random()*0x3fffffff|0 a[r]=s}return s}, -bU(a){return A.eJ(a)}, -eJ(a){var s,r,q,p +bQ(a){return A.ev(a)}, +ev(a){var s,r,q,p if(a instanceof A.d)return A.t(A.af(a),null) s=J.ae(a) -if(s===B.n||s===B.r||t.o.b(a)){r=B.d(a) +if(s===B.n||s===B.r||t.o.b(a)){r=B.c(a) if(r!=="Object"&&r!=="")return r q=a.constructor if(typeof q=="function"){p=q.name if(typeof p=="string"&&p!=="Object"&&p!=="")return p}}return A.t(A.af(a),null)}, -eL(a){if(typeof a=="number"||A.cD(a))return J.aX(a) +ex(a){if(typeof a=="number"||A.cy(a))return J.aV(a) if(typeof a=="string")return JSON.stringify(a) if(a instanceof A.S)return a.h(0) -return"Instance of '"+A.bU(a)+"'"}, -eK(a){var s=a.$thrownJsError +return"Instance of '"+A.bQ(a)+"'"}, +ew(a){var s=a.$thrownJsError if(s==null)return null return A.I(s)}, -dr(a,b){var s -if(a.$thrownJsError==null){s=A.b(a) -a.$thrownJsError=s -s.stack=b.h(0)}}, -A(a,b){if(a==null)J.cT(a) -throw A.b(A.e7(a,b))}, -e7(a,b){var s,r="index" -if(!A.dW(b))return new A.z(!0,b,r,null) -s=J.cT(a) -if(b<0||b>=s)return A.eD(b,s,a,r) +A(a,b){if(a==null)J.cL(a) +throw A.b(A.dU(a,b))}, +dU(a,b){var s,r="index" +if(!A.dK(b))return new A.z(!0,b,r,null) +s=J.cL(a) +if(b<0||b>=s)return A.ep(b,s,a,r) return new A.aw(null,null,!0,b,r,"Value not in range")}, -b(a){return A.eb(new Error(),a)}, -eb(a,b){var s +b(a){return A.dY(new Error(),a)}, +dY(a,b){var s if(b==null)b=new A.E() a.dartException=b -s=A.hg +s=A.h4 if("defineProperty" in Object){Object.defineProperty(a,"message",{get:s}) a.name=""}else a.toString=s return a}, -hg(){return J.aX(this.dartException)}, -bG(a){throw A.b(a)}, -de(a,b){throw A.eb(b,a)}, -hf(a,b,c){var s +h4(){return J.aV(this.dartException)}, +bD(a){throw A.b(a)}, +d6(a,b){throw A.dY(b,a)}, +h3(a,b,c){var s if(b==null)b=0 if(c==null)c=0 s=Error() -A.de(A.fj(a,b,c),s)}, -fj(a,b,c){var s,r,q,p,o,n,m,l,k +A.d6(A.f8(a,b,c),s)}, +f8(a,b,c){var s,r,q,p,o,n,m,l,k if(typeof b=="string")s=b else{r="[]=;add;removeWhere;retainWhere;removeRange;setRange;setInt8;setInt16;setInt32;setUint8;setUint16;setUint32;setFloat32;setFloat64".split(";") q=r.length @@ -233,76 +229,76 @@ if((m&4)!==0)k="constant " else if((m&2)!==0){k="unmodifiable " l="an "}else k=(m&1)!==0?"fixed-length ":"" return new A.az("'"+s+"': Cannot "+o+" "+l+k+n)}, -hd(a){throw A.b(A.bJ(a))}, +h1(a){throw A.b(A.bG(a))}, F(a){var s,r,q,p,o,n -a=A.hc(a.replace(String({}),"$receiver$")) +a=A.h0(a.replace(String({}),"$receiver$")) s=a.match(/\\\$[a-zA-Z]+\\\$/g) -if(s==null)s=A.bF([],t.s) +if(s==null)s=A.bC([],t.s) r=s.indexOf("\\$arguments\\$") q=s.indexOf("\\$argumentsExpr\\$") p=s.indexOf("\\$expr\\$") o=s.indexOf("\\$method\\$") n=s.indexOf("\\$receiver\\$") -return new A.c_(a.replace(new RegExp("\\\\\\$arguments\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$","g"),"((?:x|[^x])*)"),r,q,p,o,n)}, -c0(a){return function($expr$){var $argumentsExpr$="$arguments$" +return new A.bV(a.replace(new RegExp("\\\\\\$arguments\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$","g"),"((?:x|[^x])*)"),r,q,p,o,n)}, +bW(a){return function($expr$){var $argumentsExpr$="$arguments$" try{$expr$.$method$($argumentsExpr$)}catch(s){return s.message}}(a)}, -dw(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)}, -cY(a,b){var s=b==null,r=s?null:b.method -return new A.b8(a,r,s?null:b.receiver)}, -K(a){if(a==null)return new A.bT(a) -if(a instanceof A.ah)return A.R(a,a.a) +dn(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)}, +cQ(a,b){var s=b==null,r=s?null:b.method +return new A.b6(a,r,s?null:b.receiver)}, +Q(a){if(a==null)return new A.bP(a) +if(a instanceof A.ah)return A.P(a,a.a) if(typeof a!=="object")return a -if("dartException" in a)return A.R(a,a.dartException) -return A.fP(a)}, -R(a,b){if(t.C.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a +if("dartException" in a)return A.P(a,a.dartException) +return A.fD(a)}, +P(a,b){if(t.Q.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a return b}, -fP(a){var s,r,q,p,o,n,m,l,k,j,i,h,g +fD(a){var s,r,q,p,o,n,m,l,k,j,i,h,g if(!("message" in a))return a s=a.message if("number" in a&&typeof a.number=="number"){r=a.number q=r&65535 -if((B.p.aH(r,16)&8191)===10)switch(q){case 438:return A.R(a,A.cY(A.p(s)+" (Error "+q+")",null)) +if((B.p.aE(r,16)&8191)===10)switch(q){case 438:return A.P(a,A.cQ(A.p(s)+" (Error "+q+")",null)) case 445:case 5007:A.p(s) -return A.R(a,new A.au())}}if(a instanceof TypeError){p=$.eg() -o=$.eh() -n=$.ei() -m=$.ej() -l=$.em() -k=$.en() -j=$.el() -$.ek() -i=$.ep() -h=$.eo() +return A.P(a,new A.au())}}if(a instanceof TypeError){p=$.e2() +o=$.e3() +n=$.e4() +m=$.e5() +l=$.e8() +k=$.e9() +j=$.e7() +$.e6() +i=$.eb() +h=$.ea() g=p.t(s) -if(g!=null)return A.R(a,A.cY(s,g)) +if(g!=null)return A.P(a,A.cQ(s,g)) else{g=o.t(s) if(g!=null){g.method="call" -return A.R(a,A.cY(s,g))}else if(n.t(s)!=null||m.t(s)!=null||l.t(s)!=null||k.t(s)!=null||j.t(s)!=null||m.t(s)!=null||i.t(s)!=null||h.t(s)!=null)return A.R(a,new A.au())}return A.R(a,new A.bo(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.ax() +return A.P(a,A.cQ(s,g))}else if(n.t(s)!=null||m.t(s)!=null||l.t(s)!=null||k.t(s)!=null||j.t(s)!=null||m.t(s)!=null||i.t(s)!=null||h.t(s)!=null)return A.P(a,new A.au())}return A.P(a,new A.bm(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.ax() s=function(b){try{return String(b)}catch(f){}return null}(a) -return A.R(a,new A.z(!1,null,null,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.ax() +return A.P(a,new A.z(!1,null,null,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.ax() return a}, I(a){var s if(a instanceof A.ah)return a.b -if(a==null)return new A.aM(a) +if(a==null)return new A.aL(a) s=a.$cachedTrace if(s!=null)return s -s=new A.aM(a) +s=new A.aL(a) if(typeof a==="object")a.$cachedTrace=s return s}, -db(a){if(a==null)return J.dh(a) +d4(a){if(a==null)return J.d9(a) if(typeof a=="object")return A.av(a) -return J.dh(a)}, -ft(a,b,c,d,e,f){switch(b){case 0:return a.$0() +return J.d9(a)}, +fg(a,b,c,d,e,f){switch(b){case 0:return a.$0() case 1:return a.$1(c) case 2:return a.$2(c,d) case 3:return a.$3(c,d,e) -case 4:return a.$4(c,d,e,f)}throw A.b(new A.cb("Unsupported number of arguments for wrapped closure"))}, -aV(a,b){var s=a.$identity +case 4:return a.$4(c,d,e,f)}throw A.b(new A.c6("Unsupported number of arguments for wrapped closure"))}, +cC(a,b){var s=a.$identity if(!!s)return s -s=A.fW(a,b) +s=A.fL(a,b) a.$identity=s return s}, -fW(a,b){var s +fL(a,b){var s switch(b){case 0:s=a.$0 break case 1:s=a.$1 @@ -314,10 +310,10 @@ break case 4:s=a.$4 break default:s=null}if(s!=null)return s.bind(a) -return function(c,d,e){return function(f,g,h,i){return e(c,d,f,g,h,i)}}(a,b,A.ft)}, -eA(a2){var s,r,q,p,o,n,m,l,k,j,i=a2.co,h=a2.iS,g=a2.iI,f=a2.nDA,e=a2.aI,d=a2.fs,c=a2.cs,b=d[0],a=c[0],a0=i[b],a1=a2.fT +return function(c,d,e){return function(f,g,h,i){return e(c,d,f,g,h,i)}}(a,b,A.fg)}, +em(a2){var s,r,q,p,o,n,m,l,k,j,i=a2.co,h=a2.iS,g=a2.iI,f=a2.nDA,e=a2.aI,d=a2.fs,c=a2.cs,b=d[0],a=c[0],a0=i[b],a1=a2.fT a1.toString -s=h?Object.create(new A.bW().constructor.prototype):Object.create(new A.b1(null,null).constructor.prototype) +s=h?Object.create(new A.bR().constructor.prototype):Object.create(new A.b_(null,null).constructor.prototype) s.$initialize=s.constructor r=h?function static_tear_off(){this.$initialize()}:function tear_off(a3,a4){this.$initialize(a3,a4)} s.constructor=r @@ -325,24 +321,24 @@ r.prototype=s s.$_name=b s.$_target=a0 q=!h -if(q)p=A.dn(b,a0,g,f) +if(q)p=A.df(b,a0,g,f) else{s.$static_name=b -p=a0}s.$S=A.ew(a1,h,g) +p=a0}s.$S=A.ei(a1,h,g) s[a]=p for(o=p,n=1;n>>0!==a||a>=c)throw A.b(A.e7(b,a))}, -ba:function ba(){}, +bq:function bq(a){this.a=a}, +bj:function bj(a){this.a=a}, +cE:function cE(a){this.a=a}, +cF:function cF(a){this.a=a}, +cG:function cG(a){this.a=a}, +X(a,b,c){if(a>>>0!==a||a>=c)throw A.b(A.dU(b,a))}, +b8:function b8(){}, as:function as(){}, -bb:function bb(){}, +b9:function b9(){}, a1:function a1(){}, aq:function aq(){}, ar:function ar(){}, +ba:function ba(){}, +bb:function bb(){}, bc:function bc(){}, bd:function bd(){}, be:function be(){}, bf:function bf(){}, bg:function bg(){}, -bh:function bh(){}, -bi:function bi(){}, at:function at(){}, -bj:function bj(){}, +bh:function bh(){}, +aG:function aG(){}, aH:function aH(){}, aI:function aI(){}, aJ:function aJ(){}, -aK:function aK(){}, -ds(a,b){var s=b.c -return s==null?b.c=A.d1(a,b.x,!0):s}, -cZ(a,b){var s=b.c -return s==null?b.c=A.aR(a,"Z",[b.x]):s}, -dt(a){var s=a.w -if(s===6||s===7||s===8)return A.dt(a.x) +di(a,b){var s=b.c +return s==null?b.c=A.cU(a,b.x,!0):s}, +cR(a,b){var s=b.c +return s==null?b.c=A.aQ(a,"Z",[b.x]):s}, +dj(a){var s=a.w +if(s===6||s===7||s===8)return A.dj(a.x) return s===12||s===13}, -eN(a){return a.as}, -e8(a){return A.bB(v.typeUniverse,a,!1)}, -Q(a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=a2.w +ez(a){return a.as}, +dV(a){return A.by(v.typeUniverse,a,!1)}, +O(a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=a2.w switch(a0){case 5:case 1:case 2:case 3:case 4:return a2 case 6:s=a2.x -r=A.Q(a1,s,a3,a4) +r=A.O(a1,s,a3,a4) if(r===s)return a2 -return A.dL(a1,r,!0) +return A.dD(a1,r,!0) case 7:s=a2.x -r=A.Q(a1,s,a3,a4) +r=A.O(a1,s,a3,a4) if(r===s)return a2 -return A.d1(a1,r,!0) +return A.cU(a1,r,!0) case 8:s=a2.x -r=A.Q(a1,s,a3,a4) +r=A.O(a1,s,a3,a4) if(r===s)return a2 -return A.dJ(a1,r,!0) +return A.dB(a1,r,!0) case 9:q=a2.y p=A.ac(a1,q,a3,a4) if(p===q)return a2 -return A.aR(a1,a2.x,p) +return A.aQ(a1,a2.x,p) case 10:o=a2.x -n=A.Q(a1,o,a3,a4) +n=A.O(a1,o,a3,a4) m=a2.y l=A.ac(a1,m,a3,a4) if(n===o&&l===m)return a2 -return A.d_(a1,n,l) +return A.cS(a1,n,l) case 11:k=a2.x j=a2.y i=A.ac(a1,j,a3,a4) if(i===j)return a2 -return A.dK(a1,k,i) +return A.dC(a1,k,i) case 12:h=a2.x -g=A.Q(a1,h,a3,a4) +g=A.O(a1,h,a3,a4) f=a2.y -e=A.fM(a1,f,a3,a4) +e=A.fA(a1,f,a3,a4) if(g===h&&e===f)return a2 -return A.dI(a1,g,e) +return A.dA(a1,g,e) case 13:d=a2.y a4+=d.length c=A.ac(a1,d,a3,a4) o=a2.x -n=A.Q(a1,o,a3,a4) +n=A.O(a1,o,a3,a4) if(c===d&&n===o)return a2 -return A.d0(a1,n,c,!0) +return A.cT(a1,n,c,!0) case 14:b=a2.x if(b=0)p+=" "+r[q];++q}return p+"})"}, -dU(a4,a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=", ",a3=null +dI(a4,a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=", ",a3=null if(a6!=null){s=a6.length -if(a5==null)a5=A.bF([],t.s) +if(a5==null)a5=A.bC([],t.s) else a3=a5.length r=a5.length for(q=s;q>0;--q)a5.push("T"+(r+q)) @@ -791,57 +787,57 @@ if(l===7){s=a.x r=A.t(s,b) q=s.w return(q===12||q===13?"("+r+")":r)+"?"}if(l===8)return"FutureOr<"+A.t(a.x,b)+">" -if(l===9){p=A.fO(a.x) +if(l===9){p=A.fC(a.x) o=a.y -return o.length>0?p+("<"+A.e1(o,b)+">"):p}if(l===11)return A.fG(a,b) -if(l===12)return A.dU(a,b,null) -if(l===13)return A.dU(a.x,b,a.y) +return o.length>0?p+("<"+A.dP(o,b)+">"):p}if(l===11)return A.fu(a,b) +if(l===12)return A.dI(a,b,null) +if(l===13)return A.dI(a.x,b,a.y) if(l===14){n=a.x m=b.length n=m-1-n if(!(n>=0&&n0)p+="<"+A.aQ(c)+">" +aQ(a,b,c){var s,r,q,p=b +if(c.length>0)p+="<"+A.aP(c)+">" s=a.eC.get(p) if(s!=null)return s r=new A.x(null,null) @@ -924,10 +920,10 @@ r.as=p q=A.G(a,r) a.eC.set(p,q) return q}, -d_(a,b,c){var s,r,q,p,o,n +cS(a,b,c){var s,r,q,p,o,n if(b.w===10){s=b.x r=b.y.concat(c)}else{r=c -s=b}q=s.as+(";<"+A.aQ(r)+">") +s=b}q=s.as+(";<"+A.aP(r)+">") p=a.eC.get(q) if(p!=null)return p o=new A.x(null,null) @@ -938,7 +934,7 @@ o.as=q n=A.G(a,o) a.eC.set(q,n) return n}, -dK(a,b,c){var s,r,q="+"+(b+"("+A.aQ(c)+")"),p=a.eC.get(q) +dC(a,b,c){var s,r,q="+"+(b+"("+A.aP(c)+")"),p=a.eC.get(q) if(p!=null)return p s=new A.x(null,null) s.w=11 @@ -948,10 +944,10 @@ s.as=q r=A.G(a,s) a.eC.set(q,r) return r}, -dI(a,b,c){var s,r,q,p,o,n=b.as,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.aQ(m) +dA(a,b,c){var s,r,q,p,o,n=b.as,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.aP(m) if(j>0){s=l>0?",":"" -g+=s+"["+A.aQ(k)+"]"}if(h>0){s=l>0?",":"" -g+=s+"{"+A.f4(i)+"}"}r=n+(g+")") +g+=s+"["+A.aP(k)+"]"}if(h>0){s=l>0?",":"" +g+=s+"{"+A.eR(i)+"}"}r=n+(g+")") q=a.eC.get(r) if(q!=null)return q p=new A.x(null,null) @@ -962,72 +958,72 @@ p.as=r o=A.G(a,p) a.eC.set(r,o) return o}, -d0(a,b,c,d){var s,r=b.as+("<"+A.aQ(c)+">"),q=a.eC.get(r) +cT(a,b,c,d){var s,r=b.as+("<"+A.aP(c)+">"),q=a.eC.get(r) if(q!=null)return q -s=A.f6(a,b,c,r,d) +s=A.eT(a,b,c,r,d) a.eC.set(r,s) return s}, -f6(a,b,c,d,e){var s,r,q,p,o,n,m,l +eT(a,b,c,d,e){var s,r,q,p,o,n,m,l if(e){s=c.length -r=A.cy(s) +r=A.ct(s) for(q=0,p=0;p0){n=A.Q(a,b,r,0) +if(o.w===1){r[p]=o;++q}}if(q>0){n=A.O(a,b,r,0) m=A.ac(a,c,r,0) -return A.d0(a,n,m,c!==m)}}l=new A.x(null,null) +return A.cT(a,n,m,c!==m)}}l=new A.x(null,null) l.w=13 l.x=b l.y=c l.as=d return A.G(a,l)}, -dE(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}}, -dG(a){var s,r,q,p,o,n,m,l=a.r,k=a.s +dw(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}}, +dy(a){var s,r,q,p,o,n,m,l=a.r,k=a.s for(s=l.length,r=0;r=48&&q<=57)r=A.eY(r+1,q,l,k) -else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.dF(a,r,l,k,!1) -else if(q===46)r=A.dF(a,r,l,k,!0) +if(q>=48&&q<=57)r=A.eK(r+1,q,l,k) +else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.dx(a,r,l,k,!1) +else if(q===46)r=A.dx(a,r,l,k,!0) else{++r switch(q){case 44:break case 58:k.push(!1) break case 33:k.push(!0) break -case 59:k.push(A.P(a.u,a.e,k.pop())) +case 59:k.push(A.N(a.u,a.e,k.pop())) break -case 94:k.push(A.f9(a.u,k.pop())) +case 94:k.push(A.eW(a.u,k.pop())) break -case 35:k.push(A.aS(a.u,5,"#")) +case 35:k.push(A.aR(a.u,5,"#")) break -case 64:k.push(A.aS(a.u,2,"@")) +case 64:k.push(A.aR(a.u,2,"@")) break -case 126:k.push(A.aS(a.u,3,"~")) +case 126:k.push(A.aR(a.u,3,"~")) break case 60:k.push(a.p) a.p=k.length break -case 62:A.f_(a,k) +case 62:A.eM(a,k) break -case 38:A.eZ(a,k) +case 38:A.eL(a,k) break case 42:p=a.u -k.push(A.dL(p,A.P(p,a.e,k.pop()),a.n)) +k.push(A.dD(p,A.N(p,a.e,k.pop()),a.n)) break case 63:p=a.u -k.push(A.d1(p,A.P(p,a.e,k.pop()),a.n)) +k.push(A.cU(p,A.N(p,a.e,k.pop()),a.n)) break case 47:p=a.u -k.push(A.dJ(p,A.P(p,a.e,k.pop()),a.n)) +k.push(A.dB(p,A.N(p,a.e,k.pop()),a.n)) break case 40:k.push(-3) k.push(a.p) a.p=k.length break -case 41:A.eX(a,k) +case 41:A.eJ(a,k) break case 91:k.push(a.p) a.p=k.length break case 93:o=k.splice(a.p) -A.dH(a.u,a.e,o) +A.dz(a.u,a.e,o) a.p=k.pop() k.push(o) k.push(-1) @@ -1036,7 +1032,7 @@ case 123:k.push(a.p) a.p=k.length break case 125:o=k.splice(a.p) -A.f1(a.u,a.e,o) +A.eO(a.u,a.e,o) a.p=k.pop() k.push(o) k.push(-2) @@ -1049,13 +1045,13 @@ a.p=k.length r=n+1 break default:throw"Bad character "+q}}}m=k.pop() -return A.P(a.u,a.e,m)}, -eY(a,b,c,d){var s,r,q=b-48 +return A.N(a.u,a.e,m)}, +eK(a,b,c,d){var s,r,q=b-48 for(s=c.length;a=48&&r<=57))break q=q*10+(r-48)}d.push(q) return a}, -dF(a,b,c,d,e){var s,r,q,p,o,n,m=b+1 +dx(a,b,c,d,e){var s,r,q,p,o,n,m=b+1 for(s=c.length;m>>0)-97&65535)<26||r===95||r===36||r===124))q=r>=48&&r<=57 @@ -1064,55 +1060,55 @@ if(!q)break}}p=c.substring(b,m) if(e){s=a.u o=a.e if(o.w===10)o=o.x -n=A.fe(s,o.x)[p] -if(n==null)A.bG('No "'+p+'" in "'+A.eN(o)+'"') -d.push(A.cx(s,o,n))}else d.push(p) +n=A.f0(s,o.x)[p] +if(n==null)A.bD('No "'+p+'" in "'+A.ez(o)+'"') +d.push(A.cs(s,o,n))}else d.push(p) return m}, -f_(a,b){var s,r=a.u,q=A.dD(a,b),p=b.pop() -if(typeof p=="string")b.push(A.aR(r,p,q)) -else{s=A.P(r,a.e,p) -switch(s.w){case 12:b.push(A.d0(r,s,q,a.n)) +eM(a,b){var s,r=a.u,q=A.dv(a,b),p=b.pop() +if(typeof p=="string")b.push(A.aQ(r,p,q)) +else{s=A.N(r,a.e,p) +switch(s.w){case 12:b.push(A.cT(r,s,q,a.n)) break -default:b.push(A.d_(r,s,q)) +default:b.push(A.cS(r,s,q)) break}}}, -eX(a,b){var s,r,q,p=a.u,o=b.pop(),n=null,m=null +eJ(a,b){var s,r,q,p=a.u,o=b.pop(),n=null,m=null if(typeof o=="number")switch(o){case-1:n=b.pop() break case-2:m=b.pop() break default:b.push(o) break}else b.push(o) -s=A.dD(a,b) +s=A.dv(a,b) o=b.pop() switch(o){case-3:o=b.pop() if(n==null)n=p.sEA if(m==null)m=p.sEA -r=A.P(p,a.e,o) -q=new A.bw() +r=A.N(p,a.e,o) +q=new A.bt() q.a=s q.b=n q.c=m -b.push(A.dI(p,r,q)) +b.push(A.dA(p,r,q)) return -case-4:b.push(A.dK(p,b.pop(),s)) +case-4:b.push(A.dC(p,b.pop(),s)) return -default:throw A.b(A.b0("Unexpected state under `()`: "+A.p(o)))}}, -eZ(a,b){var s=b.pop() -if(0===s){b.push(A.aS(a.u,1,"0&")) -return}if(1===s){b.push(A.aS(a.u,4,"1&")) -return}throw A.b(A.b0("Unexpected extended operation "+A.p(s)))}, -dD(a,b){var s=b.splice(a.p) -A.dH(a.u,a.e,s) +default:throw A.b(A.aZ("Unexpected state under `()`: "+A.p(o)))}}, +eL(a,b){var s=b.pop() +if(0===s){b.push(A.aR(a.u,1,"0&")) +return}if(1===s){b.push(A.aR(a.u,4,"1&")) +return}throw A.b(A.aZ("Unexpected extended operation "+A.p(s)))}, +dv(a,b){var s=b.splice(a.p) +A.dz(a.u,a.e,s) a.p=b.pop() return s}, -P(a,b,c){if(typeof c=="string")return A.aR(a,c,a.sEA) +N(a,b,c){if(typeof c=="string")return A.aQ(a,c,a.sEA) else if(typeof c=="number"){b.toString -return A.f0(a,b,c)}else return c}, -dH(a,b,c){var s,r=c.length -for(s=0;s0?new Array(q):v.typeUniverse.sEA -for(o=0;o0?new Array(a):v.typeUniverse.sEA}, +ct(a){return a>0?new Array(a):v.typeUniverse.sEA}, x:function x(a,b){var _=this _.a=a _.b=b _.r=_.f=_.d=_.c=null _.w=0 _.as=_.Q=_.z=_.y=_.x=null}, -bw:function bw(){this.c=this.b=this.a=null}, -cw:function cw(a){this.a=a}, -bv:function bv(){}, -aP:function aP(a){this.a=a}, -eQ(){var s,r,q={} -if(self.scheduleImmediate!=null)return A.fQ() +bt:function bt(){this.c=this.b=this.a=null}, +cr:function cr(a){this.a=a}, +bs:function bs(){}, +aO:function aO(a){this.a=a}, +eC(){var s,r,q={} +if(self.scheduleImmediate!=null)return A.fF() if(self.MutationObserver!=null&&self.document!=null){s=self.document.createElement("div") r=self.document.createElement("span") q.a=null -new self.MutationObserver(A.aV(new A.c8(q),1)).observe(s,{childList:true}) -return new A.c7(q,s,r)}else if(self.setImmediate!=null)return A.fR() -return A.fS()}, -eR(a){self.scheduleImmediate(A.aV(new A.c9(a),0))}, -eS(a){self.setImmediate(A.aV(new A.ca(a),0))}, -eT(a){A.f2(0,a)}, -f2(a,b){var s=new A.cu() -s.ao(a,b) +new self.MutationObserver(A.cC(new A.c3(q),1)).observe(s,{childList:true}) +return new A.c2(q,s,r)}else if(self.setImmediate!=null)return A.fG() +return A.fH()}, +eD(a){self.scheduleImmediate(A.cC(new A.c4(a),0))}, +eE(a){self.setImmediate(A.cC(new A.c5(a),0))}, +eF(a){A.eP(0,a)}, +eP(a,b){var s=new A.cp() +s.al(a,b) return s}, -dY(a){return new A.bp(new A.m($.h,a.i("m<0>")),a.i("bp<0>"))}, -dR(a,b){a.$2(0,null) +fr(a){return new A.bn(new A.o($.k,a.i("o<0>")),a.i("bn<0>"))}, +f5(a,b){a.$2(0,null) b.b=!0 return b.a}, -dO(a,b){A.fh(a,b)}, -dQ(a,b){b.W(a)}, -dP(a,b){b.X(A.K(a),A.I(a))}, -fh(a,b){var s,r,q=new A.cB(b),p=new A.cC(b) -if(a instanceof A.m)a.ae(q,p,t.z) +hA(a,b){A.f6(a,b)}, +f4(a,b){var s,r=a==null?b.$ti.c.a(a):a +if(!b.b)b.a.a2(r) +else{s=b.a +if(b.$ti.i("Z<1>").b(r))s.a4(r) +else s.L(r)}}, +f3(a,b){var s=A.Q(a),r=A.I(a),q=b.a +if(b.b)q.v(s,r) +else q.K(s,r)}, +f6(a,b){var s,r,q=new A.cw(b),p=new A.cx(b) +if(a instanceof A.o)a.ac(q,p,t.z) else{s=t.z -if(a instanceof A.m)a.a1(q,p,s) -else{r=new A.m($.h,t.d) +if(a instanceof A.o)a.Z(q,p,s) +else{r=new A.o($.k,t.d) r.a=8 r.c=a -r.ae(q,p,s)}}}, -e3(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e) +r.ac(q,p,s)}}}, +fE(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e) break}catch(r){e=r d=c}}}}(a,1) -return $.h.a_(new A.cF(s))}, -cU(a){var s -if(t.C.b(a)){s=a.gB() -if(s!=null)return s}return B.b}, -fr(a,b){if($.h===B.a)return null -return null}, -fs(a,b){if($.h!==B.a)A.fr(a,b) -if(b==null)if(t.C.b(a)){b=a.gB() -if(b==null){A.dr(a,B.b) -b=B.b}}else b=B.b -else if(t.C.b(a))A.dr(a,b) -return new A.L(a,b)}, -dA(a,b){var s,r +return $.k.X(new A.cA(s))}, +cM(a){var s +if(t.Q.b(a)){s=a.gH() +if(s!=null)return s}return B.m}, +ds(a,b){var s,r for(;s=a.a,(s&4)!==0;)a=a.c -if(a===b){b.C(new A.z(!0,a,null,"Cannot complete a future with itself"),A.du()) +if(a===b){b.K(new A.z(!0,a,null,"Cannot complete a future with itself"),A.dk()) return}s|=b.a&1 a.a=s -if((s&24)!==0){r=b.E() -b.D(a) +if((s&24)!==0){r=b.C() +b.B(a) A.a8(b,r)}else{r=b.c -b.ac(a) -a.U(r)}}, -eV(a,b){var s,r,q={},p=q.a=a +b.aa(a) +a.T(r)}}, +eH(a,b){var s,r,q={},p=q.a=a for(;s=p.a,(s&4)!==0;){p=p.c -q.a=p}if(p===b){b.C(new A.z(!0,p,null,"Cannot complete a future with itself"),A.du()) +q.a=p}if(p===b){b.K(new A.z(!0,p,null,"Cannot complete a future with itself"),A.dk()) return}if((s&24)===0){r=b.c -b.ac(p) -q.a.U(r) -return}if((s&16)===0&&b.c==null){b.D(p) +b.aa(p) +q.a.T(r) +return}if((s&16)===0&&b.c==null){b.B(p) return}b.a^=2 -A.ab(null,null,b.b,new A.cf(q,b))}, +A.ab(null,null,b.b,new A.ca(q,b))}, a8(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g={},f=g.a=a for(;!0;){s={} r=f.a q=(r&16)===0 p=!q if(b==null){if(p&&(r&1)===0){f=f.c -A.bD(f.a,f.b)}return}s.a=b +A.bA(f.a,f.b)}return}s.a=b o=b.a for(f=b;o!=null;f=o,o=n){f.a=null A.a8(g.a,f) @@ -1333,116 +1327,116 @@ l=(l&1)!==0||(l&15)===8}else l=!0 if(l){k=f.b.b if(p){r=r.b===k r=!(r||r)}else r=!1 -if(r){A.bD(m.a,m.b) -return}j=$.h -if(j!==k)$.h=k +if(r){A.bA(m.a,m.b) +return}j=$.k +if(j!==k)$.k=k else j=null f=f.c -if((f&15)===8)new A.cm(s,g,p).$0() -else if(q){if((f&1)!==0)new A.cl(s,m).$0()}else if((f&2)!==0)new A.ck(g,s).$0() -if(j!=null)$.h=j +if((f&15)===8)new A.ch(s,g,p).$0() +else if(q){if((f&1)!==0)new A.cg(s,m).$0()}else if((f&2)!==0)new A.cf(g,s).$0() +if(j!=null)$.k=j f=s.c -if(f instanceof A.m){r=s.a.$ti +if(f instanceof A.o){r=s.a.$ti r=r.i("Z<2>").b(f)||!r.y[1].b(f)}else r=!1 if(r){i=s.a.b if((f.a&24)!==0){h=i.c i.c=null -b=i.F(h) +b=i.D(h) i.a=f.a&30|i.a&1 i.c=f.c g.a=f -continue}else A.dA(f,i) +continue}else A.ds(f,i) return}}i=s.a.b h=i.c i.c=null -b=i.F(h) +b=i.D(h) f=s.b r=s.c if(!f){i.a=8 i.c=r}else{i.a=i.a&1|16 i.c=r}g.a=i f=i}}, -fH(a,b){if(t.Q.b(a))return b.a_(a) +fv(a,b){if(t.C.b(a))return b.X(a) if(t.v.b(a))return a -throw A.b(A.di(a,"onError",u.c))}, -fE(){var s,r -for(s=$.aa;s!=null;s=$.aa){$.aU=null +throw A.b(A.da(a,"onError",u.c))}, +fs(){var s,r +for(s=$.aa;s!=null;s=$.aa){$.aT=null r=s.b $.aa=r -if(r==null)$.aT=null +if(r==null)$.aS=null s.a.$0()}}, -fK(){$.d3=!0 -try{A.fE()}finally{$.aU=null -$.d3=!1 -if($.aa!=null)$.dg().$1(A.e5())}}, -e2(a){var s=new A.bq(a),r=$.aT -if(r==null){$.aa=$.aT=s -if(!$.d3)$.dg().$1(A.e5())}else $.aT=r.b=s}, -fJ(a){var s,r,q,p=$.aa -if(p==null){A.e2(a) -$.aU=$.aT -return}s=new A.bq(a) -r=$.aU +fy(){$.cW=!0 +try{A.fs()}finally{$.aT=null +$.cW=!1 +if($.aa!=null)$.d8().$1(A.dS())}}, +dQ(a){var s=new A.bo(a),r=$.aS +if(r==null){$.aa=$.aS=s +if(!$.cW)$.d8().$1(A.dS())}else $.aS=r.b=s}, +fx(a){var s,r,q,p=$.aa +if(p==null){A.dQ(a) +$.aT=$.aS +return}s=new A.bo(a) +r=$.aT if(r==null){s.b=p -$.aa=$.aU=s}else{q=r.b +$.aa=$.aT=s}else{q=r.b s.b=q -$.aU=r.b=s -if(q==null)$.aT=s}}, -dd(a){var s=null,r=$.h +$.aT=r.b=s +if(q==null)$.aS=s}}, +d5(a){var s=null,r=$.k if(B.a===r){A.ab(s,s,B.a,a) -return}A.ab(s,s,r,r.ag(a))}, -hl(a){A.d4(a,"stream",t.K) -return new A.bz()}, -bE(a){return}, -eU(a,b,c,d,e){var s=$.h,r=e?1:0,q=c!=null?32:0 -A.dy(s,c) +return}A.ab(s,s,r,r.ae(a))}, +h9(a){A.cX(a,"stream",t.K) +return new A.bw()}, +bB(a){return}, +eG(a,b,c,d,e){var s=$.k,r=e?1:0,q=c!=null?32:0 +A.dq(s,c) return new A.a5(a,b,s,r|q)}, -dy(a,b){if(b==null)b=A.fT() -if(t.f.b(b))return a.a_(b) +dq(a,b){if(b==null)b=A.fI() +if(t.f.b(b))return a.X(b) if(t.u.b(b))return b -throw A.b(A.aY("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.",null))}, -fF(a,b){A.bD(a,b)}, -bD(a,b){A.fJ(new A.cE(a,b))}, -e_(a,b,c,d){var s,r=$.h +throw A.b(A.aW("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.",null))}, +ft(a,b){A.bA(a,b)}, +bA(a,b){A.fx(new A.cz(a,b))}, +dN(a,b,c,d){var s,r=$.k if(r===c)return d.$0() -$.h=c +$.k=c s=r try{r=d.$0() -return r}finally{$.h=s}}, -e0(a,b,c,d,e){var s,r=$.h +return r}finally{$.k=s}}, +dO(a,b,c,d,e){var s,r=$.k if(r===c)return d.$1(e) -$.h=c +$.k=c s=r try{r=d.$1(e) -return r}finally{$.h=s}}, -fI(a,b,c,d,e,f){var s,r=$.h +return r}finally{$.k=s}}, +fw(a,b,c,d,e,f){var s,r=$.k if(r===c)return d.$2(e,f) -$.h=c +$.k=c s=r try{r=d.$2(e,f) -return r}finally{$.h=s}}, -ab(a,b,c,d){if(B.a!==c)d=c.ag(d) -A.e2(d)}, -c8:function c8(a){this.a=a}, -c7:function c7(a,b,c){this.a=a +return r}finally{$.k=s}}, +ab(a,b,c,d){if(B.a!==c)d=c.ae(d) +A.dQ(d)}, +c3:function c3(a){this.a=a}, +c2:function c2(a,b,c){this.a=a this.b=b this.c=c}, -c9:function c9(a){this.a=a}, -ca:function ca(a){this.a=a}, -cu:function cu(){}, -cv:function cv(a,b){this.a=a +c4:function c4(a){this.a=a}, +c5:function c5(a){this.a=a}, +cp:function cp(){}, +cq:function cq(a,b){this.a=a this.b=b}, -bp:function bp(a,b){this.a=a +bn:function bn(a,b){this.a=a this.b=!1 this.$ti=b}, -cB:function cB(a){this.a=a}, -cC:function cC(a){this.a=a}, -cF:function cF(a){this.a=a}, -L:function L(a,b){this.a=a +cw:function cw(a){this.a=a}, +cx:function cx(a){this.a=a}, +cA:function cA(a){this.a=a}, +R:function R(a,b){this.a=a this.b=b}, -aB:function aB(a,b){this.a=a +aA:function aA(a,b){this.a=a this.$ti=b}, -aC:function aC(a,b,c,d){var _=this +aB:function aB(a,b,c,d){var _=this _.ay=0 _.CW=_.ch=null _.w=a @@ -1451,17 +1445,14 @@ _.d=c _.e=d _.r=null}, a4:function a4(){}, -aO:function aO(a,b,c){var _=this +aN:function aN(a,b,c){var _=this _.a=a _.b=b _.c=0 _.e=_.d=null _.$ti=c}, -ct:function ct(a,b){this.a=a +co:function co(a,b){this.a=a this.b=b}, -bs:function bs(){}, -aA:function aA(a,b){this.a=a -this.$ti=b}, a7:function a7(a,b,c,d,e){var _=this _.a=null _.b=a @@ -1469,45 +1460,45 @@ _.c=b _.d=c _.e=d _.$ti=e}, -m:function m(a,b){var _=this +o:function o(a,b){var _=this _.a=0 _.b=a _.c=null _.$ti=b}, -cc:function cc(a,b){this.a=a +c7:function c7(a,b){this.a=a this.b=b}, -cj:function cj(a,b){this.a=a +ce:function ce(a,b){this.a=a this.b=b}, -cg:function cg(a){this.a=a}, -ch:function ch(a){this.a=a}, -ci:function ci(a,b,c){this.a=a +cb:function cb(a){this.a=a}, +cc:function cc(a){this.a=a}, +cd:function cd(a,b,c){this.a=a this.b=b this.c=c}, -cf:function cf(a,b){this.a=a +ca:function ca(a,b){this.a=a this.b=b}, -ce:function ce(a,b){this.a=a +c9:function c9(a,b){this.a=a this.b=b}, -cd:function cd(a,b,c){this.a=a +c8:function c8(a,b,c){this.a=a this.b=b this.c=c}, -cm:function cm(a,b,c){this.a=a +ch:function ch(a,b,c){this.a=a this.b=b this.c=c}, -cn:function cn(a){this.a=a}, -cl:function cl(a,b){this.a=a +ci:function ci(a){this.a=a}, +cg:function cg(a,b){this.a=a this.b=b}, -ck:function ck(a,b){this.a=a +cf:function cf(a,b){this.a=a this.b=b}, -bq:function bq(a){this.a=a +bo:function bo(a){this.a=a this.b=null}, a2:function a2(){}, -bX:function bX(a,b){this.a=a +bS:function bS(a,b){this.a=a this.b=b}, -bY:function bY(a,b){this.a=a +bT:function bT(a,b){this.a=a this.b=b}, -by:function by(){}, -cs:function cs(a){this.a=a}, -br:function br(){}, +bv:function bv(){}, +cn:function cn(a){this.a=a}, +bp:function bp(){}, a3:function a3(a,b,c,d){var _=this _.a=null _.b=0 @@ -1524,107 +1515,107 @@ _.d=c _.e=d _.r=null}, V:function V(){}, -aN:function aN(){}, -bu:function bu(){}, +aM:function aM(){}, +br:function br(){}, a6:function a6(a){this.b=a this.a=null}, -aL:function aL(){this.a=0 +aK:function aK(){this.a=0 this.c=this.b=null}, -cp:function cp(a,b){this.a=a +ck:function ck(a,b){this.a=a this.b=b}, -aD:function aD(a){this.a=1 +aC:function aC(a){this.a=1 this.b=a this.c=null}, -bz:function bz(){}, -cz:function cz(){}, -cE:function cE(a,b){this.a=a +bw:function bw(){}, +cu:function cu(){}, +cz:function cz(a,b){this.a=a this.b=b}, -cq:function cq(){}, -cr:function cr(a,b){this.a=a +cl:function cl(){}, +cm:function cm(a,b){this.a=a this.b=b}, -dB(a,b){var s=a[b] +dt(a,b){var s=a[b] return s===a?null:s}, -dC(a,b,c){if(c==null)a[b]=a +du(a,b,c){if(c==null)a[b]=a else a[b]=c}, -eW(){var s=Object.create(null) -A.dC(s,"",s) +eI(){var s=Object.create(null) +A.du(s,"",s) delete s[""] return s}, -eH(a){var s,r={} -if(A.d9(a))return"{...}" -s=new A.bm("") +et(a){var s,r={} +if(A.d1(a))return"{...}" +s=new A.bk("") try{$.w.push(a) s.a+="{" r.a=!0 -a.ai(0,new A.bR(r,s)) +a.af(0,new A.bO(r,s)) s.a+="}"}finally{if(0>=$.w.length)return A.A($.w,-1) $.w.pop()}r=s.a return r.charCodeAt(0)==0?r:r}, -aE:function aE(){}, -aG:function aG(a){var _=this +aD:function aD(){}, +aF:function aF(a){var _=this _.a=0 _.e=_.d=_.c=_.b=null _.$ti=a}, -aF:function aF(a,b){this.a=a +aE:function aE(a,b){this.a=a this.$ti=b}, -bx:function bx(a,b,c){var _=this +bu:function bu(a,b,c){var _=this _.a=a _.b=b _.c=0 _.d=null _.$ti=c}, -k:function k(){}, +j:function j(){}, a0:function a0(){}, -bR:function bR(a,b){this.a=a +bO:function bO(a,b){this.a=a this.b=b}, -eB(a,b){a=A.b(a) +en(a,b){a=A.b(a) a.stack=b.h(0) throw a throw A.b("unreachable")}, -eG(a,b,c){var s,r -if(a>4294967295)A.bG(A.eM(a,0,4294967295,"length",null)) -s=A.bF(new Array(a),c.i("u<0>")) +es(a,b,c){var s,r +if(a>4294967295)A.bD(A.ey(a,0,4294967295,"length",null)) +s=A.bC(new Array(a),c.i("u<0>")) s.$flags=1 r=s return r}, -dv(a,b,c){var s=J.er(b) +dm(a,b,c){var s=J.ed(b) if(!s.l())return a if(c.length===0){do a+=A.p(s.gm()) while(s.l())}else{a+=A.p(s.gm()) for(;s.l();)a=a+c+A.p(s.gm())}return a}, -du(){return A.I(new Error())}, -bK(a){if(typeof a=="number"||A.cD(a)||a==null)return J.aX(a) +dk(){return A.I(new Error())}, +bH(a){if(typeof a=="number"||A.cy(a)||a==null)return J.aV(a) if(typeof a=="string")return JSON.stringify(a) -return A.eL(a)}, -eC(a,b){A.d4(a,"error",t.K) -A.d4(b,"stackTrace",t.l) -A.eB(a,b)}, -b0(a){return new A.b_(a)}, -aY(a,b){return new A.z(!1,null,b,a)}, -di(a,b,c){return new A.z(!0,a,b,c)}, -eM(a,b,c,d,e){return new A.aw(b,c,!0,a,d,"Invalid value")}, -eD(a,b,c,d){return new A.b3(b,!0,a,d,"Index out of range")}, -eO(a){return new A.az(a)}, -dx(a){return new A.bn(a)}, -bV(a){return new A.D(a)}, -bJ(a){return new A.b2(a)}, -eE(a,b,c){var s,r -if(A.d9(a)){if(b==="("&&c===")")return"(...)" -return b+"..."+c}s=A.bF([],t.s) +return A.ex(a)}, +eo(a,b){A.cX(a,"error",t.K) +A.cX(b,"stackTrace",t.l) +A.en(a,b)}, +aZ(a){return new A.aY(a)}, +aW(a,b){return new A.z(!1,null,b,a)}, +da(a,b,c){return new A.z(!0,a,b,c)}, +ey(a,b,c,d,e){return new A.aw(b,c,!0,a,d,"Invalid value")}, +ep(a,b,c,d){return new A.b1(b,!0,a,d,"Index out of range")}, +eA(a){return new A.az(a)}, +dp(a){return new A.bl(a)}, +dl(a){return new A.D(a)}, +bG(a){return new A.b0(a)}, +eq(a,b,c){var s,r +if(A.d1(a)){if(b==="("&&c===")")return"(...)" +return b+"..."+c}s=A.bC([],t.s) $.w.push(a) -try{A.fD(a,s)}finally{if(0>=$.w.length)return A.A($.w,-1) -$.w.pop()}r=A.dv(b,s,", ")+c +try{A.fq(a,s)}finally{if(0>=$.w.length)return A.A($.w,-1) +$.w.pop()}r=A.dm(b,s,", ")+c return r.charCodeAt(0)==0?r:r}, -dp(a,b,c){var s,r -if(A.d9(a))return b+"..."+c -s=new A.bm(b) +dg(a,b,c){var s,r +if(A.d1(a))return b+"..."+c +s=new A.bk(b) $.w.push(a) try{r=s -r.a=A.dv(r.a,a,", ")}finally{if(0>=$.w.length)return A.A($.w,-1) +r.a=A.dm(r.a,a,", ")}finally{if(0>=$.w.length)return A.A($.w,-1) $.w.pop()}s.a+=c r=s.a return r.charCodeAt(0)==0?r:r}, -fD(a,b){var s,r,q,p,o,n,m,l=a.gq(a),k=0,j=0 +fq(a,b){var s,r,q,p,o,n,m,l=a.gq(a),k=0,j=0 while(!0){if(!(k<80||j<3))break if(!l.l())return s=A.p(l.gm()) @@ -1654,9 +1645,8 @@ if(m==null){k+=5 m="..."}}if(m!=null)b.push(m) b.push(q) b.push(r)}, -dc(a){A.ha(a)}, l:function l(){}, -b_:function b_(a){this.a=a}, +aY:function aY(a){this.a=a}, E:function E(){}, z:function z(a,b,c,d){var _=this _.a=a @@ -1670,106 +1660,70 @@ _.a=c _.b=d _.c=e _.d=f}, -b3:function b3(a,b,c,d,e){var _=this +b1:function b1(a,b,c,d,e){var _=this _.f=a _.a=b _.b=c _.c=d _.d=e}, az:function az(a){this.a=a}, -bn:function bn(a){this.a=a}, +bl:function bl(a){this.a=a}, D:function D(a){this.a=a}, -b2:function b2(a){this.a=a}, +b0:function b0(a){this.a=a}, ax:function ax(){}, -cb:function cb(a){this.a=a}, +c6:function c6(a){this.a=a}, c:function c(){}, q:function q(){}, d:function d(){}, -bA:function bA(){}, -bm:function bm(a){this.a=a}, -fi(a,b,c){if(c>=1)return a.$1(b) +bx:function bx(){}, +bk:function bk(a){this.a=a}, +f7(a,b,c){if(c>=1)return a.$1(b) return a.$0()}, -dZ(a){return a==null||A.cD(a)||typeof a=="number"||typeof a=="string"||t.U.b(a)||t.E.b(a)||t.e.b(a)||t.O.b(a)||t.D.b(a)||t.k.b(a)||t.w.b(a)||t.B.b(a)||t.q.b(a)||t.J.b(a)||t.Y.b(a)}, -h6(a){if(A.dZ(a))return a -return new A.cN(new A.aG(t.F)).$1(a)}, -hb(a,b){var s=new A.m($.h,b.i("m<0>")),r=new A.aA(s,b.i("aA<0>")) -a.then(A.aV(new A.cR(r),1),A.aV(new A.cS(r),1)) -return s}, -cN:function cN(a){this.a=a}, -cR:function cR(a){this.a=a}, -cS:function cS(a){this.a=a}, -bS:function bS(a){this.a=a}, -cL(){var s=0,r=A.dY(t.m),q,p=2,o,n,m,l,k,j,i -var $async$cL=A.e3(function(a,b){if(a===1){o=b -s=p}while(true)switch(s){case 0:p=4 -k=self -n=k.RecorderModule() -s=7 -return A.dO(A.hb(n,t.m),$async$cL) -case 7:m=b -k.self.RecorderModule=m -A.dc("RecorderModule initialized and set globally.") -q=m -s=1 -break -p=2 -s=6 -break -case 4:p=3 -i=o -l=A.K(i) -A.dc("Failed to initialize RecorderModule: "+A.p(l)) -throw i -s=6 -break -case 3:s=2 -break -case 6:case 1:return A.dQ(q,r) -case 2:return A.dP(o,r)}}) -return A.dR($async$cL,r)}, -fV(a,b,c,d,e){var s,r=e.i("aO<0>"),q=new A.aO(null,null,r),p=new A.cG(q,c,d) -if(typeof p=="function")A.bG(A.aY("Attempting to rewrap a JS function.",null)) -s=function(f,g){return function(h){return f(g,h,arguments.length)}}(A.fi,p) -s[$.df()]=p +dM(a){return a==null||A.cy(a)||typeof a=="number"||typeof a=="string"||t.U.b(a)||t.E.b(a)||t.e.b(a)||t.O.b(a)||t.D.b(a)||t.k.b(a)||t.w.b(a)||t.B.b(a)||t.q.b(a)||t.J.b(a)||t.Y.b(a)}, +fW(a){if(A.dM(a))return a +return new A.cI(new A.aF(t.F)).$1(a)}, +cI:function cI(a){this.a=a}, +fK(a,b,c,d,e){var s,r=e.i("aN<0>"),q=new A.aN(null,null,r),p=new A.cB(q,c,d) +if(typeof p=="function")A.bD(A.aW("Attempting to rewrap a JS function.",null)) +s=function(f,g){return function(h){return f(g,h,arguments.length)}}(A.f7,p) +s[$.d7()]=p a[b]=s -return new A.aB(q,r.i("aB<1>"))}, -eP(){var s=new A.c5() -s.an() +return new A.aA(q,r.i("aA<1>"))}, +eB(){var s=new A.c0() +s.ak() return s}, -cO(){var s=0,r=A.dY(t.n),q,p -var $async$cO=A.e3(function(a,b){if(a===1)return A.dP(b,r) -while(true)switch(s){case 0:s=2 -return A.dO(A.cL(),$async$cO) -case 2:q=A.eP() +d2(){var s=0,r=A.fr(t.n),q,p +var $async$d2=A.fE(function(a,b){if(a===1)return A.f3(b,r) +while(true)switch(s){case 0:q=A.eB() p=q.a -p===$&&A.ee() -new A.W(p,A.a9(p).i("W<1>")).aM(new A.cP(q)) -return A.dQ(null,r)}}) -return A.dR($async$cO,r)}, -cG:function cG(a,b,c){this.a=a +p===$&&A.e0() +new A.W(p,A.a9(p).i("W<1>")).aJ(new A.cJ(q)) +return A.f4(null,r)}}) +return A.f5($async$d2,r)}, +cB:function cB(a,b,c){this.a=a this.b=b this.c=c}, -c5:function c5(){this.a=$}, -c6:function c6(a){this.a=a}, -cP:function cP(a){this.a=a}, -ha(a){if(typeof dartPrint=="function"){dartPrint(a) +c0:function c0(){this.a=$}, +c1:function c1(a){this.a=a}, +cJ:function cJ(a){this.a=a}, +h_(a){if(typeof dartPrint=="function"){dartPrint(a) return}if(typeof console=="object"&&typeof console.log!="undefined"){console.log(a) return}if(typeof print=="function"){print(a) return}throw"Unable to print message: "+String(a)}, -he(a){A.de(new A.ap("Field '"+a+"' has been assigned during initialization."),new Error())}, -ee(){A.de(new A.ap("Field '' has not been initialized."),new Error())}, -eF(a,b,c,d,e,f){var s +h2(a){A.d6(new A.ap("Field '"+a+"' has been assigned during initialization."),new Error())}, +e0(){A.d6(new A.ap("Field '' has not been initialized."),new Error())}, +er(a,b,c,d,e,f){var s if(c==null)return a[b]() else{s=a[b](c) return s}}},B={} var w=[A,J,B] var $={} -A.cX.prototype={} -J.b4.prototype={ +A.cP.prototype={} +J.b2.prototype={ gn(a){return A.av(a)}, -h(a){return"Instance of '"+A.bU(a)+"'"}, -gk(a){return A.Y(A.d2(this))}} -J.b5.prototype={ +h(a){return"Instance of '"+A.bQ(a)+"'"}, +gk(a){return A.Y(A.cV(this))}} +J.b3.prototype={ h(a){return String(a)}, gn(a){return a?519018:218159}, gk(a){return A.Y(t.y)}, @@ -1779,16 +1733,16 @@ h(a){return"null"}, gn(a){return 0}, $if:1, $iq:1} -J.an.prototype={$io:1} -J.N.prototype={ +J.an.prototype={$in:1} +J.L.prototype={ gn(a){return 0}, h(a){return String(a)}} -J.bk.prototype={} +J.bi.prototype={} J.ay.prototype={} -J.M.prototype={ -h(a){var s=a[$.df()] -if(s==null)return this.al(a) -return"JavaScript function for "+J.aX(s)}} +J.K.prototype={ +h(a){var s=a[$.d7()] +if(s==null)return this.ai(a) +return"JavaScript function for "+J.aV(s)}} J.am.prototype={ gn(a){return 0}, h(a){return String(a)}} @@ -1796,31 +1750,31 @@ J.ao.prototype={ gn(a){return 0}, h(a){return String(a)}} J.u.prototype={ -aJ(a,b){var s -a.$flags&1&&A.hf(a,"addAll",2) +aG(a,b){var s +a.$flags&1&&A.h3(a,"addAll",2) for(s=b.gq(b);s.l();)a.push(s.gm())}, -H(a,b,c){return new A.C(a,b,A.cA(a).i("@<1>").u(c).i("C<1,2>"))}, -G(a,b){if(!(b").u(c).i("C<1,2>"))}, +E(a,b){if(!(b"))}, +h(a){return A.dg(a,"[","]")}, +gq(a){return new J.aX(a,a.length,A.cv(a).i("aX<1>"))}, gn(a){return A.av(a)}, gj(a){return a.length}, $ie:1, $ic:1, -$ij:1} -J.bQ.prototype={} -J.aZ.prototype={ +$ii:1} +J.bN.prototype={} +J.aX.prototype={ gm(){var s=this.d return s==null?this.$ti.c.a(s):s}, l(){var s,r=this,q=r.a,p=q.length -if(r.b!==p)throw A.b(A.hd(q)) +if(r.b!==p)throw A.b(A.h1(q)) s=r.c if(s>=p){r.d=null return!1}r.d=q[s] r.c=s+1 return!0}} -J.b7.prototype={ +J.b5.prototype={ h(a){if(a===0&&1/a<0)return"-0.0" else return""+a}, gn(a){var s,r,q,p,o=a|0 @@ -1830,18 +1784,18 @@ r=Math.log(s)/0.6931471805599453|0 q=Math.pow(2,r) p=s<1?s/q:q/s return((p*9007199254740992|0)+(p*3542243181176521|0))*599197+r*1259&536870911}, -aH(a,b){var s -if(a>0)s=this.aG(a,b) +aE(a,b){var s +if(a>0)s=this.aD(a,b) else{s=b>31?31:b s=a>>s>>>0}return s}, -aG(a,b){return b>31?0:a>>>b}, +aD(a,b){return b>31?0:a>>>b}, gk(a){return A.Y(t.H)}, -$ii:1} +$ih:1} J.aj.prototype={ gk(a){return A.Y(t.S)}, $if:1, $ia:1} -J.b6.prototype={ +J.b4.prototype={ gk(a){return A.Y(t.i)}, $if:1} J.al.prototype={ @@ -1859,25 +1813,25 @@ $iU:1} A.ap.prototype={ h(a){return"LateInitializationError: "+this.a}} A.e.prototype={} -A.O.prototype={ -gq(a){return new A.a_(this,this.gj(0),this.$ti.i("a_"))}, -H(a,b,c){return new A.C(this,b,this.$ti.i("@").u(c).i("C<1,2>"))}} +A.M.prototype={ +gq(a){return new A.a_(this,this.gj(0),this.$ti.i("a_"))}, +F(a,b,c){return new A.C(this,b,this.$ti.i("@").u(c).i("C<1,2>"))}} A.a_.prototype={ gm(){var s=this.d return s==null?this.$ti.c.a(s):s}, -l(){var s,r=this,q=r.a,p=J.e9(q),o=p.gj(q) -if(r.b!==o)throw A.b(A.bJ(q)) +l(){var s,r=this,q=r.a,p=J.dW(q),o=p.gj(q) +if(r.b!==o)throw A.b(A.bG(q)) s=r.c if(s>=o){r.d=null -return!1}r.d=p.G(q,s);++r.c +return!1}r.d=p.E(q,s);++r.c return!0}} A.T.prototype={ gq(a){var s=this.a -return new A.b9(s.gq(s),this.b,A.a9(this).i("b9<1,2>"))}, +return new A.b7(s.gq(s),this.b,A.a9(this).i("b7<1,2>"))}, gj(a){var s=this.a return s.gj(s)}} A.ag.prototype={$ie:1} -A.b9.prototype={ +A.b7.prototype={ l(){var s=this,r=s.b if(r.l()){s.a=s.c.$1(r.gm()) return!0}s.a=null @@ -1885,10 +1839,10 @@ return!1}, gm(){var s=this.a return s==null?this.$ti.y[1].a(s):s}} A.C.prototype={ -gj(a){return J.cT(this.a)}, -G(a,b){return this.b.$1(J.eq(this.a,b))}} +gj(a){return J.cL(this.a)}, +E(a,b){return this.b.$1(J.ec(this.a,b))}} A.ai.prototype={} -A.c_.prototype={ +A.bV.prototype={ t(a){var s,r,q=this,p=new RegExp(q.a).exec(a) if(p==null)return null s=Object.create(null) @@ -1905,19 +1859,19 @@ if(r!==-1)s.receiver=p[r+1] return s}} A.au.prototype={ h(a){return"Null check operator used on a null value"}} -A.b8.prototype={ +A.b6.prototype={ h(a){var s,r=this,q="NoSuchMethodError: method not found: '",p=r.b if(p==null)return"NoSuchMethodError: "+r.a s=r.c if(s==null)return q+p+"' ("+r.a+")" return q+p+"' on '"+s+"' ("+r.a+")"}} -A.bo.prototype={ +A.bm.prototype={ h(a){var s=this.a return s.length===0?"Error":"Error: "+s}} -A.bT.prototype={ +A.bP.prototype={ h(a){return"Throw of null ('"+(this.a===null?"null":"undefined")+"' from JavaScript)"}} A.ah.prototype={} -A.aM.prototype={ +A.aL.prototype={ h(a){var s,r=this.b if(r!=null)return r r=this.a @@ -1926,43 +1880,43 @@ return this.b=s==null?"":s}, $iy:1} A.S.prototype={ h(a){var s=this.constructor,r=s==null?null:s.name -return"Closure '"+A.ef(r==null?"unknown":r)+"'"}, -gaY(){return this}, +return"Closure '"+A.e1(r==null?"unknown":r)+"'"}, +gaV(){return this}, $C:"$1", $R:1, $D:null} -A.bH.prototype={$C:"$0",$R:0} -A.bI.prototype={$C:"$2",$R:2} -A.bZ.prototype={} -A.bW.prototype={ +A.bE.prototype={$C:"$0",$R:0} +A.bF.prototype={$C:"$2",$R:2} +A.bU.prototype={} +A.bR.prototype={ h(a){var s=this.$static_name if(s==null)return"Closure of unknown static method" -return"Closure '"+A.ef(s)+"'"}} -A.b1.prototype={ -gn(a){return(A.db(this.a)^A.av(this.$_target))>>>0}, -h(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.bU(this.a)+"'")}} -A.bt.prototype={ +return"Closure '"+A.e1(s)+"'"}} +A.b_.prototype={ +gn(a){return(A.d4(this.a)^A.av(this.$_target))>>>0}, +h(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.bQ(this.a)+"'")}} +A.bq.prototype={ h(a){return"Reading static variable '"+this.a+"' during its initialization"}} -A.bl.prototype={ +A.bj.prototype={ h(a){return"RuntimeError: "+this.a}} -A.cI.prototype={ +A.cE.prototype={ $1(a){return this.a(a)}, $S:6} -A.cJ.prototype={ +A.cF.prototype={ $2(a,b){return this.a(a,b)}, $S:7} -A.cK.prototype={ +A.cG.prototype={ $1(a){return this.a(a)}, $S:8} -A.ba.prototype={ +A.b8.prototype={ gk(a){return B.t}, $if:1, -$icV:1} +$icN:1} A.as.prototype={} -A.bb.prototype={ +A.b9.prototype={ gk(a){return B.u}, $if:1, -$icW:1} +$icO:1} A.a1.prototype={ gj(a){return a.length}, $iv:1} @@ -1971,135 +1925,126 @@ p(a,b){A.X(b,a,a.length) return a[b]}, $ie:1, $ic:1, -$ij:1} -A.ar.prototype={$ie:1,$ic:1,$ij:1} -A.bc.prototype={ +$ii:1} +A.ar.prototype={$ie:1,$ic:1,$ii:1} +A.ba.prototype={ gk(a){return B.v}, $if:1, -$ibL:1} -A.bd.prototype={ +$ibI:1} +A.bb.prototype={ gk(a){return B.w}, $if:1, -$ibM:1} -A.be.prototype={ +$ibJ:1} +A.bc.prototype={ gk(a){return B.x}, p(a,b){A.X(b,a,a.length) return a[b]}, $if:1, -$ibN:1} -A.bf.prototype={ +$ibK:1} +A.bd.prototype={ gk(a){return B.y}, p(a,b){A.X(b,a,a.length) return a[b]}, $if:1, -$ibO:1} -A.bg.prototype={ +$ibL:1} +A.be.prototype={ gk(a){return B.z}, p(a,b){A.X(b,a,a.length) return a[b]}, $if:1, -$ibP:1} -A.bh.prototype={ +$ibM:1} +A.bf.prototype={ gk(a){return B.A}, p(a,b){A.X(b,a,a.length) return a[b]}, $if:1, -$ic1:1} -A.bi.prototype={ +$ibX:1} +A.bg.prototype={ gk(a){return B.B}, p(a,b){A.X(b,a,a.length) return a[b]}, $if:1, -$ic2:1} +$ibY:1} A.at.prototype={ gk(a){return B.C}, gj(a){return a.length}, p(a,b){A.X(b,a,a.length) return a[b]}, $if:1, -$ic3:1} -A.bj.prototype={ +$ibZ:1} +A.bh.prototype={ gk(a){return B.D}, gj(a){return a.length}, p(a,b){A.X(b,a,a.length) return a[b]}, $if:1, -$ic4:1} +$ic_:1} +A.aG.prototype={} A.aH.prototype={} A.aI.prototype={} A.aJ.prototype={} -A.aK.prototype={} A.x.prototype={ -i(a){return A.cx(v.typeUniverse,this,a)}, -u(a){return A.fc(v.typeUniverse,this,a)}} -A.bw.prototype={} -A.cw.prototype={ +i(a){return A.cs(v.typeUniverse,this,a)}, +u(a){return A.eZ(v.typeUniverse,this,a)}} +A.bt.prototype={} +A.cr.prototype={ h(a){return A.t(this.a,null)}} -A.bv.prototype={ +A.bs.prototype={ h(a){return this.a}} -A.aP.prototype={$iE:1} -A.c8.prototype={ +A.aO.prototype={$iE:1} +A.c3.prototype={ $1(a){var s=this.a,r=s.a s.a=null r.$0()}, -$S:3} -A.c7.prototype={ +$S:2} +A.c2.prototype={ $1(a){var s,r this.a.a=a s=this.b r=this.c s.firstChild?s.removeChild(r):s.appendChild(r)}, $S:9} -A.c9.prototype={ +A.c4.prototype={ $0(){this.a.$0()}, -$S:4} -A.ca.prototype={ +$S:3} +A.c5.prototype={ $0(){this.a.$0()}, -$S:4} -A.cu.prototype={ -ao(a,b){if(self.setTimeout!=null)self.setTimeout(A.aV(new A.cv(this,b),0),a) -else throw A.b(A.eO("`setTimeout()` not found."))}} -A.cv.prototype={ +$S:3} +A.cp.prototype={ +al(a,b){if(self.setTimeout!=null)self.setTimeout(A.cC(new A.cq(this,b),0),a) +else throw A.b(A.eA("`setTimeout()` not found."))}} +A.cq.prototype={ $0(){this.b.$0()}, $S:0} -A.bp.prototype={ -W(a){var s,r=this -if(a==null)a=r.$ti.c.a(a) -if(!r.b)r.a.L(a) -else{s=r.a -if(r.$ti.i("Z<1>").b(a))s.a6(a) -else s.M(a)}}, -X(a,b){var s=this.a -if(this.b)s.v(a,b) -else s.C(a,b)}} -A.cB.prototype={ +A.bn.prototype={} +A.cw.prototype={ $1(a){return this.a.$2(0,a)}, -$S:1} -A.cC.prototype={ +$S:4} +A.cx.prototype={ $2(a,b){this.a.$2(1,new A.ah(a,b))}, $S:10} -A.cF.prototype={ +A.cA.prototype={ $2(a,b){this.a(a,b)}, $S:11} -A.L.prototype={ +A.R.prototype={ h(a){return A.p(this.a)}, $il:1, -gB(){return this.b}} -A.aB.prototype={} -A.aC.prototype={ -S(){}, -T(){}} +gH(){return this.b}} +A.aA.prototype={} +A.aB.prototype={ +R(){}, +S(){}} A.a4.prototype={ -gR(){return this.c<4}, -ad(a,b,c,d){var s,r,q,p,o,n=this -if((n.c&4)!==0){s=new A.aD($.h) -A.dd(s.gaB()) +gP(){return this.c<4}, +ab(a,b,c,d){var s,r,q,p,o,n=this +if((n.c&4)!==0){s=new A.aC($.k) +A.d5(s.gaw()) if(c!=null)s.c=c -return s}s=$.h +return s}s=$.k r=d?1:0 q=b!=null?32:0 -A.dy(s,b) -p=new A.aC(n,a,s,r|q) +A.dq(s,b) +p=new A.aB(n,a,s,r|q) p.CW=p p.ch=p p.ay=n.c&1 @@ -2109,14 +2054,14 @@ p.ch=null p.CW=o if(o==null)n.d=p else o.ch=p -if(n.d===p)A.bE(n.a) +if(n.d===p)A.bB(n.a) return p}, -aa(a){}, -ab(a){}, -J(){if((this.c&4)!==0)return new A.D("Cannot add new events after calling close") +a8(a){}, +a9(a){}, +I(){if((this.c&4)!==0)return new A.D("Cannot add new events after calling close") return new A.D("Cannot add new events while doing an addStream")}, -az(a){var s,r,q,p,o=this,n=o.c -if((n&2)!==0)throw A.b(A.bV(u.g)) +au(a){var s,r,q,p,o=this,n=o.c +if((n&2)!==0)throw A.b(A.dl(u.g)) s=o.d if(s==null)return r=n&1 @@ -2134,65 +2079,55 @@ else q.CW=p s.CW=s s.ch=s}s.ay=n&4294967293 s=q}else s=s.ch}o.c&=4294967293 -if(o.d==null)o.a5()}, -a5(){if((this.c&4)!==0)if(null.gaZ())null.L(null) -A.bE(this.b)}} -A.aO.prototype={ -gR(){return A.a4.prototype.gR.call(this)&&(this.c&2)===0}, -J(){if((this.c&2)!==0)return new A.D(u.g) -return this.am()}, +if(o.d==null)o.a3()}, +a3(){if((this.c&4)!==0)if(null.gaW())null.a2(null) +A.bB(this.b)}} +A.aN.prototype={ +gP(){return A.a4.prototype.gP.call(this)&&(this.c&2)===0}, +I(){if((this.c&2)!==0)return new A.D(u.g) +return this.aj()}, A(a){var s=this,r=s.d if(r==null)return if(r===s.e){s.c|=2 -r.a3(a) +r.a0(a) s.c&=4294967293 -if(s.d==null)s.a5() -return}s.az(new A.ct(s,a))}} -A.ct.prototype={ -$1(a){a.a3(this.b)}, +if(s.d==null)s.a3() +return}s.au(new A.co(s,a))}} +A.co.prototype={ +$1(a){a.a0(this.b)}, $S(){return this.a.$ti.i("~(V<1>)")}} -A.bs.prototype={ -X(a,b){var s,r=this.a -if((r.a&30)!==0)throw A.b(A.bV("Future already completed")) -s=A.fs(a,b) -r.C(s.a,s.b)}, -ah(a){return this.X(a,null)}} -A.aA.prototype={ -W(a){var s=this.a -if((s.a&30)!==0)throw A.b(A.bV("Future already completed")) -s.L(a)}} A.a7.prototype={ -aN(a){if((this.c&15)!==6)return!0 -return this.b.b.a0(this.d,a.a)}, -aL(a){var s,r=this.e,q=null,p=a.a,o=this.b.b -if(t.Q.b(r))q=o.aS(r,p,a.b) -else q=o.a0(r,p) +aK(a){if((this.c&15)!==6)return!0 +return this.b.b.Y(this.d,a.a)}, +aI(a){var s,r=this.e,q=null,p=a.a,o=this.b.b +if(t.C.b(r))q=o.aP(r,p,a.b) +else q=o.Y(r,p) try{p=q -return p}catch(s){if(t.c.b(A.K(s))){if((this.c&1)!==0)throw A.b(A.aY("The error handler of Future.then must return a value of the returned future's type","onError")) -throw A.b(A.aY("The error handler of Future.catchError must return a value of the future's type","onError"))}else throw s}}} -A.m.prototype={ -ac(a){this.a=this.a&1|4 +return p}catch(s){if(t.c.b(A.Q(s))){if((this.c&1)!==0)throw A.b(A.aW("The error handler of Future.then must return a value of the returned future's type","onError")) +throw A.b(A.aW("The error handler of Future.catchError must return a value of the future's type","onError"))}else throw s}}} +A.o.prototype={ +aa(a){this.a=this.a&1|4 this.c=a}, -a1(a,b,c){var s,r,q=$.h -if(q===B.a){if(b!=null&&!t.Q.b(b)&&!t.v.b(b))throw A.b(A.di(b,"onError",u.c))}else if(b!=null)b=A.fH(b,q) -s=new A.m(q,c.i("m<0>")) +Z(a,b,c){var s,r,q=$.k +if(q===B.a){if(b!=null&&!t.C.b(b)&&!t.v.b(b))throw A.b(A.da(b,"onError",u.c))}else if(b!=null)b=A.fv(b,q) +s=new A.o(q,c.i("o<0>")) r=b==null?1:3 -this.K(new A.a7(s,r,a,b,this.$ti.i("@<1>").u(c).i("a7<1,2>"))) +this.J(new A.a7(s,r,a,b,this.$ti.i("@<1>").u(c).i("a7<1,2>"))) return s}, -aX(a,b){return this.a1(a,null,b)}, -ae(a,b,c){var s=new A.m($.h,c.i("m<0>")) -this.K(new A.a7(s,19,a,b,this.$ti.i("@<1>").u(c).i("a7<1,2>"))) +aU(a,b){return this.Z(a,null,b)}, +ac(a,b,c){var s=new A.o($.k,c.i("o<0>")) +this.J(new A.a7(s,19,a,b,this.$ti.i("@<1>").u(c).i("a7<1,2>"))) return s}, -aE(a){this.a=this.a&1|16 +aB(a){this.a=this.a&1|16 this.c=a}, -D(a){this.a=a.a&30|this.a&1 +B(a){this.a=a.a&30|this.a&1 this.c=a.c}, -K(a){var s=this,r=s.a +J(a){var s=this,r=s.a if(r<=3){a.a=s.c s.c=a}else{if((r&4)!==0){r=s.c -if((r.a&24)===0){r.K(a) -return}s.D(r)}A.ab(null,null,s.b,new A.cc(s,a))}}, -U(a){var s,r,q,p,o,n=this,m={} +if((r.a&24)===0){r.J(a) +return}s.B(r)}A.ab(null,null,s.b,new A.c7(s,a))}}, +T(a){var s,r,q,p,o,n=this,m={} m.a=a if(a==null)return s=n.a @@ -2201,196 +2136,196 @@ n.c=a if(r!=null){q=a.a for(p=a;q!=null;p=q,q=o)o=q.a p.a=r}}else{if((s&4)!==0){s=n.c -if((s.a&24)===0){s.U(a) -return}n.D(s)}m.a=n.F(a) -A.ab(null,null,n.b,new A.cj(m,n))}}, -E(){var s=this.c +if((s.a&24)===0){s.T(a) +return}n.B(s)}m.a=n.D(a) +A.ab(null,null,n.b,new A.ce(m,n))}}, +C(){var s=this.c this.c=null -return this.F(s)}, -F(a){var s,r,q +return this.D(s)}, +D(a){var s,r,q for(s=a,r=null;s!=null;r=s,s=q){q=s.a s.a=r}return r}, -ar(a){var s,r,q,p=this +ao(a){var s,r,q,p=this p.a^=2 -try{a.a1(new A.cg(p),new A.ch(p),t.P)}catch(q){s=A.K(q) +try{a.Z(new A.cb(p),new A.cc(p),t.P)}catch(q){s=A.Q(q) r=A.I(q) -A.dd(new A.ci(p,s,r))}}, -M(a){var s=this,r=s.E() +A.d5(new A.cd(p,s,r))}}, +L(a){var s=this,r=s.C() s.a=8 s.c=a A.a8(s,r)}, -v(a,b){var s=this.E() -this.aE(new A.L(a,b)) +v(a,b){var s=this.C() +this.aB(new A.R(a,b)) A.a8(this,s)}, -L(a){if(this.$ti.i("Z<1>").b(a)){this.a6(a) -return}this.ap(a)}, -ap(a){this.a^=2 -A.ab(null,null,this.b,new A.ce(this,a))}, -a6(a){if(this.$ti.b(a)){A.eV(a,this) -return}this.ar(a)}, -C(a,b){this.a^=2 -A.ab(null,null,this.b,new A.cd(this,a,b))}, +a2(a){if(this.$ti.i("Z<1>").b(a)){this.a4(a) +return}this.am(a)}, +am(a){this.a^=2 +A.ab(null,null,this.b,new A.c9(this,a))}, +a4(a){if(this.$ti.b(a)){A.eH(a,this) +return}this.ao(a)}, +K(a,b){this.a^=2 +A.ab(null,null,this.b,new A.c8(this,a,b))}, $iZ:1} -A.cc.prototype={ +A.c7.prototype={ $0(){A.a8(this.a,this.b)}, $S:0} -A.cj.prototype={ +A.ce.prototype={ $0(){A.a8(this.b,this.a.a)}, $S:0} -A.cg.prototype={ +A.cb.prototype={ $1(a){var s,r,q,p=this.a p.a^=2 -try{p.M(p.$ti.c.a(a))}catch(q){s=A.K(q) +try{p.L(p.$ti.c.a(a))}catch(q){s=A.Q(q) r=A.I(q) p.v(s,r)}}, -$S:3} -A.ch.prototype={ +$S:2} +A.cc.prototype={ $2(a,b){this.a.v(a,b)}, $S:12} -A.ci.prototype={ +A.cd.prototype={ $0(){this.a.v(this.b,this.c)}, $S:0} -A.cf.prototype={ -$0(){A.dA(this.a.a,this.b)}, +A.ca.prototype={ +$0(){A.ds(this.a.a,this.b)}, $S:0} -A.ce.prototype={ -$0(){this.a.M(this.b)}, +A.c9.prototype={ +$0(){this.a.L(this.b)}, $S:0} -A.cd.prototype={ +A.c8.prototype={ $0(){this.a.v(this.b,this.c)}, $S:0} -A.cm.prototype={ +A.ch.prototype={ $0(){var s,r,q,p,o,n,m,l=this,k=null try{q=l.a.a -k=q.b.b.aQ(q.d)}catch(p){s=A.K(p) +k=q.b.b.aN(q.d)}catch(p){s=A.Q(p) r=A.I(p) if(l.c&&l.b.a.c.a===s){q=l.a q.c=l.b.a.c}else{q=s o=r -if(o==null)o=A.cU(q) +if(o==null)o=A.cM(q) n=l.a -n.c=new A.L(q,o) +n.c=new A.R(q,o) q=n}q.b=!0 -return}if(k instanceof A.m&&(k.a&24)!==0){if((k.a&16)!==0){q=l.a +return}if(k instanceof A.o&&(k.a&24)!==0){if((k.a&16)!==0){q=l.a q.c=k.c -q.b=!0}return}if(k instanceof A.m){m=l.b.a +q.b=!0}return}if(k instanceof A.o){m=l.b.a q=l.a -q.c=k.aX(new A.cn(m),t.z) +q.c=k.aU(new A.ci(m),t.z) q.b=!1}}, $S:0} -A.cn.prototype={ +A.ci.prototype={ $1(a){return this.a}, $S:13} -A.cl.prototype={ +A.cg.prototype={ $0(){var s,r,q,p,o,n try{q=this.a p=q.a -q.c=p.b.b.a0(p.d,this.b)}catch(o){s=A.K(o) +q.c=p.b.b.Y(p.d,this.b)}catch(o){s=A.Q(o) r=A.I(o) q=s p=r -if(p==null)p=A.cU(q) +if(p==null)p=A.cM(q) n=this.a -n.c=new A.L(q,p) +n.c=new A.R(q,p) n.b=!0}}, $S:0} -A.ck.prototype={ +A.cf.prototype={ $0(){var s,r,q,p,o,n,m,l=this try{s=l.a.a.c p=l.b -if(p.a.aN(s)&&p.a.e!=null){p.c=p.a.aL(s) -p.b=!1}}catch(o){r=A.K(o) +if(p.a.aK(s)&&p.a.e!=null){p.c=p.a.aI(s) +p.b=!1}}catch(o){r=A.Q(o) q=A.I(o) p=l.a.a.c if(p.a===r){n=l.b n.c=p p=n}else{p=r n=q -if(n==null)n=A.cU(p) +if(n==null)n=A.cM(p) m=l.b -m.c=new A.L(p,n) +m.c=new A.R(p,n) p=m}p.b=!0}}, $S:0} -A.bq.prototype={} +A.bo.prototype={} A.a2.prototype={ -gj(a){var s={},r=new A.m($.h,t.a) +gj(a){var s={},r=new A.o($.k,t.a) s.a=0 -this.aj(new A.bX(s,this),!0,new A.bY(s,r),r.gau()) +this.ag(new A.bS(s,this),!0,new A.bT(s,r),r.gap()) return r}} -A.bX.prototype={ +A.bS.prototype={ $1(a){++this.a.a}, $S(){return A.a9(this.b).i("~(1)")}} -A.bY.prototype={ -$0(){var s=this.b,r=this.a.a,q=s.E() +A.bT.prototype={ +$0(){var s=this.b,r=this.a.a,q=s.C() s.a=8 s.c=r A.a8(s,q)}, $S:0} -A.by.prototype={ -gaD(){if((this.b&8)===0)return this.a -return this.a.gV()}, -aw(){var s,r=this +A.bv.prototype={ +gaA(){if((this.b&8)===0)return this.a +return this.a.gU()}, +ar(){var s,r=this if((r.b&8)===0){s=r.a -return s==null?r.a=new A.aL():s}s=r.a.gV() +return s==null?r.a=new A.aK():s}s=r.a.gU() return s}, -gaI(){var s=this.a -return(this.b&8)!==0?s.gV():s}, -aq(){if((this.b&4)!==0)return new A.D("Cannot add event after closing") +gaF(){var s=this.a +return(this.b&8)!==0?s.gU():s}, +an(){if((this.b&4)!==0)return new A.D("Cannot add event after closing") return new A.D("Cannot add event while adding a stream")}, -ad(a,b,c,d){var s,r,q,p,o=this -if((o.b&3)!==0)throw A.b(A.bV("Stream has already been listened to.")) -s=A.eU(o,a,b,c,d) -r=o.gaD() +ab(a,b,c,d){var s,r,q,p,o=this +if((o.b&3)!==0)throw A.b(A.dl("Stream has already been listened to.")) +s=A.eG(o,a,b,c,d) +r=o.gaA() q=o.b|=1 if((q&8)!==0){p=o.a -p.sV(s) -p.aP()}else o.a=s -s.aF(r) +p.sU(s) +p.aM()}else o.a=s +s.aC(r) q=s.e s.e=q|64 -new A.cs(o).$0() +new A.cn(o).$0() s.e&=4294967231 -s.a7((q&4)!==0) +s.a5((q&4)!==0) return s}, -aa(a){if((this.b&8)!==0)this.a.b_() -A.bE(this.e)}, -ab(a){if((this.b&8)!==0)this.a.aP() -A.bE(this.f)}} -A.cs.prototype={ -$0(){A.bE(this.a.d)}, +a8(a){if((this.b&8)!==0)this.a.aX() +A.bB(this.e)}, +a9(a){if((this.b&8)!==0)this.a.aM() +A.bB(this.f)}} +A.cn.prototype={ +$0(){A.bB(this.a.d)}, $S:0} -A.br.prototype={ -A(a){this.gaI().a4(new A.a6(a))}} +A.bp.prototype={ +A(a){this.gaF().a1(new A.a6(a))}} A.a3.prototype={} A.W.prototype={ gn(a){return(A.av(this.a)^892482866)>>>0}} A.a5.prototype={ -S(){this.w.aa(this)}, -T(){this.w.ab(this)}} +R(){this.w.a8(this)}, +S(){this.w.a9(this)}} A.V.prototype={ -aF(a){if(a==null)return +aC(a){if(a==null)return this.r=a if(a.c!=null){this.e|=128 -a.I(this)}}, -a3(a){var s=this.e +a.G(this)}}, +a0(a){var s=this.e if((s&8)!==0)return if(s<64)this.A(a) -else this.a4(new A.a6(a))}, +else this.a1(new A.a6(a))}, +R(){}, S(){}, -T(){}, -a4(a){var s,r=this,q=r.r -if(q==null)q=r.r=new A.aL() -q.af(0,a) +a1(a){var s,r=this,q=r.r +if(q==null)q=r.r=new A.aK() +q.ad(0,a) s=r.e if((s&128)===0){s|=128 r.e=s -if(s<256)q.I(r)}}, +if(s<256)q.G(r)}}, A(a){var s=this,r=s.e s.e=r|64 -s.d.aW(s.a,a) +s.d.aT(s.a,a) s.e&=4294967231 -s.a7((r&4)!==0)}, -a7(a){var s,r,q=this,p=q.e +s.a5((r&4)!==0)}, +a5(a){var s,r,q=this,p=q.e if((p&128)!==0&&q.r.c==null){p=q.e=p&4294967167 s=!1 if((p&4)!==0)if(p<256){s=q.r @@ -2400,24 +2335,24 @@ q.e=p}}for(;!0;a=r){if((p&8)!==0){q.r=null return}r=(p&4)!==0 if(a===r)break q.e=p^64 -if(r)q.S() -else q.T() -p=q.e&=4294967231}if((p&128)!==0&&p<256)q.r.I(q)}} -A.aN.prototype={ -aj(a,b,c,d){return this.a.ad(a,d,c,b===!0)}, -aM(a){return this.aj(a,null,null,null)}} -A.bu.prototype={} +if(r)q.R() +else q.S() +p=q.e&=4294967231}if((p&128)!==0&&p<256)q.r.G(q)}} +A.aM.prototype={ +ag(a,b,c,d){return this.a.ab(a,d,c,b===!0)}, +aJ(a){return this.ag(a,null,null,null)}} +A.br.prototype={} A.a6.prototype={} -A.aL.prototype={ -I(a){var s=this,r=s.a +A.aK.prototype={ +G(a){var s=this,r=s.a if(r===1)return if(r>=1){s.a=1 -return}A.dd(new A.cp(s,a)) +return}A.d5(new A.ck(s,a)) s.a=1}, -af(a,b){var s=this,r=s.c +ad(a,b){var s=this,r=s.c if(r==null)s.b=s.c=b else s.c=r.a=b}} -A.cp.prototype={ +A.ck.prototype={ $0(){var s,r,q=this.a,p=q.a q.a=0 if(p===3)return @@ -2427,85 +2362,85 @@ q.b=r if(r==null)q.c=null this.b.A(s.b)}, $S:0} -A.aD.prototype={ -aC(){var s,r=this,q=r.a-1 +A.aC.prototype={ +az(){var s,r=this,q=r.a-1 if(q===0){r.a=-1 s=r.c if(s!=null){r.c=null -r.b.ak(s)}}else r.a=q}} -A.bz.prototype={} -A.cz.prototype={} -A.cE.prototype={ -$0(){A.eC(this.a,this.b)}, +r.b.ah(s)}}else r.a=q}} +A.bw.prototype={} +A.cu.prototype={} +A.cz.prototype={ +$0(){A.eo(this.a,this.b)}, $S:0} -A.cq.prototype={ -ak(a){var s,r,q -try{if(B.a===$.h){a.$0() -return}A.e_(null,null,this,a)}catch(q){s=A.K(q) +A.cl.prototype={ +ah(a){var s,r,q +try{if(B.a===$.k){a.$0() +return}A.dN(null,null,this,a)}catch(q){s=A.Q(q) r=A.I(q) -A.bD(s,r)}}, -aV(a,b){var s,r,q -try{if(B.a===$.h){a.$1(b) -return}A.e0(null,null,this,a,b)}catch(q){s=A.K(q) +A.bA(s,r)}}, +aS(a,b){var s,r,q +try{if(B.a===$.k){a.$1(b) +return}A.dO(null,null,this,a,b)}catch(q){s=A.Q(q) r=A.I(q) -A.bD(s,r)}}, -aW(a,b){return this.aV(a,b,t.z)}, -ag(a){return new A.cr(this,a)}, -aR(a){if($.h===B.a)return a.$0() -return A.e_(null,null,this,a)}, -aQ(a){return this.aR(a,t.z)}, -aU(a,b){if($.h===B.a)return a.$1(b) -return A.e0(null,null,this,a,b)}, -a0(a,b){var s=t.z -return this.aU(a,b,s,s)}, -aT(a,b,c){if($.h===B.a)return a.$2(b,c) -return A.fI(null,null,this,a,b,c)}, -aS(a,b,c){var s=t.z -return this.aT(a,b,c,s,s,s)}, -aO(a){return a}, -a_(a){var s=t.z -return this.aO(a,s,s,s)}} -A.cr.prototype={ -$0(){return this.a.ak(this.b)}, +A.bA(s,r)}}, +aT(a,b){return this.aS(a,b,t.z)}, +ae(a){return new A.cm(this,a)}, +aO(a){if($.k===B.a)return a.$0() +return A.dN(null,null,this,a)}, +aN(a){return this.aO(a,t.z)}, +aR(a,b){if($.k===B.a)return a.$1(b) +return A.dO(null,null,this,a,b)}, +Y(a,b){var s=t.z +return this.aR(a,b,s,s)}, +aQ(a,b,c){if($.k===B.a)return a.$2(b,c) +return A.fw(null,null,this,a,b,c)}, +aP(a,b,c){var s=t.z +return this.aQ(a,b,c,s,s,s)}, +aL(a){return a}, +X(a){var s=t.z +return this.aL(a,s,s,s)}} +A.cm.prototype={ +$0(){return this.a.ah(this.b)}, $S:0} -A.aE.prototype={ +A.aD.prototype={ gj(a){return this.a}, -gZ(){return new A.aF(this,this.$ti.i("aF<1>"))}, -aK(a){var s,r +gW(){return new A.aE(this,this.$ti.i("aE<1>"))}, +aH(a){var s,r if(typeof a=="string"&&a!=="__proto__"){s=this.b return s==null?!1:s[a]!=null}else if(typeof a=="number"&&(a&1073741823)===a){r=this.c -return r==null?!1:r[a]!=null}else return this.av(a)}, -av(a){var s=this.d +return r==null?!1:r[a]!=null}else return this.aq(a)}, +aq(a){var s=this.d if(s==null)return!1 -return this.P(this.a9(s,a),a)>=0}, +return this.O(this.a7(s,a),a)>=0}, p(a,b){var s,r,q if(typeof b=="string"&&b!=="__proto__"){s=this.b -r=s==null?null:A.dB(s,b) +r=s==null?null:A.dt(s,b) return r}else if(typeof b=="number"&&(b&1073741823)===b){q=this.c -r=q==null?null:A.dB(q,b) -return r}else return this.aA(b)}, -aA(a){var s,r,q=this.d +r=q==null?null:A.dt(q,b) +return r}else return this.av(b)}, +av(a){var s,r,q=this.d if(q==null)return null -s=this.a9(q,a) -r=this.P(s,a) +s=this.a7(q,a) +r=this.O(s,a) return r<0?null:s[r+1]}, -a2(a,b,c){var s,r,q,p=this,o=p.d -if(o==null)o=p.d=A.eW() -s=A.db(b)&1073741823 +a_(a,b,c){var s,r,q,p=this,o=p.d +if(o==null)o=p.d=A.eI() +s=A.d4(b)&1073741823 r=o[s] -if(r==null){A.dC(o,s,[b,c]);++p.a -p.e=null}else{q=p.P(r,b) +if(r==null){A.du(o,s,[b,c]);++p.a +p.e=null}else{q=p.O(r,b) if(q>=0)r[q+1]=c else{r.push(b,c);++p.a p.e=null}}}, -ai(a,b){var s,r,q,p,o,n=this,m=n.a8() +af(a,b){var s,r,q,p,o,n=this,m=n.a6() for(s=m.length,r=n.$ti.y[1],q=0;q"))}} -A.bx.prototype={ +return new A.bu(s,s.a6(),this.$ti.i("bu<1>"))}} +A.bu.prototype={ gm(){var s=this.d return s==null?this.$ti.c.a(s):s}, l(){var s=this,r=s.b,q=s.c,p=s.a -if(r!==p.e)throw A.b(A.bJ(p)) +if(r!==p.e)throw A.b(A.bG(p)) else if(q>=r.length){s.d=null return!1}else{s.d=r[q] s.c=q+1 return!0}}} -A.k.prototype={ -gq(a){return new A.a_(a,this.gj(a),A.af(a).i("a_"))}, -G(a,b){return this.p(a,b)}, -H(a,b,c){return new A.C(a,b,A.af(a).i("@").u(c).i("C<1,2>"))}, -h(a){return A.dp(a,"[","]")}} +A.j.prototype={ +gq(a){return new A.a_(a,this.gj(a),A.af(a).i("a_"))}, +E(a,b){return this.p(a,b)}, +F(a,b,c){return new A.C(a,b,A.af(a).i("@").u(c).i("C<1,2>"))}, +h(a){return A.dg(a,"[","]")}} A.a0.prototype={ -ai(a,b){var s,r,q,p -for(s=this.gZ(),s=s.gq(s),r=A.a9(this).y[1];s.l();){q=s.gm() +af(a,b){var s,r,q,p +for(s=this.gW(),s=s.gq(s),r=A.a9(this).y[1];s.l();){q=s.gm() p=this.p(0,q) b.$2(q,p==null?r.a(p):p)}}, -gj(a){var s=this.gZ() +gj(a){var s=this.gW() return s.gj(s)}, -h(a){return A.eH(this)}} -A.bR.prototype={ +h(a){return A.et(this)}} +A.bO.prototype={ $2(a,b){var s,r=this.a if(!r.a)this.b.a+=", " r.a=!1 @@ -2564,187 +2499,177 @@ s=A.p(b) r.a+=s}, $S:14} A.l.prototype={ -gB(){return A.eK(this)}} -A.b_.prototype={ +gH(){return A.ew(this)}} +A.aY.prototype={ h(a){var s=this.a -if(s!=null)return"Assertion failed: "+A.bK(s) +if(s!=null)return"Assertion failed: "+A.bH(s) return"Assertion failed"}} A.E.prototype={} A.z.prototype={ -gO(){return"Invalid argument"+(!this.a?"(s)":"")}, -gN(){return""}, -h(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+p,n=s.gO()+q+o +gN(){return"Invalid argument"+(!this.a?"(s)":"")}, +gM(){return""}, +h(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+p,n=s.gN()+q+o if(!s.a)return n -return n+s.gN()+": "+A.bK(s.gY())}, -gY(){return this.b}} +return n+s.gM()+": "+A.bH(s.gV())}, +gV(){return this.b}} A.aw.prototype={ -gY(){return this.b}, -gO(){return"RangeError"}, -gN(){var s,r=this.e,q=this.f +gV(){return this.b}, +gN(){return"RangeError"}, +gM(){var s,r=this.e,q=this.f if(r==null)s=q!=null?": Not less than or equal to "+A.p(q):"" else if(q==null)s=": Not greater than or equal to "+A.p(r) else if(q>r)s=": Not in inclusive range "+A.p(r)+".."+A.p(q) else s=q=4)A.bG(q.aq()) +if(s>=4)A.bD(q.an()) if((s&1)!==0)q.A(r) -else if((s&3)===0)q.aw().af(0,new A.a6(r))}, +else if((s&3)===0)q.ar().ad(0,new A.a6(r))}, $S:17} -A.cP.prototype={ +A.cJ.prototype={ $1(a){var s,r try{s=t.m.a(self) -A.eF(s,"postMessage",A.h6(a==null?t.K.a(a):a),null,null,null)}catch(r){A.dc("Received data from WASM worker but it's not a String!\n")}}, -$S:1};(function aliases(){var s=J.N.prototype -s.al=s.h +A.er(s,"postMessage",A.fW(a==null?t.K.a(a):a),null,null,null)}catch(r){A.h_("Received data from WASM worker but it's not a String!\n")}}, +$S:4};(function aliases(){var s=J.L.prototype +s.ai=s.h s=A.a4.prototype -s.am=s.J})();(function installTearOffs(){var s=hunkHelpers._static_1,r=hunkHelpers._static_0,q=hunkHelpers._static_2,p=hunkHelpers._instance_2u,o=hunkHelpers._instance_0u -s(A,"fQ","eR",2) -s(A,"fR","eS",2) -s(A,"fS","eT",2) -r(A,"e5","fK",0) -q(A,"fT","fF",5) -p(A.m.prototype,"gau","v",5) -o(A.aD.prototype,"gaB","aC",0)})();(function inheritance(){var s=hunkHelpers.mixin,r=hunkHelpers.inherit,q=hunkHelpers.inheritMany +s.aj=s.I})();(function installTearOffs(){var s=hunkHelpers._static_1,r=hunkHelpers._static_0,q=hunkHelpers._static_2,p=hunkHelpers._instance_2u,o=hunkHelpers._instance_0u +s(A,"fF","eD",1) +s(A,"fG","eE",1) +s(A,"fH","eF",1) +r(A,"dS","fy",0) +q(A,"fI","ft",5) +p(A.o.prototype,"gap","v",5) +o(A.aC.prototype,"gaw","az",0)})();(function inheritance(){var s=hunkHelpers.mixin,r=hunkHelpers.inherit,q=hunkHelpers.inheritMany r(A.d,null) -q(A.d,[A.cX,J.b4,J.aZ,A.l,A.c,A.a_,A.b9,A.ai,A.c_,A.bT,A.ah,A.aM,A.S,A.x,A.bw,A.cw,A.cu,A.bp,A.L,A.a2,A.V,A.a4,A.bs,A.a7,A.m,A.bq,A.by,A.br,A.bu,A.aL,A.aD,A.bz,A.cz,A.a0,A.bx,A.k,A.ax,A.cb,A.q,A.bA,A.bm,A.bS,A.c5]) -q(J.b4,[J.b5,J.ak,J.an,J.am,J.ao,J.b7,J.al]) -q(J.an,[J.N,J.u,A.ba,A.as]) -q(J.N,[J.bk,J.ay,J.M]) -r(J.bQ,J.u) -q(J.b7,[J.aj,J.b6]) -q(A.l,[A.ap,A.E,A.b8,A.bo,A.bt,A.bl,A.bv,A.b_,A.z,A.az,A.bn,A.D,A.b2]) +q(A.d,[A.cP,J.b2,J.aX,A.l,A.c,A.a_,A.b7,A.ai,A.bV,A.bP,A.ah,A.aL,A.S,A.x,A.bt,A.cr,A.cp,A.bn,A.R,A.a2,A.V,A.a4,A.a7,A.o,A.bo,A.bv,A.bp,A.br,A.aK,A.aC,A.bw,A.cu,A.a0,A.bu,A.j,A.ax,A.c6,A.q,A.bx,A.bk,A.c0]) +q(J.b2,[J.b3,J.ak,J.an,J.am,J.ao,J.b5,J.al]) +q(J.an,[J.L,J.u,A.b8,A.as]) +q(J.L,[J.bi,J.ay,J.K]) +r(J.bN,J.u) +q(J.b5,[J.aj,J.b4]) +q(A.l,[A.ap,A.E,A.b6,A.bm,A.bq,A.bj,A.bs,A.aY,A.z,A.az,A.bl,A.D,A.b0]) q(A.c,[A.e,A.T]) -q(A.e,[A.O,A.aF]) +q(A.e,[A.M,A.aE]) r(A.ag,A.T) -r(A.C,A.O) +r(A.C,A.M) r(A.au,A.E) -q(A.S,[A.bH,A.bI,A.bZ,A.cI,A.cK,A.c8,A.c7,A.cB,A.ct,A.cg,A.cn,A.bX,A.cN,A.cR,A.cS,A.cG,A.c6,A.cP]) -q(A.bZ,[A.bW,A.b1]) -q(A.bI,[A.cJ,A.cC,A.cF,A.ch,A.bR]) -q(A.as,[A.bb,A.a1]) -q(A.a1,[A.aH,A.aJ]) -r(A.aI,A.aH) -r(A.aq,A.aI) -r(A.aK,A.aJ) -r(A.ar,A.aK) -q(A.aq,[A.bc,A.bd]) -q(A.ar,[A.be,A.bf,A.bg,A.bh,A.bi,A.at,A.bj]) -r(A.aP,A.bv) -q(A.bH,[A.c9,A.ca,A.cv,A.cc,A.cj,A.ci,A.cf,A.ce,A.cd,A.cm,A.cl,A.ck,A.bY,A.cs,A.cp,A.cE,A.cr]) -r(A.aN,A.a2) -r(A.W,A.aN) -r(A.aB,A.W) +q(A.S,[A.bE,A.bF,A.bU,A.cE,A.cG,A.c3,A.c2,A.cw,A.co,A.cb,A.ci,A.bS,A.cI,A.cB,A.c1,A.cJ]) +q(A.bU,[A.bR,A.b_]) +q(A.bF,[A.cF,A.cx,A.cA,A.cc,A.bO]) +q(A.as,[A.b9,A.a1]) +q(A.a1,[A.aG,A.aI]) +r(A.aH,A.aG) +r(A.aq,A.aH) +r(A.aJ,A.aI) +r(A.ar,A.aJ) +q(A.aq,[A.ba,A.bb]) +q(A.ar,[A.bc,A.bd,A.be,A.bf,A.bg,A.at,A.bh]) +r(A.aO,A.bs) +q(A.bE,[A.c4,A.c5,A.cq,A.c7,A.ce,A.cd,A.ca,A.c9,A.c8,A.ch,A.cg,A.cf,A.bT,A.cn,A.ck,A.cz,A.cm]) +r(A.aM,A.a2) +r(A.W,A.aM) +r(A.aA,A.W) r(A.a5,A.V) -r(A.aC,A.a5) -r(A.aO,A.a4) -r(A.aA,A.bs) -r(A.a3,A.by) -r(A.a6,A.bu) -r(A.cq,A.cz) -r(A.aE,A.a0) -r(A.aG,A.aE) -q(A.z,[A.aw,A.b3]) -s(A.aH,A.k) -s(A.aI,A.ai) -s(A.aJ,A.k) -s(A.aK,A.ai) -s(A.a3,A.br)})() -var v={typeUniverse:{eC:new Map(),tR:{},eT:{},tPV:{},sEA:[]},mangledGlobalNames:{a:"int",i:"double",h9:"num",U:"String",fU:"bool",q:"Null",j:"List",d:"Object",hj:"Map"},mangledNames:{},types:["~()","~(@)","~(~())","q(@)","q()","~(d,y)","@(@)","@(@,U)","@(U)","q(~())","q(@,y)","~(a,@)","q(d,y)","m<@>(@)","~(d?,d?)","d?(d?)","~(d)","q(o)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti")} -A.fb(v.typeUniverse,JSON.parse('{"bk":"N","ay":"N","M":"N","b5":{"f":[]},"ak":{"q":[],"f":[]},"an":{"o":[]},"N":{"o":[]},"u":{"j":["1"],"e":["1"],"o":[],"c":["1"]},"bQ":{"u":["1"],"j":["1"],"e":["1"],"o":[],"c":["1"]},"b7":{"i":[]},"aj":{"i":[],"a":[],"f":[]},"b6":{"i":[],"f":[]},"al":{"U":[],"f":[]},"ap":{"l":[]},"e":{"c":["1"]},"O":{"e":["1"],"c":["1"]},"T":{"c":["2"],"c.E":"2"},"ag":{"T":["1","2"],"e":["2"],"c":["2"],"c.E":"2"},"C":{"O":["2"],"e":["2"],"c":["2"],"c.E":"2","O.E":"2"},"au":{"E":[],"l":[]},"b8":{"l":[]},"bo":{"l":[]},"aM":{"y":[]},"bt":{"l":[]},"bl":{"l":[]},"ba":{"o":[],"cV":[],"f":[]},"as":{"o":[]},"bb":{"cW":[],"o":[],"f":[]},"a1":{"v":["1"],"o":[]},"aq":{"k":["i"],"j":["i"],"v":["i"],"e":["i"],"o":[],"c":["i"]},"ar":{"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"]},"bc":{"bL":[],"k":["i"],"j":["i"],"v":["i"],"e":["i"],"o":[],"c":["i"],"f":[],"k.E":"i"},"bd":{"bM":[],"k":["i"],"j":["i"],"v":["i"],"e":["i"],"o":[],"c":["i"],"f":[],"k.E":"i"},"be":{"bN":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"bf":{"bO":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"bg":{"bP":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"bh":{"c1":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"bi":{"c2":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"at":{"c3":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"bj":{"c4":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"bv":{"l":[]},"aP":{"E":[],"l":[]},"m":{"Z":["1"]},"L":{"l":[]},"aB":{"W":["1"],"a2":["1"]},"aC":{"V":["1"]},"aO":{"a4":["1"]},"aA":{"bs":["1"]},"a3":{"by":["1"]},"W":{"a2":["1"]},"a5":{"V":["1"]},"aN":{"a2":["1"]},"aE":{"a0":["1","2"]},"aG":{"aE":["1","2"],"a0":["1","2"]},"aF":{"e":["1"],"c":["1"],"c.E":"1"},"b_":{"l":[]},"E":{"l":[]},"z":{"l":[]},"aw":{"l":[]},"b3":{"l":[]},"az":{"l":[]},"bn":{"l":[]},"D":{"l":[]},"b2":{"l":[]},"ax":{"l":[]},"bA":{"y":[]},"bP":{"j":["a"],"e":["a"],"c":["a"]},"c4":{"j":["a"],"e":["a"],"c":["a"]},"c3":{"j":["a"],"e":["a"],"c":["a"]},"bN":{"j":["a"],"e":["a"],"c":["a"]},"c1":{"j":["a"],"e":["a"],"c":["a"]},"bO":{"j":["a"],"e":["a"],"c":["a"]},"c2":{"j":["a"],"e":["a"],"c":["a"]},"bL":{"j":["i"],"e":["i"],"c":["i"]},"bM":{"j":["i"],"e":["i"],"c":["i"]}}')) -A.fa(v.typeUniverse,JSON.parse('{"e":1,"ai":1,"a1":1,"V":1,"aC":1,"br":1,"a5":1,"aN":1,"bu":1,"a6":1,"aL":1,"aD":1,"bz":1}')) +r(A.aB,A.a5) +r(A.aN,A.a4) +r(A.a3,A.bv) +r(A.a6,A.br) +r(A.cl,A.cu) +r(A.aD,A.a0) +r(A.aF,A.aD) +q(A.z,[A.aw,A.b1]) +s(A.aG,A.j) +s(A.aH,A.ai) +s(A.aI,A.j) +s(A.aJ,A.ai) +s(A.a3,A.bp)})() +var v={typeUniverse:{eC:new Map(),tR:{},eT:{},tPV:{},sEA:[]},mangledGlobalNames:{a:"int",h:"double",fZ:"num",U:"String",fJ:"bool",q:"Null",i:"List",d:"Object",h7:"Map"},mangledNames:{},types:["~()","~(~())","q(@)","q()","~(@)","~(d,y)","@(@)","@(@,U)","@(U)","q(~())","q(@,y)","~(a,@)","q(d,y)","o<@>(@)","~(d?,d?)","d?(d?)","~(d)","q(n)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti")} +A.eY(v.typeUniverse,JSON.parse('{"bi":"L","ay":"L","K":"L","b3":{"f":[]},"ak":{"q":[],"f":[]},"an":{"n":[]},"L":{"n":[]},"u":{"i":["1"],"e":["1"],"n":[],"c":["1"]},"bN":{"u":["1"],"i":["1"],"e":["1"],"n":[],"c":["1"]},"b5":{"h":[]},"aj":{"h":[],"a":[],"f":[]},"b4":{"h":[],"f":[]},"al":{"U":[],"f":[]},"ap":{"l":[]},"e":{"c":["1"]},"M":{"e":["1"],"c":["1"]},"T":{"c":["2"],"c.E":"2"},"ag":{"T":["1","2"],"e":["2"],"c":["2"],"c.E":"2"},"C":{"M":["2"],"e":["2"],"c":["2"],"c.E":"2","M.E":"2"},"au":{"E":[],"l":[]},"b6":{"l":[]},"bm":{"l":[]},"aL":{"y":[]},"bq":{"l":[]},"bj":{"l":[]},"b8":{"n":[],"cN":[],"f":[]},"as":{"n":[]},"b9":{"cO":[],"n":[],"f":[]},"a1":{"v":["1"],"n":[]},"aq":{"j":["h"],"i":["h"],"v":["h"],"e":["h"],"n":[],"c":["h"]},"ar":{"j":["a"],"i":["a"],"v":["a"],"e":["a"],"n":[],"c":["a"]},"ba":{"bI":[],"j":["h"],"i":["h"],"v":["h"],"e":["h"],"n":[],"c":["h"],"f":[],"j.E":"h"},"bb":{"bJ":[],"j":["h"],"i":["h"],"v":["h"],"e":["h"],"n":[],"c":["h"],"f":[],"j.E":"h"},"bc":{"bK":[],"j":["a"],"i":["a"],"v":["a"],"e":["a"],"n":[],"c":["a"],"f":[],"j.E":"a"},"bd":{"bL":[],"j":["a"],"i":["a"],"v":["a"],"e":["a"],"n":[],"c":["a"],"f":[],"j.E":"a"},"be":{"bM":[],"j":["a"],"i":["a"],"v":["a"],"e":["a"],"n":[],"c":["a"],"f":[],"j.E":"a"},"bf":{"bX":[],"j":["a"],"i":["a"],"v":["a"],"e":["a"],"n":[],"c":["a"],"f":[],"j.E":"a"},"bg":{"bY":[],"j":["a"],"i":["a"],"v":["a"],"e":["a"],"n":[],"c":["a"],"f":[],"j.E":"a"},"at":{"bZ":[],"j":["a"],"i":["a"],"v":["a"],"e":["a"],"n":[],"c":["a"],"f":[],"j.E":"a"},"bh":{"c_":[],"j":["a"],"i":["a"],"v":["a"],"e":["a"],"n":[],"c":["a"],"f":[],"j.E":"a"},"bs":{"l":[]},"aO":{"E":[],"l":[]},"o":{"Z":["1"]},"R":{"l":[]},"aA":{"W":["1"],"a2":["1"]},"aB":{"V":["1"]},"aN":{"a4":["1"]},"a3":{"bv":["1"]},"W":{"a2":["1"]},"a5":{"V":["1"]},"aM":{"a2":["1"]},"aD":{"a0":["1","2"]},"aF":{"aD":["1","2"],"a0":["1","2"]},"aE":{"e":["1"],"c":["1"],"c.E":"1"},"aY":{"l":[]},"E":{"l":[]},"z":{"l":[]},"aw":{"l":[]},"b1":{"l":[]},"az":{"l":[]},"bl":{"l":[]},"D":{"l":[]},"b0":{"l":[]},"ax":{"l":[]},"bx":{"y":[]},"bM":{"i":["a"],"e":["a"],"c":["a"]},"c_":{"i":["a"],"e":["a"],"c":["a"]},"bZ":{"i":["a"],"e":["a"],"c":["a"]},"bK":{"i":["a"],"e":["a"],"c":["a"]},"bX":{"i":["a"],"e":["a"],"c":["a"]},"bL":{"i":["a"],"e":["a"],"c":["a"]},"bY":{"i":["a"],"e":["a"],"c":["a"]},"bI":{"i":["h"],"e":["h"],"c":["h"]},"bJ":{"i":["h"],"e":["h"],"c":["h"]}}')) +A.eX(v.typeUniverse,JSON.parse('{"e":1,"ai":1,"a1":1,"V":1,"aB":1,"bp":1,"a5":1,"aM":1,"br":1,"a6":1,"aK":1,"aC":1,"bw":1}')) var u={g:"Cannot fire new event. Controller is already firing an event",c:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type"} -var t=(function rtii(){var s=A.e8 -return{J:s("cV"),Y:s("cW"),V:s("e<@>"),C:s("l"),B:s("bL"),q:s("bM"),Z:s("hi"),O:s("bN"),k:s("bO"),U:s("bP"),x:s("c"),s:s("u"),b:s("u<@>"),T:s("ak"),m:s("o"),g:s("M"),p:s("v<@>"),j:s("j<@>"),P:s("q"),K:s("d"),L:s("hk"),l:s("y"),N:s("U"),R:s("f"),c:s("E"),D:s("c1"),w:s("c2"),e:s("c3"),E:s("c4"),o:s("ay"),I:s("a3<@>"),d:s("m<@>"),a:s("m"),F:s("aG"),y:s("fU"),i:s("i"),z:s("@"),v:s("@(d)"),Q:s("@(d,y)"),S:s("a"),A:s("0&*"),_:s("d*"),W:s("Z?"),X:s("d?"),H:s("h9"),n:s("~"),u:s("~(d)"),f:s("~(d,y)")}})();(function constants(){B.n=J.b4.prototype +var t=(function rtii(){var s=A.dV +return{J:s("cN"),Y:s("cO"),V:s("e<@>"),Q:s("l"),B:s("bI"),q:s("bJ"),Z:s("h6"),O:s("bK"),k:s("bL"),U:s("bM"),x:s("c"),s:s("u"),b:s("u<@>"),T:s("ak"),m:s("n"),g:s("K"),p:s("v<@>"),j:s("i<@>"),P:s("q"),K:s("d"),L:s("h8"),l:s("y"),N:s("U"),R:s("f"),c:s("E"),D:s("bX"),w:s("bY"),e:s("bZ"),E:s("c_"),o:s("ay"),I:s("a3<@>"),d:s("o<@>"),a:s("o"),F:s("aF"),y:s("fJ"),i:s("h"),z:s("@"),v:s("@(d)"),C:s("@(d,y)"),S:s("a"),A:s("0&*"),_:s("d*"),W:s("Z?"),X:s("d?"),H:s("fZ"),n:s("~"),u:s("~(d)"),f:s("~(d,y)")}})();(function constants(){B.n=J.b2.prototype B.o=J.u.prototype B.p=J.aj.prototype -B.q=J.M.prototype +B.q=J.K.prototype B.r=J.an.prototype -B.f=J.bk.prototype -B.c=J.ay.prototype -B.d=function getTagFallback(o) { +B.e=J.bi.prototype +B.b=J.ay.prototype +B.c=function getTagFallback(o) { var s = Object.prototype.toString.call(o); return s.substring(8, s.length - 1); } -B.h=function() { +B.f=function() { var toStringFunction = Object.prototype.toString; function getTag(o) { var s = toStringFunction.call(o); @@ -2776,7 +2701,7 @@ B.h=function() { prototypeForTag: prototypeForTag, discriminator: discriminator }; } -B.m=function(getTagFallback) { +B.l=function(getTagFallback) { return function(hooks) { if (typeof navigator != "object") return hooks; var userAgent = navigator.userAgent; @@ -2791,11 +2716,11 @@ B.m=function(getTagFallback) { hooks.getTag = getTagFallback; }; } -B.i=function(hooks) { +B.h=function(hooks) { if (typeof dartExperimentalFixupGetTag != "function") return hooks; hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); } -B.l=function(hooks) { +B.k=function(hooks) { if (typeof navigator != "object") return hooks; var userAgent = navigator.userAgent; if (typeof userAgent != "string") return hooks; @@ -2814,7 +2739,7 @@ B.l=function(hooks) { } hooks.getTag = getTagFirefox; } -B.k=function(hooks) { +B.j=function(hooks) { if (typeof navigator != "object") return hooks; var userAgent = navigator.userAgent; if (typeof userAgent != "string") return hooks; @@ -2845,7 +2770,7 @@ B.k=function(hooks) { hooks.getTag = getTagIE; hooks.prototypeForTag = prototypeForTagIE; } -B.j=function(hooks) { +B.i=function(hooks) { var getTag = hooks.getTag; var prototypeForTag = hooks.prototypeForTag; function getTagFixed(o) { @@ -2863,52 +2788,52 @@ B.j=function(hooks) { hooks.getTag = getTagFixed; hooks.prototypeForTag = prototypeForTagFixed; } -B.e=function(hooks) { return hooks; } +B.d=function(hooks) { return hooks; } -B.a=new A.cq() -B.b=new A.bA() -B.t=A.B("cV") -B.u=A.B("cW") -B.v=A.B("bL") -B.w=A.B("bM") -B.x=A.B("bN") -B.y=A.B("bO") -B.z=A.B("bP") -B.A=A.B("c1") -B.B=A.B("c2") -B.C=A.B("c3") -B.D=A.B("c4")})();(function staticFields(){$.co=null -$.w=A.bF([],A.e8("u")) -$.dq=null -$.dl=null -$.dk=null -$.ea=null -$.e4=null -$.ed=null +B.a=new A.cl() +B.m=new A.bx() +B.t=A.B("cN") +B.u=A.B("cO") +B.v=A.B("bI") +B.w=A.B("bJ") +B.x=A.B("bK") +B.y=A.B("bL") +B.z=A.B("bM") +B.A=A.B("bX") +B.B=A.B("bY") +B.C=A.B("bZ") +B.D=A.B("c_")})();(function staticFields(){$.cj=null +$.w=A.bC([],A.dV("u")) +$.dh=null +$.dd=null +$.dc=null +$.dX=null +$.dR=null +$.e_=null +$.cD=null $.cH=null -$.cM=null -$.d8=null +$.d0=null $.aa=null +$.aS=null $.aT=null -$.aU=null -$.d3=!1 -$.h=B.a})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal -s($,"hh","df",()=>A.fY("_$dart_dartClosure")) -s($,"hm","eg",()=>A.F(A.c0({ +$.cW=!1 +$.k=B.a})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal +s($,"h5","d7",()=>A.fN("_$dart_dartClosure")) +s($,"ha","e2",()=>A.F(A.bW({ toString:function(){return"$receiver$"}}))) -s($,"hn","eh",()=>A.F(A.c0({$method$:null, +s($,"hb","e3",()=>A.F(A.bW({$method$:null, toString:function(){return"$receiver$"}}))) -s($,"ho","ei",()=>A.F(A.c0(null))) -s($,"hp","ej",()=>A.F(function(){var $argumentsExpr$="$arguments$" +s($,"hc","e4",()=>A.F(A.bW(null))) +s($,"hd","e5",()=>A.F(function(){var $argumentsExpr$="$arguments$" try{null.$method$($argumentsExpr$)}catch(r){return r.message}}())) -s($,"hs","em",()=>A.F(A.c0(void 0))) -s($,"ht","en",()=>A.F(function(){var $argumentsExpr$="$arguments$" +s($,"hg","e8",()=>A.F(A.bW(void 0))) +s($,"hh","e9",()=>A.F(function(){var $argumentsExpr$="$arguments$" try{(void 0).$method$($argumentsExpr$)}catch(r){return r.message}}())) -s($,"hr","el",()=>A.F(A.dw(null))) -s($,"hq","ek",()=>A.F(function(){try{null.$method$}catch(r){return r.message}}())) -s($,"hv","ep",()=>A.F(A.dw(void 0))) -s($,"hu","eo",()=>A.F(function(){try{(void 0).$method$}catch(r){return r.message}}())) -s($,"hw","dg",()=>A.eQ())})();(function nativeSupport(){!function(){var s=function(a){var m={} +s($,"hf","e7",()=>A.F(A.dn(null))) +s($,"he","e6",()=>A.F(function(){try{null.$method$}catch(r){return r.message}}())) +s($,"hj","eb",()=>A.F(A.dn(void 0))) +s($,"hi","ea",()=>A.F(function(){try{(void 0).$method$}catch(r){return r.message}}())) +s($,"hk","d8",()=>A.eC())})();(function nativeSupport(){!function(){var s=function(a){var m={} m[a]=1 return Object.keys(hunkHelpers.convertToFastObject(m))[0]} v.getIsolateTag=function(a){return s("___dart_"+a+v.isolateTag)} @@ -2919,14 +2844,14 @@ for(var o=0;;o++){var n=s(p+"_"+o+"_") if(!(n in q)){q[n]=1 v.isolateTag=n break}}v.dispatchPropertyName=v.getIsolateTag("dispatch_record")}() -hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer:A.ba,ArrayBufferView:A.as,DataView:A.bb,Float32Array:A.bc,Float64Array:A.bd,Int16Array:A.be,Int32Array:A.bf,Int8Array:A.bg,Uint16Array:A.bh,Uint32Array:A.bi,Uint8ClampedArray:A.at,CanvasPixelArray:A.at,Uint8Array:A.bj}) +hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer:A.b8,ArrayBufferView:A.as,DataView:A.b9,Float32Array:A.ba,Float64Array:A.bb,Int16Array:A.bc,Int32Array:A.bd,Int8Array:A.be,Uint16Array:A.bf,Uint32Array:A.bg,Uint8ClampedArray:A.at,CanvasPixelArray:A.at,Uint8Array:A.bh}) hunkHelpers.setOrUpdateLeafTags({ArrayBuffer:true,ArrayBufferView:false,DataView:true,Float32Array:true,Float64Array:true,Int16Array:true,Int32Array:true,Int8Array:true,Uint16Array:true,Uint32Array:true,Uint8ClampedArray:true,CanvasPixelArray:true,Uint8Array:false}) A.a1.$nativeSuperclassTag="ArrayBufferView" +A.aG.$nativeSuperclassTag="ArrayBufferView" A.aH.$nativeSuperclassTag="ArrayBufferView" -A.aI.$nativeSuperclassTag="ArrayBufferView" A.aq.$nativeSuperclassTag="ArrayBufferView" +A.aI.$nativeSuperclassTag="ArrayBufferView" A.aJ.$nativeSuperclassTag="ArrayBufferView" -A.aK.$nativeSuperclassTag="ArrayBufferView" A.ar.$nativeSuperclassTag="ArrayBufferView"})() Function.prototype.$1=function(a){return this(a)} Function.prototype.$0=function(){return this()} @@ -2939,6 +2864,6 @@ convertToFastObject($);(function(a){if(typeof document==="undefined"){a(null) return}if(typeof document.currentScript!="undefined"){a(document.currentScript) return}var s=document.scripts function onLoad(b){for(var q=0;q","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","Rti._eval","Rti._bind","_rtiBind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_awaitOnObject.","_wrapJsFunctionForAsync.","AsyncError.toString","_BroadcastSubscription._onPause","_BroadcastSubscription._onResume","_BroadcastStreamController._mayAddEvent","_BroadcastStreamController._subscribe","_DoneStreamSubscription","_BroadcastSubscription","_BroadcastStreamController._recordPause","_BroadcastStreamController._recordResume","_BroadcastStreamController._addEventError","_BroadcastStreamController._forEachListener","_BroadcastStreamController._callOnCancel","_SyncBroadcastStreamController._mayAddEvent","_SyncBroadcastStreamController._addEventError","_SyncBroadcastStreamController._sendData","_SyncBroadcastStreamController._sendData.","_SyncBroadcastStreamController__sendData_closure","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_FutureListener.matchesErrorTest","_FutureListener.handleError","_Future._setChained","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._completeWithValue","_Future._completeError","_Future._setError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFutureAsync.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","Stream.length","Stream.length.","Stream_length_closure","_Future._complete","_StreamController._pendingEvents","_StreamController._ensurePendingEvents","_StreamController._subscription","_StreamController._badEventState","_StreamController._subscribe","_BufferingStreamSubscription._guardCallback","_StreamController._recordPause","_StreamController._recordResume","_StreamController._subscribe.","_AsyncStreamControllerDispatch._sendData","_ControllerStream.hashCode","_ControllerSubscription._onPause","_ControllerSubscription._onResume","_BufferingStreamSubscription._setPendingEvents","_BufferingStreamSubscription._add","_BufferingStreamSubscription._onPause","_BufferingStreamSubscription._onResume","_BufferingStreamSubscription._addPending","_BufferingStreamSubscription._sendData","_BufferingStreamSubscription._checkState","_BufferingStreamSubscription._mayResumeInput","_StreamImpl.listen","_StreamImpl.listen[function-entry$1]","_PendingEvents.schedule","_PendingEvents.add","_PendingEvents.schedule.","_PendingEvents.handleNext","_DoneStreamSubscription._onMicrotask","_rootHandleError.","_RootZone.runGuarded","_RootZone.runUnaryGuarded","_RootZone.runUnaryGuarded[function-entry$2]","_RootZone.bindCallbackGuarded","_RootZone.run","_RootZone.run[function-entry$1]","_RootZone.runUnary","_RootZone.runUnary[function-entry$2]","_RootZone.runBinary","_RootZone.runBinary[function-entry$3]","_RootZone.registerBinaryCallback","_RootZone.registerBinaryCallback[function-entry$1]","_RootZone.bindCallbackGuarded.","_HashMap.keys","_HashMap.length","_HashMap.containsKey","_HashMap._containsKey","_HashMap.[]","_HashMap._get","_HashMap.[]=","_IdentityHashMap._computeHashCode","_HashMap.forEach","_HashMap._computeKeys","_HashMap._getBucket","_IdentityHashMap._findBucketIndex","_HashMapKeyIterable.length","_HashMapKeyIterable.iterator","_HashMapKeyIterator.current","_HashMapKeyIterator.moveNext","ListBase.iterator","ListBase.elementAt","ListBase.map","ListBase.toString","MapBase.forEach","MapBase.length","MapBase.toString","MapBase.mapToString.","StringBuffer.write","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","Iterable.map","Iterable.length","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.toString","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","jsify._convert","promiseToFuture.","NullRejectionException.toString","callbackToStream.eventFunction","StreamController","Worker.","_StreamController.add","_StreamController._add","main.","jsSendMessage","Worker.sendMessage","DART_CLOSURE_PROPERTY_NAME","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","","$intercepted$elementAt1$ax","$intercepted$get$hashCode$IJavaScriptBigIntJavaScriptSymbolLegacyJavaScriptObjectabnsu","$intercepted$get$iterator$ax","$intercepted$get$length$asx","$intercepted$get$runtimeType$Ibdinsux","$intercepted$map11$ax","$intercepted$toString0$IJavaScriptBigIntJavaScriptFunctionJavaScriptSymbolLegacyJavaScriptObjectabnsux","ArrayIterator","AsyncError","BoundClosure","ByteBuffer","ByteData","Closure","Closure0Args","Closure2Args","EfficientLengthIterable","EfficientLengthMappedIterable","Error","ExceptionAndStackTrace","FixedLengthListMixin","Float32List","Float64List","Function","Future","IndexError","Int16List","Int32List","Int8List","Interceptor","Iterable","JSArray","JSBool","JSInt","JSNull","JSNumNotInt","JSNumber","JSObject","JSObjectUnsafeUtilExtension|_callMethod","JSString","JSUnmodifiableArray","JS_CONST","JavaScriptBigInt","JavaScriptFunction","JavaScriptIndexingBehavior","JavaScriptObject","JavaScriptSymbol","LateError","LegacyJavaScriptObject","List","ListBase","ListIterable","ListIterator","Map","MapBase","MapBase_mapToString_closure","MappedIterator","MappedListIterable","NativeByteBuffer","NativeByteData","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeTypedData","NativeUint16List","NativeUint32List","NativeUint8ClampedList","NativeUint8List","Null","NullError","NullRejectionException","NullThrownFromJavaScriptException","Object","PlainJavaScriptObject","RangeError","Record","Rti","RuntimeError","StackOverflowError","StackTrace","StaticClosure","Stream","String","StringBuffer","TearOffClosure","TrustedGetRuntimeType","TypeError","TypeErrorDecoder","Uint16List","Uint32List","Uint8ClampedList","Uint8List","UnknownJavaScriptObject","UnknownJsTypeError","Worker_closure","_AsyncAwaitCompleter","_AsyncCallbackEntry","_AsyncCompleter","_AsyncRun__initializeScheduleImmediate_closure","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_AsyncStreamController","_AsyncStreamControllerDispatch","_BroadcastStream","_BroadcastStreamController","_Completer","_ControllerStream","_CyclicInitializationError","_DelayedData","_DelayedEvent","_Error","_Exception","_FunctionParameters","_Future","_FutureListener","_Future__addListener_closure","_Future__asyncCompleteError_closure","_Future__asyncCompleteWithValue_closure","_Future__chainCoreFutureAsync_closure","_Future__chainForeignFuture_closure","_Future__prependListeners_closure","_Future__propagateToListeners_handleError","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_HashMap","_HashMapKeyIterable","_HashMapKeyIterator","_IdentityHashMap","_JS_INTEROP_INTERCEPTOR_TAG","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_PendingEvents","_PendingEvents_schedule_closure","_RootZone","_RootZone_bindCallbackGuarded_closure","_StackTrace","_StreamController","_StreamController__subscribe_closure","_StreamImpl","_StreamIterator","_StringStackTrace","_SyncBroadcastStreamController","_TimerImpl_internalCallback","_TypeError","_Zone","_awaitOnObject_closure","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","_chainCoreFutureAsync","_chainCoreFutureSync","_computeFieldNamed","_computeSignatureFunctionNewRti","_createFutureOrRti","_createGenericFunctionRti","_createQuestionRti","_createStarRti","_current","_getCanonicalRecipe","_getFutureFromFutureOr","_getQuestionFromStar","_getTableEntry","_identityHashCodeProperty","_initializeScheduleImmediate","_installTypeTests","_interceptorFieldNameCache","_isInCallbackLoop","_isUnionOfFunctionType","_lastCallback","_lastPriorityCallback","_lookupBindingRti","_lookupFunctionRti","_lookupFutureOrRti","_lookupGenericFunctionParameterRti","_lookupGenericFunctionRti","_lookupInterfaceRti","_lookupQuestionRti","_lookupRecordRti","_lookupStarRti","_lookupTerminalRti","_newHashTable","_nextCallback","_objectTypeNameNewRti","_propagateToListeners","_receiverFieldNameCache","_rootHandleError_closure","_scheduleImmediateClosure","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_setTableEntry","_throw","_wrapJsFunctionForAsync_closure","_writeAll","addErasedTypes","addRules","alternateTagFunction","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","async___nullErrorHandler$closure","async___startMicrotaskLoop$closure","bind","bool","callbackToStream_eventFunction","collectArray","compose","create","cspForwardCall","cspForwardInterceptedCall","current","defaultStackTrace","dispatchRecordsForInstanceTags","double","eval","evalInEnvironment","evalRecipe","extractPattern","extractStackTrace","filled","findErasedType","findRule","forType","forwardCallTo","forwardInterceptedCallTo","fromMessage","fromTearOff","getInterceptor$","getInterceptor$asx","getInterceptor$ax","getTagFunction","handleArguments","handleDigit","handleExtendedOperations","handleIdentifier","handleTypeArguments","indexToType","initHooks_closure","initNativeDispatchFlag","int","interceptorOf","interceptorsForUncacheableTags","iterableToFullString","iterableToShortString","jsify__convert","main_closure","mapToString","newArrayOrEmpty","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","nullLiteralPropertyPattern","nullPropertyPattern","num","objectAssign","objectTypeName","parse","promiseToFuture_closure","prototypeForTagFunction","provokeCallErrorOn","provokePropertyErrorOn","range","receiverOf","safeToString","throwWithStackTrace","toStringVisiting","toType","toTypes","toTypesNamed","trySetStackTrace","undefinedCallPattern","undefinedLiteralCallPattern","undefinedLiteralPropertyPattern","undefinedPropertyPattern","value","withLength","$index","$indexSet","_addEventError","add","addAll","bindCallbackGuarded","call","complete","completeError","containsKey","dart:_interceptors#_shrBothPositive","dart:_interceptors#_shrOtherPositive","dart:_rti#_bind","dart:_rti#_eval","dart:async#_add","dart:async#_addEventError","dart:async#_addListener","dart:async#_addPending","dart:async#_asyncComplete","dart:async#_asyncCompleteError","dart:async#_asyncCompleteWithValue","dart:async#_badEventState","dart:async#_callOnCancel","dart:async#_chainForeignFuture","dart:async#_chainFuture","dart:async#_checkState","dart:async#_cloneResult","dart:async#_completeError","dart:async#_completeWithValue","dart:async#_ensurePendingEvents","dart:async#_forEachListener","dart:async#_mayAddEvent","dart:async#_mayComplete","dart:async#_onMicrotask","dart:async#_onPause","dart:async#_onResume","dart:async#_pendingEvents","dart:async#_prependListeners","dart:async#_recordPause","dart:async#_recordResume","dart:async#_removeListeners","dart:async#_reverseListeners","dart:async#_sendData","dart:async#_setChained","dart:async#_setErrorObject","dart:async#_setPendingEvents","dart:async#_subscribe","dart:async#_subscription","dart:async#_thenAwait","dart:async#_varData=","dart:collection#_computeKeys","dart:collection#_containsKey","dart:collection#_findBucketIndex","dart:collection#_get","dart:collection#_getBucket","dart:core#_errorExplanation","dart:core#_errorName","elementAt","forEach","handleError","hashCode","invalidValue","iterator","keys","length","listen","map","matchTypeError","matchesErrorTest","moveNext","pause","registerBinaryCallback","resume","run","runBinary","runGuarded","runUnary","runUnaryGuarded","runtimeType","schedule","stackTrace","then","toString","Rti._unstar","isTopType","_Universe._canonicalRecipeOfStar","_Universe._canonicalRecipeOfQuestion","_Universe._canonicalRecipeOfFutureOr","_Universe._canonicalRecipeOfBinding","_Universe._canonicalRecipeOfGenericFunction","Error._stringToSafeString","_HashMap._set","JSObjectUnsafeUtilExtension|callMethod","JSObjectUnsafeUtilExtension|getProperty","NullableObjectUtilExtension|jsify","_","_add","_addListener","_asCheck","_callMethodUnchecked0","_canonicalRecipeOfBinding","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_canonicalRecipeOfFutureOr","_canonicalRecipeOfGenericFunction","_canonicalRecipeOfInterface","_canonicalRecipeOfQuestion","_canonicalRecipeOfRecord","_canonicalRecipeOfStar","_chainSource","_cloneResult","_complete","_completeError","_computeHashCode","_computeIdentityHashCodeProperty","_createBindingRti","_createFunctionRti","_createGenericFunctionParameterRti","_createInterfaceRti","_createRecordRti","_createSubscription","_createTerminalRti","_createTimer","_error","_errorTest","_expectsEvent","_failedAsCheckError","_findRule","_functionToJS1","_future","_getBindCache","_getBindingArguments","_getBindingBase","_getCachedRuntimeType","_getEvalCache","_getFunctionParameters","_getFutureOrArgument","_getGenericFunctionBase","_getGenericFunctionBounds","_getGenericFunctionParameterIndex","_getInterfaceName","_getInterfaceTypeArguments","_getIsSubtypeCache","_getKind","_getNamed","_getOptionalPositional","_getPrimary","_getPropertyTrustType","_getQuestionArgument","_getRecordFields","_getRecordPartialShapeTag","_getRequiredPositional","_getReturnType","_getRuntimeTypeOfArrayAsRti","_getSpecializedTestResource","_getStarArgument","_guardCallback","_hasError","_hasOneListener","_hasPending","_hasTableEntry","_hasTimer","_installRti","_isAddingStream","_isCanceled","_isChained","_isCheck","_isClosure","_isComplete","_isDartObject","_isEmpty","_isFiring","_isInitialState","_isInputPaused","_isSubtypeUncached","_lookupAnyRti","_lookupDynamicRti","_lookupErasedRti","_lookupFutureRti","_lookupNeverRti","_lookupVoidRti","_mayAddEvent","_mayAddListener","_mayComplete","_mayResumeInput","_name","_objectToString","_onError","_onValue","_outputController","_parseRecipe","_recipeJoin","_removeListener","_removeListeners","_scheduleImmediate","_set","_setAsCheckFunction","_setBindCache","_setCachedRuntimeType","_setCanonicalRecipe","_setError","_setErrorObject","_setEvalCache","_setIsTestFunction","_setKind","_setNamed","_setOptionalPositional","_setPrecomputed1","_setPrimary","_setRequiredPositional","_setRest","_setSpecializedTestResource","_setValue","_stringToSafeString","_target","_theUniverse","_trySetStackTrace","_unstar","_whenCompleteAction","_writeOne","_writeString","_zone","allocate","arrayAt","arrayConcat","arrayLength","arraySplice","asBool","asInt","asRti","asRtiOrNull","asString","as_Type","broadcast","charCodeAt","checkGrowable","collectNamed","constructorNameFallback","contains","defineProperty","dispatchRecordExtension","dispatchRecordIndexability","dispatchRecordInterceptor","dispatchRecordProto","environment","erasedTypes","evalCache","evalTypeVariable","fieldADI","fieldNI","fixed","future","getDispatchProperty","getLegacyErasedRecipe","getProperty","getRuntimeTypeOfInterceptorNotArray","globalContext","handleNamedGroup","handleNext","handleOptionalGroup","handleStartRecord","handleUncaughtError","handleValue","handleWhenComplete","handlesComplete","handlesValue","hasErrorCallback","hasErrorTest","identityHashCode","instanceTypeName","interceptorFieldName","interceptorsByTag","isArray","isClosed","isDigit","isEmpty","isIdentical","isScheduled","jsonEncodeNative","leafTags","listToString","lookupSupertype","lookupTypeVariable","mapGet","mapSet","markFixed","markFixedList","normalize","objectKeys","objectToHumanReadableString","onReceive","perform","pop","position","printToConsole","propertyGet","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","push","pushStackFrame","receiverFieldName","recipe","sendMessage","sharedEmptyArray","shouldChain","stack","staticInteropGlobalContext","stream","stringIndexOf","stringSafeToString","stringSplit","substring","thenAwait","toGenericFunctionParameter","tryStringifyException","typeRules","typed","universe","unmangleGlobalNameIfPreservedAnyways","write","writeAll","zoned"], - "mappings": "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", + "sources": ["org-dartlang-sdk:///lib/_internal/js_runtime/lib/interceptors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_helper.dart","org-dartlang-sdk:///lib/internal/internal.dart","org-dartlang-sdk:///lib/internal/iterable.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_names.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart","org-dartlang-sdk:///lib/core/errors.dart","org-dartlang-sdk:///lib/core/exceptions.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_array.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/records.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/string_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_typed_data.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/synced/recipe_syntax.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/async_patch.dart","org-dartlang-sdk:///lib/async/future_impl.dart","org-dartlang-sdk:///lib/async/zone.dart","org-dartlang-sdk:///lib/async/async_error.dart","org-dartlang-sdk:///lib/async/schedule_microtask.dart","org-dartlang-sdk:///lib/async/stream.dart","org-dartlang-sdk:///lib/async/stream_impl.dart","org-dartlang-sdk:///lib/async/stream_controller.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/collection_patch.dart","org-dartlang-sdk:///lib/collection/maps.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/core_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_string.dart","org-dartlang-sdk:///lib/core/iterable.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_allow_interop_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_util_patch.dart","worker.dart","org-dartlang-sdk:///lib/async/broadcast_stream_controller.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_primitives.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/late_helper.dart","org-dartlang-sdk:///lib/internal/errors.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_unsafe_patch.dart","org-dartlang-sdk:///lib/collection/list.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart","org-dartlang-sdk:///lib/core/null.dart","org-dartlang-sdk:///lib/core/stacktrace.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_patch.dart","org-dartlang-sdk:///lib/js_interop_unsafe/js_interop_unsafe.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.dart","org-dartlang-sdk:///lib/core/print.dart"], + "names": ["makeDispatchRecord","getNativeInterceptor","lookupInterceptorByConstructor","JS_INTEROP_INTERCEPTOR_TAG","cacheInterceptorOnConstructor","checkNotNullable","isToStringVisiting","MappedIterable","unminifyOrTag","isJsIndexable","S","Primitives.objectHashCode","Primitives.objectTypeName","Primitives._objectTypeNameNewRti","Primitives.safeToString","Primitives.stringSafeToString","Primitives.extractStackTrace","ioore","diagnoseIndexError","wrapException","initializeExceptionWrapper","toStringWrapper","throwExpression","throwExpressionWithWrapper","throwUnsupportedOperation","_diagnoseUnsupportedOperation","throwConcurrentModificationError","TypeErrorDecoder.extractPattern","TypeErrorDecoder.provokeCallErrorOn","TypeErrorDecoder.provokePropertyErrorOn","JsNoSuchMethodError","unwrapException","saveStackTrace","_unwrapNonDartException","getTraceFromException","objectHashCode","_invokeClosure","Exception","convertDartClosureToJS","convertDartClosureToJSUncached","Closure.fromTearOff","Closure._computeSignatureFunctionNewRti","Closure.cspForwardCall","Closure.forwardCallTo","Closure.cspForwardInterceptedCall","Closure.forwardInterceptedCallTo","closureFromTearOff","BoundClosure.evalRecipe","evalInInstance","_rtiEval","BoundClosure.receiverOf","BoundClosure.interceptorOf","BoundClosure._computeFieldNamed","throwCyclicInit","getIsolateAffinityTag","lookupAndCacheInterceptor","setDispatchProperty","patchInstance","lookupInterceptor","patchProto","patchInteriorProto","makeLeafDispatchRecord","makeDefaultDispatchRecord","initNativeDispatch","initNativeDispatchContinue","initHooks","applyHooksTransformer","createRecordTypePredicate","quoteStringForRegExp","_checkValidIndex","Rti._getQuestionFromStar","Rti._getStarArgument","Rti._getFutureFromFutureOr","Rti._getFutureOrArgument","Rti._isUnionOfFunctionType","Rti._getKind","Rti._getCanonicalRecipe","findType","_substitute","Rti._getInterfaceName","Rti._getBindingBase","Rti._getRecordPartialShapeTag","Rti._getReturnType","Rti._getGenericFunctionBase","Rti._getGenericFunctionParameterIndex","_substituteArray","_substituteNamed","_substituteFunctionParameters","_FunctionParameters.allocate","_setArrayType","closureFunctionType","instanceOrFunctionType","instanceType","_arrayInstanceType","_instanceType","_instanceTypeFromConstructor","_instanceTypeFromConstructorMiss","getTypeFromTypesTable","getRuntimeTypeOfDartObject","_structuralTypeOf","_instanceFunctionType","createRuntimeType","_createAndCacheRuntimeType","_createRuntimeType","_Type","typeLiteral","_installSpecializedIsTest","isDefinitelyTopType","_recordSpecializedIsTest","_finishIsFn","_installSpecializedAsCheck","_nullIs","_generalIsTestImplementation","_generalNullableIsTestImplementation","Rti._getQuestionArgument","_isTestViaProperty","_isListTestViaProperty","_generalAsCheckImplementation","_generalNullableAsCheckImplementation","_failedAsCheck","_Error.compose","_TypeError.fromMessage","_TypeError.forType","_isFutureOr","_isObject","_asObject","_isTop","_asTop","_isNever","_isBool","_asBool","_asBoolS","_asBoolQ","_asDouble","_asDoubleS","_asDoubleQ","_isInt","_asInt","_asIntS","_asIntQ","_isNum","_asNum","_asNumS","_asNumQ","_isString","_asString","_asStringS","_asStringQ","_rtiArrayToString","_recordRtiToString","_functionRtiToString","isLegacyObjectType","_rtiToString","_unminifyOrTag","_Universe.findRule","_Universe._findRule","_Universe.findErasedType","_Universe.addRules","_Universe.addErasedTypes","_Universe.eval","_Universe.evalInEnvironment","_Universe.bind","_Universe._installTypeTests","_Universe._lookupTerminalRti","Rti.allocate","_Universe._createTerminalRti","_Universe._installRti","_Universe._lookupStarRti","_Universe._createStarRti","_Universe._lookupQuestionRti","_Universe._createQuestionRti","_Universe._lookupFutureOrRti","_Universe._createFutureOrRti","_Universe._lookupGenericFunctionParameterRti","_Universe._createGenericFunctionParameterRti","_Universe._canonicalRecipeJoin","_Universe._canonicalRecipeJoinNamed","_Universe._lookupInterfaceRti","_Universe._canonicalRecipeOfInterface","_Universe._createInterfaceRti","_Universe._lookupBindingRti","_Universe._createBindingRti","_Universe._lookupRecordRti","_Universe._createRecordRti","_Universe._lookupFunctionRti","_Universe._canonicalRecipeOfFunction","_Universe._canonicalRecipeOfFunctionParameters","_Universe._createFunctionRti","_Universe._lookupGenericFunctionRti","_Universe._createGenericFunctionRti","_Parser.create","_Parser.parse","_Parser.toGenericFunctionParameter","_Parser.pushStackFrame","_Parser.collectArray","_Parser.handleOptionalGroup","_Parser.collectNamed","_Parser.handleNamedGroup","_Parser.handleStartRecord","_Parser.handleDigit","_Parser.handleIdentifier","_Universe.evalTypeVariable","_Parser.handleTypeArguments","_Parser.handleArguments","_Parser.handleExtendedOperations","_Parser.toType","_Parser.toTypes","_Parser.toTypesNamed","_Parser.indexToType","isSubtype","_isSubtype","isBottomType","_isFunctionSubtype","_isInterfaceSubtype","_Utils.newArrayOrEmpty","_areArgumentsSubtypes","_isRecordSubtype","isNullable","isSoundTopType","_Utils.objectAssign","_AsyncRun._initializeScheduleImmediate","_AsyncRun._scheduleImmediateJsOverride","_AsyncRun._scheduleImmediateWithSetImmediate","_AsyncRun._scheduleImmediateWithTimer","_TimerImpl","_makeAsyncAwaitCompleter","_AsyncAwaitCompleter._future","_asyncStartSync","_asyncAwait","_asyncReturn","_asyncRethrow","_awaitOnObject","_wrapJsFunctionForAsync","AsyncError.defaultStackTrace","_Future._chainCoreFutureSync","_Future._chainCoreFutureAsync","_Future._propagateToListeners","_registerErrorHandler","_microtaskLoop","_startMicrotaskLoop","_scheduleAsyncCallback","_schedulePriorityAsyncCallback","scheduleMicrotask","StreamIterator","_runGuarded","_ControllerSubscription","_BufferingStreamSubscription","_BufferingStreamSubscription._registerErrorHandler","_nullErrorHandler","_rootHandleError","_rootRun","_rootRunUnary","_rootRunBinary","_rootScheduleMicrotask","_HashMap._getTableEntry","_HashMap._setTableEntry","_HashMap._newHashTable","MapBase.mapToString","Error._throw","List.filled","JSArray.fixed","JSArray.markFixed","StringBuffer._writeAll","StackTrace.current","Error.safeToString","Error.throwWithStackTrace","AssertionError","ArgumentError","ArgumentError.value","RangeError.range","IndexError.withLength","UnsupportedError","UnimplementedError","StateError","ConcurrentModificationError","Iterable.iterableToShortString","Iterable.iterableToFullString","_iterablePartsToStrings","_callDartFunctionFast1","_noJsifyRequired","jsify","callbackToStream","StreamController.broadcast","_BroadcastStreamController.stream","Worker","main","Worker.onReceive","_StreamController.stream","printString","throwLateFieldADI","throwUnnamedLateFieldNI","JSObjectUnsafeUtilExtension._callMethod","Interceptor.hashCode","Interceptor.toString","Interceptor.runtimeType","JSBool.toString","JSBool.hashCode","JSBool.runtimeType","JSNull.toString","JSNull.hashCode","LegacyJavaScriptObject.toString","LegacyJavaScriptObject.hashCode","JavaScriptFunction.toString","JavaScriptBigInt.toString","JavaScriptBigInt.hashCode","JavaScriptSymbol.toString","JavaScriptSymbol.hashCode","JSArray.addAll","JSArray.map","JSArray.elementAt","JSArray.toString","JSArray.iterator","JSArray.hashCode","JSArray.length","ArrayIterator.current","ArrayIterator.moveNext","JSNumber.toString","JSNumber.hashCode","JSNumber._shrOtherPositive","JSNumber._shrBothPositive","JSNumber.runtimeType","JSInt.runtimeType","JSNumNotInt.runtimeType","JSString.toString","JSString.hashCode","JSString.runtimeType","JSString.length","LateError.toString","ListIterable.iterator","ListIterable.map","ListIterator.current","ListIterator.moveNext","MappedIterable.iterator","MappedIterable.length","MappedIterator.moveNext","MappedIterator.current","MappedListIterable.length","MappedListIterable.elementAt","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.hashCode","BoundClosure.toString","_CyclicInitializationError.toString","RuntimeError.toString","initHooks.","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","Rti._eval","Rti._bind","_rtiBind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_awaitOnObject.","_wrapJsFunctionForAsync.","AsyncError.toString","_BroadcastSubscription._onPause","_BroadcastSubscription._onResume","_BroadcastStreamController._mayAddEvent","_BroadcastStreamController._subscribe","_DoneStreamSubscription","_BroadcastSubscription","_BroadcastStreamController._recordPause","_BroadcastStreamController._recordResume","_BroadcastStreamController._addEventError","_BroadcastStreamController._forEachListener","_BroadcastStreamController._callOnCancel","_SyncBroadcastStreamController._mayAddEvent","_SyncBroadcastStreamController._addEventError","_SyncBroadcastStreamController._sendData","_SyncBroadcastStreamController._sendData.","_SyncBroadcastStreamController__sendData_closure","_FutureListener.matchesErrorTest","_FutureListener.handleError","_Future._setChained","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._completeWithValue","_Future._completeError","_Future._setError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFutureAsync.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","Stream.length","Stream.length.","Stream_length_closure","_Future._complete","_StreamController._pendingEvents","_StreamController._ensurePendingEvents","_StreamController._subscription","_StreamController._badEventState","_StreamController._subscribe","_BufferingStreamSubscription._guardCallback","_StreamController._recordPause","_StreamController._recordResume","_StreamController._subscribe.","_AsyncStreamControllerDispatch._sendData","_ControllerStream.hashCode","_ControllerSubscription._onPause","_ControllerSubscription._onResume","_BufferingStreamSubscription._setPendingEvents","_BufferingStreamSubscription._add","_BufferingStreamSubscription._onPause","_BufferingStreamSubscription._onResume","_BufferingStreamSubscription._addPending","_BufferingStreamSubscription._sendData","_BufferingStreamSubscription._checkState","_BufferingStreamSubscription._mayResumeInput","_StreamImpl.listen","_StreamImpl.listen[function-entry$1]","_PendingEvents.schedule","_PendingEvents.add","_PendingEvents.schedule.","_PendingEvents.handleNext","_DoneStreamSubscription._onMicrotask","_rootHandleError.","_RootZone.runGuarded","_RootZone.runUnaryGuarded","_RootZone.runUnaryGuarded[function-entry$2]","_RootZone.bindCallbackGuarded","_RootZone.run","_RootZone.run[function-entry$1]","_RootZone.runUnary","_RootZone.runUnary[function-entry$2]","_RootZone.runBinary","_RootZone.runBinary[function-entry$3]","_RootZone.registerBinaryCallback","_RootZone.registerBinaryCallback[function-entry$1]","_RootZone.bindCallbackGuarded.","_HashMap.keys","_HashMap.length","_HashMap.containsKey","_HashMap._containsKey","_HashMap.[]","_HashMap._get","_HashMap.[]=","_IdentityHashMap._computeHashCode","_HashMap.forEach","_HashMap._computeKeys","_HashMap._getBucket","_IdentityHashMap._findBucketIndex","_HashMapKeyIterable.length","_HashMapKeyIterable.iterator","_HashMapKeyIterator.current","_HashMapKeyIterator.moveNext","ListBase.iterator","ListBase.elementAt","ListBase.map","ListBase.toString","MapBase.forEach","MapBase.length","MapBase.toString","MapBase.mapToString.","StringBuffer.write","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","Iterable.map","Iterable.length","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.toString","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","jsify._convert","callbackToStream.eventFunction","StreamController","Worker.","_StreamController.add","_StreamController._add","main.","jsSendMessage","Worker.sendMessage","print","DART_CLOSURE_PROPERTY_NAME","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","","$intercepted$elementAt1$ax","$intercepted$get$hashCode$IJavaScriptBigIntJavaScriptSymbolLegacyJavaScriptObjectabnsu","$intercepted$get$iterator$ax","$intercepted$get$length$asx","$intercepted$get$runtimeType$Ibdinsux","$intercepted$map11$ax","$intercepted$toString0$IJavaScriptBigIntJavaScriptFunctionJavaScriptSymbolLegacyJavaScriptObjectabnsux","ArrayIterator","AsyncError","BoundClosure","ByteBuffer","ByteData","Closure","Closure0Args","Closure2Args","EfficientLengthIterable","EfficientLengthMappedIterable","Error","ExceptionAndStackTrace","FixedLengthListMixin","Float32List","Float64List","Function","Future","IndexError","Int16List","Int32List","Int8List","Interceptor","Iterable","JSArray","JSBool","JSInt","JSNull","JSNumNotInt","JSNumber","JSObject","JSObjectUnsafeUtilExtension|_callMethod","JSString","JSUnmodifiableArray","JS_CONST","JavaScriptBigInt","JavaScriptFunction","JavaScriptIndexingBehavior","JavaScriptObject","JavaScriptSymbol","LateError","LegacyJavaScriptObject","List","ListBase","ListIterable","ListIterator","Map","MapBase","MapBase_mapToString_closure","MappedIterator","MappedListIterable","NativeByteBuffer","NativeByteData","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeTypedData","NativeUint16List","NativeUint32List","NativeUint8ClampedList","NativeUint8List","Null","NullError","NullThrownFromJavaScriptException","Object","PlainJavaScriptObject","RangeError","Record","Rti","RuntimeError","StackOverflowError","StackTrace","StaticClosure","Stream","String","StringBuffer","TearOffClosure","TrustedGetRuntimeType","TypeError","TypeErrorDecoder","Uint16List","Uint32List","Uint8ClampedList","Uint8List","UnknownJavaScriptObject","UnknownJsTypeError","Worker_closure","_AsyncAwaitCompleter","_AsyncCallbackEntry","_AsyncRun__initializeScheduleImmediate_closure","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_AsyncStreamController","_AsyncStreamControllerDispatch","_BroadcastStream","_BroadcastStreamController","_ControllerStream","_CyclicInitializationError","_DelayedData","_DelayedEvent","_Error","_Exception","_FunctionParameters","_Future","_FutureListener","_Future__addListener_closure","_Future__asyncCompleteError_closure","_Future__asyncCompleteWithValue_closure","_Future__chainCoreFutureAsync_closure","_Future__chainForeignFuture_closure","_Future__prependListeners_closure","_Future__propagateToListeners_handleError","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_HashMap","_HashMapKeyIterable","_HashMapKeyIterator","_IdentityHashMap","_JS_INTEROP_INTERCEPTOR_TAG","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_PendingEvents","_PendingEvents_schedule_closure","_RootZone","_RootZone_bindCallbackGuarded_closure","_StackTrace","_StreamController","_StreamController__subscribe_closure","_StreamImpl","_StreamIterator","_StringStackTrace","_SyncBroadcastStreamController","_TimerImpl_internalCallback","_TypeError","_Zone","_awaitOnObject_closure","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","_chainCoreFutureAsync","_chainCoreFutureSync","_computeFieldNamed","_computeSignatureFunctionNewRti","_createFutureOrRti","_createGenericFunctionRti","_createQuestionRti","_createStarRti","_current","_getCanonicalRecipe","_getFutureFromFutureOr","_getQuestionFromStar","_getTableEntry","_identityHashCodeProperty","_initializeScheduleImmediate","_installTypeTests","_interceptorFieldNameCache","_isInCallbackLoop","_isUnionOfFunctionType","_lastCallback","_lastPriorityCallback","_lookupBindingRti","_lookupFunctionRti","_lookupFutureOrRti","_lookupGenericFunctionParameterRti","_lookupGenericFunctionRti","_lookupInterfaceRti","_lookupQuestionRti","_lookupRecordRti","_lookupStarRti","_lookupTerminalRti","_newHashTable","_nextCallback","_objectTypeNameNewRti","_propagateToListeners","_receiverFieldNameCache","_rootHandleError_closure","_scheduleImmediateClosure","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_setTableEntry","_throw","_wrapJsFunctionForAsync_closure","_writeAll","addErasedTypes","addRules","alternateTagFunction","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","async___nullErrorHandler$closure","async___startMicrotaskLoop$closure","bind","bool","callbackToStream_eventFunction","collectArray","compose","create","cspForwardCall","cspForwardInterceptedCall","current","defaultStackTrace","dispatchRecordsForInstanceTags","double","eval","evalInEnvironment","evalRecipe","extractPattern","extractStackTrace","filled","findErasedType","findRule","forType","forwardCallTo","forwardInterceptedCallTo","fromMessage","fromTearOff","getInterceptor$","getInterceptor$asx","getInterceptor$ax","getTagFunction","handleArguments","handleDigit","handleExtendedOperations","handleIdentifier","handleTypeArguments","indexToType","initHooks_closure","initNativeDispatchFlag","int","interceptorOf","interceptorsForUncacheableTags","iterableToFullString","iterableToShortString","jsify__convert","main_closure","mapToString","newArrayOrEmpty","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","nullLiteralPropertyPattern","nullPropertyPattern","num","objectAssign","objectTypeName","parse","prototypeForTagFunction","provokeCallErrorOn","provokePropertyErrorOn","range","receiverOf","safeToString","throwWithStackTrace","toStringVisiting","toType","toTypes","toTypesNamed","undefinedCallPattern","undefinedLiteralCallPattern","undefinedLiteralPropertyPattern","undefinedPropertyPattern","value","withLength","$index","$indexSet","_addEventError","add","addAll","bindCallbackGuarded","call","containsKey","dart:_interceptors#_shrBothPositive","dart:_interceptors#_shrOtherPositive","dart:_rti#_bind","dart:_rti#_eval","dart:async#_add","dart:async#_addEventError","dart:async#_addListener","dart:async#_addPending","dart:async#_asyncComplete","dart:async#_asyncCompleteError","dart:async#_asyncCompleteWithValue","dart:async#_badEventState","dart:async#_callOnCancel","dart:async#_chainForeignFuture","dart:async#_chainFuture","dart:async#_checkState","dart:async#_cloneResult","dart:async#_completeError","dart:async#_completeWithValue","dart:async#_ensurePendingEvents","dart:async#_forEachListener","dart:async#_mayAddEvent","dart:async#_mayComplete","dart:async#_onMicrotask","dart:async#_onPause","dart:async#_onResume","dart:async#_pendingEvents","dart:async#_prependListeners","dart:async#_recordPause","dart:async#_recordResume","dart:async#_removeListeners","dart:async#_reverseListeners","dart:async#_sendData","dart:async#_setChained","dart:async#_setErrorObject","dart:async#_setPendingEvents","dart:async#_subscribe","dart:async#_subscription","dart:async#_thenAwait","dart:async#_varData=","dart:collection#_computeKeys","dart:collection#_containsKey","dart:collection#_findBucketIndex","dart:collection#_get","dart:collection#_getBucket","dart:core#_errorExplanation","dart:core#_errorName","elementAt","forEach","handleError","hashCode","invalidValue","iterator","keys","length","listen","map","matchTypeError","matchesErrorTest","moveNext","pause","registerBinaryCallback","resume","run","runBinary","runGuarded","runUnary","runUnaryGuarded","runtimeType","schedule","stackTrace","then","toString","Rti._unstar","isTopType","_Universe._canonicalRecipeOfStar","_Universe._canonicalRecipeOfQuestion","_Universe._canonicalRecipeOfFutureOr","_Universe._canonicalRecipeOfBinding","_Universe._canonicalRecipeOfGenericFunction","Error._stringToSafeString","_HashMap._set","JSObjectUnsafeUtilExtension|callMethod","JSObjectUnsafeUtilExtension|getProperty","NullableObjectUtilExtension|jsify","_","_add","_addListener","_asCheck","_canonicalRecipeOfBinding","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_canonicalRecipeOfFutureOr","_canonicalRecipeOfGenericFunction","_canonicalRecipeOfInterface","_canonicalRecipeOfQuestion","_canonicalRecipeOfRecord","_canonicalRecipeOfStar","_chainSource","_cloneResult","_complete","_computeHashCode","_computeIdentityHashCodeProperty","_createBindingRti","_createFunctionRti","_createGenericFunctionParameterRti","_createInterfaceRti","_createRecordRti","_createSubscription","_createTerminalRti","_createTimer","_error","_errorTest","_expectsEvent","_failedAsCheckError","_findRule","_functionToJS1","_future","_getBindCache","_getBindingArguments","_getBindingBase","_getCachedRuntimeType","_getEvalCache","_getFunctionParameters","_getFutureOrArgument","_getGenericFunctionBase","_getGenericFunctionBounds","_getGenericFunctionParameterIndex","_getInterfaceName","_getInterfaceTypeArguments","_getIsSubtypeCache","_getKind","_getNamed","_getOptionalPositional","_getPrimary","_getQuestionArgument","_getRecordFields","_getRecordPartialShapeTag","_getRequiredPositional","_getReturnType","_getRuntimeTypeOfArrayAsRti","_getSpecializedTestResource","_getStarArgument","_guardCallback","_hasError","_hasOneListener","_hasPending","_hasTableEntry","_hasTimer","_installRti","_isAddingStream","_isCanceled","_isChained","_isCheck","_isClosure","_isComplete","_isDartObject","_isEmpty","_isFiring","_isInitialState","_isInputPaused","_isSubtypeUncached","_lookupAnyRti","_lookupDynamicRti","_lookupErasedRti","_lookupFutureRti","_lookupNeverRti","_lookupVoidRti","_mayAddEvent","_mayAddListener","_mayResumeInput","_name","_objectToString","_onError","_onValue","_outputController","_parseRecipe","_recipeJoin","_removeListener","_removeListeners","_scheduleImmediate","_set","_setAsCheckFunction","_setBindCache","_setCachedRuntimeType","_setCanonicalRecipe","_setError","_setErrorObject","_setEvalCache","_setIsTestFunction","_setKind","_setNamed","_setOptionalPositional","_setPrecomputed1","_setPrimary","_setRequiredPositional","_setRest","_setSpecializedTestResource","_setValue","_stringToSafeString","_target","_theUniverse","_unstar","_whenCompleteAction","_writeOne","_writeString","_zone","allocate","arrayAt","arrayConcat","arrayLength","arraySplice","asBool","asInt","asRti","asRtiOrNull","asString","as_Type","broadcast","charCodeAt","checkGrowable","collectNamed","complete","completeError","constructorNameFallback","contains","defineProperty","dispatchRecordExtension","dispatchRecordIndexability","dispatchRecordInterceptor","dispatchRecordProto","environment","erasedTypes","evalCache","evalTypeVariable","fieldADI","fieldNI","fixed","future","getDispatchProperty","getLegacyErasedRecipe","getProperty","getRuntimeTypeOfInterceptorNotArray","globalContext","handleNamedGroup","handleNext","handleOptionalGroup","handleStartRecord","handleUncaughtError","handleValue","handleWhenComplete","handlesComplete","handlesValue","hasErrorCallback","hasErrorTest","identityHashCode","instanceTypeName","interceptorFieldName","interceptorsByTag","isArray","isClosed","isDigit","isEmpty","isIdentical","isScheduled","jsonEncodeNative","leafTags","listToString","lookupSupertype","lookupTypeVariable","mapGet","mapSet","markFixed","markFixedList","normalize","objectKeys","objectToHumanReadableString","onReceive","perform","pop","position","printToConsole","propertyGet","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","push","pushStackFrame","receiverFieldName","recipe","sendMessage","sharedEmptyArray","shouldChain","stack","stream","stringIndexOf","stringSafeToString","stringSplit","substring","thenAwait","toGenericFunctionParameter","tryStringifyException","typeRules","typed","universe","unmangleGlobalNameIfPreservedAnyways","write","writeAll","zoned"], + "mappings": "A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4FAA,UA6BEA,uBAEFA,C;EASAC,qBApDSA,EACiBA;AAsDxBA,eACMA,WACFA;GAzDGA,EACiBA,uBA6DxBA,eAhB6BA;AAkB3BA,UAAoBA,QAnBaA,EA0ErCA;AAtDIA,UAAmBA,QAsDvBA;AArDsBA;AAClBA,SACEA,QAvB+BA,EA0ErCA;IAxEmCA,OA8B7BA,UAAMA,+BAA4CA,IAD3BA,aAOTA;WAEdA;QAuCGC;WCqpFAC,QADgBA;GD9oFjBF,IA7CNA,WAAyBA,QAkC3BA;AA9BgBA;AACdA,WAAyBA,QA6B3BA;AAvBEA,wBAIEA,QAHcA,EAsBlBA;AAjBcA;AACZA,WAEEA,QAIcA,EAUlBA;wBAPIA,QAHcA,EAUlBA;AALEA,4BAUOG;WCqpFAD,QADgBA;ACzxFvBC,kCF+HOH;AAFLA,QAEKA,EACTA,CADEA,QAAOA,EACTA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EGsiBEI,QAIAA,QACFA,C;EAwSKC,IACHA;OAAoBA,EAAiBA,YAArCA,gBAAoBA,EACIA,IAAsBA,QAGhDA;AADEA,QACFA,C;ECxqBUC,UACOA,YACXA,OAsBJA,2CAnBAA;AADEA,OAGFA,yCAFAA,C;;;;;;;;;;;;;;;;;;;;;;;;;EHvRKC,WIhFOA,mBACLA;AJiFPA,WAAuBA,QAGzBA;AAF+BA,mBAE/BA,C;EAuBKC,MACHA;eDF0CA;ACIxCA,WAAoBA,QAGxBA,CADEA,OAAcA,QAChBA,C;CAEOC,IACLA;sBAAqBA,QAmBvBA;AAlBEA,uBACEA,SAEEA,UAeNA,MAbSA,UACLA,YAYJA;KAXSA,UACLA,aAUJA;KATSA,WACLA,YAQJA;AANeA;AAKbA,QACFA,C;EA2HaC,aAELA;WAUFA;GATUA;AACZA;AAgJOC,OA5IPD,QACFA,C;EA0IcC,IACZA,cACFA,C;EAOcC,IACRA;AKmeCA,iBLneuBA,GAG1BA,WK+dMA,aL3bVA;AAjCoBA;AAGPA,QAFgBA,SACAA,cCvLtBA,GACHA;ADyMAA,wBAAwCA,QAY5CA;GAXsBA;AAClBA,4BACwBA;AACtBA,4CAEEA,QAMRA,EADEA,OK6bKA,IADGA,aL3bVA,C;EAecC,IACkCA,+BAC5CA,OAAOA,OAcXA;AAZEA,sBACEA,OAs2EGC,iBA31EPD;AAPWA,oBAAPA,aAOJA;AADEA,sBAvBcA,WAwBhBA,C;EA0kBmBE,WACHA;AACdA,WAAqBA,WAEvBA;AADEA,OAAOA,MACTA,C;CA0BFC,MACEA,WAA+BA;AAC/BA,UAAMA,UACRA,C;EAKMC,MACJA;YAAmBA,OMl6BnBA,oBN66BFA;AAVyBA;AAIvBA,aACEA,OAAkBA,aAKtBA;AADEA,OM92BAA,+CN+2BFA,C;CAgEAC,IAEEA,OAAOA,KADSA,cAElBA,C;EAGAC,MACEA;WM/iCIA;;;ANmjCJA,+BAKEA;eAgBKC;AAPPD,QACFA,C;EAGAC,GAGEA,gBAAOA,eACTA,C;EAOMC,IAEJA,MAAyBA,MAC3BA,C;EAEMC,MACJA,MAAyBA,SAC3BA,C;EAYMC,QAKMA;WAAIA;;AAEEA;AAChBA,KACIA,cACNA,C;EAGMC,QAEGA;AAGPA,sBA8CkBA;2IA3CFA;GACIA;AACNA;AACZA,QAIgBA;AACNA,QAGEA,uDAMEA,UAEPA;AAMHA;;AAFWA;AASjBA,aAEcA;KACPA,cAEOA;AADFA;AAQZA,OM5xBAA,wCN6xBFA,C;EAuBAC,IACEA,UAAMA,QACRA,C;CAqJSC,IAULA;AAIUA,OAJAA;AAUNA;AACJA,WAA2BA;AAKXA;AACIA;AACTA;AACEA;AACEA;AAiBfA,OArHFA,mRAyGmBA,4EAcnBA,C;EAMcC,IAmDZA,OAReA;gEAQRA,GACTA,C;EAkCcC,IASZA,OAPeA,gEAORA,GACTA,C;EA8CAC,8BACuCA;AADvCA,4BAGiCA,UAHjCA,AAGuEA,C;CA+ClEC,IAGLA,WACEA,OA7BFA,WA2CFA;AAVWA,qBAAPA,cAA6BA,GAUjCA;AANEA,uBAA6CA,QAM/CA;AAJEA,wBACEA,OAAOA,OAAmBA,eAG9BA;AADEA,OAAOA,OACTA,C;CAKOC,MACKA,gBACeA;AAKzBA,QACFA,C;EAEOC,IACLA;qBACEA,QAqGJA;GAjGgBA;gDAMCA;AAKKA;AACMA,4BAKtBA,mBAEIA,OAAOA,MACCA,KAAsBA,8BA6ExCA;mBA1EgDA;AAAtCA,OAAOA,MA5HfA,WAsMFA,EArEEA,2BAE8BA;AACMA;AACFA;AACOA;AACNA;AACOA;AACJA;AACOA;AACNA;AACOA;AAC/BA;AAAbA,WACEA,OAAOA,MAAmBA,UAwDhCA;KAvDwBA;AAAbA,YAMEA;AAAPA,aAA0BA,UAiDhCA,MAhDwBA,iBACPA,cACAA,cACAA,cACAA,cACAA,cACAA,cACAA,aACXA,OAAOA,MA9JXA,WAsMFA,CAlCIA,OAAOA,MAtITA,kCAwKFA,CA9BEA,4BC1zDOA,oDD4zDHA,OMnuCEA,UN+vCRA;yDAMSA;AAvBLA,OAAOA,MMtpDTA,wCNopDcA,mCAmBhBA,CAbEA,gEAIEA,gDACEA,OMvvCEA,UN+vCRA;AADEA,QACFA,C;CAqBWC,IACTA;qBACEA,QAAiBA,EAiBrBA;AAfEA,WAAuBA,OAoBvBA,WALFA;GAduBA;AACrBA,WAAmBA,QAarBA;AAKEA;AAVAA;AAIAA,QACFA,C;EAwBIC,IAEFA,WAAoBA,OAAcA,OAMpCA;AALEA,sBACEA,OAAkBA,OAItBA;AADEA,OAAcA,OAChBA,C;EAwEAC,cAEEA,iBAEIA,OAAOA,MAWbA;OATMA,OAAOA,OASbA;OAPMA,OAAOA,SAObA;OALMA,OAAOA,WAKbA;OAHMA,OAAOA,aAGbA,CADEA,UOj+DAC,gEPk+DFD,C;EAIAE,aAEiBA;AACfA,OAAkCA,QAIpCA;AAHaA;;AAEXA,QACFA,C;EAEAC,MAOUA;AACRA,oBAEYA;AADVA;UAGUA;AADVA;UAGUA;AADVA;UAGUA;AADVA;UAGUA;AAVZA;QAYIA,OAAJA,WACEA,OAAOA,SA0BXA;AAXEA,uEAAOA,UAWTA,C;EA4BSC,iCAcDA,QAGAA,QAEAA,QACqBA,SAGrBA,QAGAA,QAEAA,OAKUA,OACKA,QACAA,SAOfA;EAAiEA;AA6B/DA,kBAoZEA,kCAlZFA,cAkbRA;eA/a0CA;AAkBDA,IAZjCA,+CAEIA;;;;;AAmBNA;AAAJA,KAEMA;;AAWgBA,KAJlBA;;AAOJA,eAAgCA,QAAhCA,QACiBA;AAGfA,0BAESA;AASaA;AAAUA,SAZdA;GAMKA;AAGvBA,YACEA,KAEMA;OAIRA;OAS+BA;OAKQA;AAKzCA,QACFA,C;EAEOC,QAELA,sBAEEA,QAoBJA;AAlBEA,uBAEEA,KAEEA;AAGFA,yDAAOA,QAWXA,CADEA,6CACFA,C;EAEOC;AAiBLA,sBAEIA,4DAAOA,KAuEbA;OA7DMA,8DAAOA,KA6DbA;OAnDMA,kEAAOA,KAmDbA;OAzCMA,sEAAOA,KAyCbA;OA/BMA,0EAAOA,KA+BbA;OArBMA,8EAAOA,KAqBbA;QAVMA,0EAAOA,KAUbA,E;EAIOC,UAELA,KACEA,OAAOA,WA4BXA;AAxBIA,OAAOA,MAHGA,cA2BdA,C;EAEOC;AAMLA,sBAIIA,UAwZNA;OAtZMA,qEAAOA,OA+EbA;OApEMA,wEAAOA,OAoEbA;OAzDMA,4EAAOA,OAyDbA;OA9CMA,gFAAOA,OA8CbA;OAnCMA,oFAAOA,OAmCbA;OAxBMA,wFAAOA,OAwBbA;QAbMA;;2BAAOA,OAabA,E;EAEOC,QAEEA;IA8ILA,UAA+BA;IAJ/BA,UAA4BA;GAxIlBA;AAIHA;AAAPA,QAwBJA,C;EAwBFC,IACEA,OAAeA,OACjBA,C;EAoESC,MACLA,OK/kEeC,MAHOC,cA8BRF,MLojEuBA,MACvCA,C;EAIOG,IAAoCA,QAAQA,EAASA,C;EAIrDC,IAAuCA,QAAQA,EAAYA,C;EAYpDC,IA/CdA,iDAkDMA;;AQ3gFGA;OR4gFmBA,YAA1BA,YACaA;YAETA,QAINA,CADEA,UAAMA,yCACRA,C;EA4IGC,IACHA,UAaAA,YAZFA,C;EAoEOC,IAELA,OAAOA,CADgBA,iBAEzBA,C;EChtFAC,IAE6BA,iBAAdA,aAIYA,GA/HlBA;AAgIPA,YAlFAC,yBFeYC;AEmEQF,QF5BeE,EE+FrCF,IAlEgCA,GAjIvBA;AAkIPA,WAAyBA,QAiE3BA;GA7HyBG,kBAtEhBA;AAuIPH,YACuCA,GAApBA;AACjBA,eAGuBA,GA5IlBA;AA6IHA,YA/FJC,yBFeYC;AEgFYF,QFzCWE,EE+FrCF,IArDgCA,GA9IvBA;AA+IHA,WAAyBA,QAoD/BA;GA7HyBG,kBAtEhBA;KAqJPH,WAQEA,WAsCJA;GAnCgBA;GAEHA;AAEXA,YACWA;CACGA;AAxHdC,yBFeYC;AE0GVF,QFnEiCE,EE+FrCF,CAzBEA,aACcA;AACZA,QAuBJA,CApBEA,YACyBA;AAlIzBC,sBA6JoBD,0BF9IRI;AEmHVJ,QF5EiCI,EE+FrCJ,CAhBEA,WACEA,OAAOA,SAeXA;AAZEA,WAEEA,UAAMA;IA7GMA,qBAmHWA;AAjJzBC,sBA6JoBD,0BF9IRI;AEkIVJ,QF3FiCI,EE+FrCJ,MAFIA,OAAOA,SAEXA,C;EAYAK,MACcA;AAlKZJ,yBFeYI,6BEoJCA;AAEbA,QACFA,C;EAEAC,IAGEA,OAAOA,uBACTA,C;EAEAC,eACoBA;AAGTA,IApJKA,oBAoJZA,cAIJA;KAFIA,OAAOA,mBAEXA,C;EAgBKC,YACSA,IAAwBA,MAGtCA;;AADEA,MACFA,C;EAGKC,GACHA;AAAiCA;AACAA;AAEjCA;GAzLuBA;AA+LRA;AAEfA,+BACgBA;AACJA;AACVA,WAAyBA,QAAzBA,QACYA;AACyBA,GAAvBA;AACZA,YAEeA,UADUA;AAEvBA,YAlONR,yBFeYQ;iBE+NZA,WAAyBA,QAAzBA,QACYA;gBACNA,YA9RCA;;;;;YAuSTA,C;EAmCKC,GAESA,mBAAcA;AAiBlBA,QACJA,GALIA,MAAsBA,GAFtBA,MADsBA,GAAtBA,MAAsBA,GADtBA,MAAsBA,GADtBA,MAAsBA,GAHtBA,KAFmCA,CACvCA,IAA+CA;AAqBnDA,2DACqBA;AACnBA,wBAGmCA;AAA/BA,oBACFA,WAAoBA,QAApBA,QACoBA;AAClBA,wBAmBSA,cAZFA;GACOA;GACEA;AAELA;AAEbA;AAEAA,gBACNA,C;EAEAC,MAEEA,OADeA,OAEjBA,C;EQhJQC,aAGeA,WAEPA,KAGGA;AAEjBA,WAGEA,WAsBJA;AAnBEA,SACEA,QAkBJA;AANWA,QAFWA,QAElBA,sBAMJA;AADEA,OAAOA,IACTA,C;ECpJAC,4BAGMA,QACFA,OAAOA,uCAGXA;AADEA,QACFA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CCo5DKC,QACHA,mBACEA,UAAMA,UAEVA,C;;;;;;;;;;;;;;;;;;;;EN74DaC,MAKOA,OAwiHoBA;AAriHpCA,gBAdIA,WAkjHyBC,QAniH/BD,C;EAEWE,MA2xEPA,OAuwCkCA;AA3hHpCA,gBAxBIA,gBAkjHyBC,MAzhH/BD,C;EAuEYE,WA+8GmBC;AA78G7BD,uBACEA,OAAOA,MA+8GoBA,GA58G/BA;AADEA,qBACFA,C;EAqJcE,IAGZA,QAmzGmCA,GAlzGrCA,C;EAsIEC,IASFA,OAAiBA,MAzBOA,mBA0B1BA,C;CAuEIC,6DAylG6BH;AAvlG/BG,8CAMIA,SAoFNA;WAggGiCA;AAhlGvBA;AACJA,SAAuDA,SA+E7DA;AA9EMA,OAAiBA,aA8EvBA;WAggGiCA;AA1kGvBA;AACJA,SAAuDA,SAyE7DA;AAxEMA,OAAiBA,aAwEvBA;WAggGiCA;AApkGvBA;AACJA,SAAuDA,SAmE7DA;AAlEMA,OAAiBA,aAkEvBA;WAhaWA;AAiWmCA;AAExCA,SAEEA,SA2DRA;AA1DMA,OAAiBA,UAyjGgBC,KA//FvCD;YAggGiCE;AAtjGLF;IAhWjBA;AAmWDA;AACJA,gBACyDA,SAiD/DA;AAhDMA,OAAiBA,YAgDvBA;YA7b6CG;IAiDlCH;AAkWDA;AACJA,SAAmDA,SAyCzDA;AAxCMA,OAAiBA,YAwCvBA;YAggGiCI;AApiGvBJ;IA/UCA;AAkVDA;AAEJA,gBAEEA,SA6BRA;AA5BMA,OAAiBA,YA4BvBA;YAzWWA;KA44GgCA;AAzjGjCA;IAshGuBK;AAphGLL;AACtBA,gBAC+CA,SAkBrDA;AAjBMA,OAAiBA,eAiBvBA;YA6/FiCM;AAxgG3BN,QAAmBA,SAWzBA;IAqiGkDA;AA1iG5CA,WAAsBA,SAK5BA;AAJMA,QAINA;QAFMA,UAAMA,yDAEZA,C;EAEQO,UAIkBA,eA6hGiBA;AA5hGzCA,yBAy/F+BA;AAv/FRA;AACrBA,SACYA;OAIdA,YACFA,C;EAEQC,UAKkBA,mBA4gGiBA;AA3gGzCA,0BA6gGgDA;;GArCjBA;AAp+FRA;AACrBA,SACYA;AAEZA,oBAGFA,YACFA,C;EAEoBC,UAKdA,SAzQAA,sBAQAA,KAqQAA,iBAnPAA,KAsPAA;AACJA,uBAEiDA,QAQnDA;AAhSMC;CAQSD;CAQAA;CAiBAA;AA8PbA,QACFA,C;EAcQE,SAEYA;AAElBA,QACFA,C;EAKKC,WAEaA;AAChBA,YACEA,sBACEA,OAAOA,OAabA;AAJMA,OA65F2BA,MAz5FjCA,CADEA,WACFA,C;EAOIC,MACFA;AAAQA,4BA5CNA,IAiDaA;AACXA,WAAiBA,QAIvBA,CADEA,OAAOA,OACTA,C;EAKIC,IAUOA,iBAxEPA,GAwEAA,cASJA;AAg5FoCA,oBAr5FhCA,OAAOA,OAKXA;AADEA,OAAOA,KADWA,QAEpBA,C;EAIIC,WAiBQA,EAAwBA;AAIlCA,WAAiBA,QAUnBA;iCALIA,QAKJA;AADEA,QACFA,C;EAKIC,IAEuCA,OAD/BA;AACVA,wBACFA,C;EAOIC,WACgBA,gBACNA;AACZA,WAAmBA,QAErBA;AADEA,OAAOA,SACTA,C;EAGIC,0BAxIAA,kDA2JMA,iBAGUA,MA9ZMA,eA+ZFA;;AAGtBA,QACFA,C;EASIC,aACUA,UAqzFoCA;AAnzFhDA,uBAtZiBA,QAzBOpB;AA8bjBqB;AAZLD,QAGJA,CADEA,QACFA,C;EAOKC,IAEHA,WADUA,QAEZA,C;EAyDIC,IAhFqBA,oBAxKrBC;AA2PFD,WAAyBA,QAO3BA;AANaA,YAETA,OAisFiCA,OAjsFLA,EAIhCA;AA4tFoCA,oBA9tFNA,OAxDlBA,OA0DZA;AADEA,OAAOA,OACTA,C;CAIKE,IAKUA,OAr0BTA;AAi0BJA,gBA/zBMC,YAg0BRD,C;EAQME,IA5nBKA,WAbKA;AA+oBdA,SACEA,QA/0BIC,GAk3BND,WA9BFA;AAHgCA,QAzhBNA;AA2gBXA,GAr0BTA;AAo1BJA,gBAl1BMD,YAo1BRC,C;CAsBKE,IACHA,OAAOA,IA1hBUA,MAzBO5B,oBAojB1B4B,C;EAuDKC,IAGCA;AAGKA,WAAPA,oBA4DJA;AA++EIC;KAA2CA;AAziF7CD,KACEA,OAAOA,aAyDXA;GA19BmDA;AAm6BjDA,SACEA,OAAOA,aAsDXA;AA7CEA,SACEA,OAAOA,aA4CXA;SAghFiCnC;GAHAI;AAnjF/B+B,SACEA,OAAOA,aAqCXA;;;;;AAjCEA,WACEA,OAAOA,UAgCXA;AA7BEA,aA4iFqC3B;AAriF/B2B,IA13BGA,iBA7FHA;AA+9BFA,WACEA,OAAOA,aAafA;AAVMA,OAAOA,aAUbA,OANSA,WAkCKA,QAm/EyBzB,IA34G5B2B;AAw3BPF,OAAOA,uBAIXA,CAFEA,OAAOA,aAETA,C;CAGKG,QAzkCMA,CAVHA;AAqlCNA,aACFA,C;EA8BQC;AA28EJH;KAh8E+CG;AALjDA;;KAMIA;AAFGA,YAznCEA,CATHA;AAyoCNA,aACFA,C;EAEKC,WAq9E4BpC;AAn9ExBoC,uCAGEA,SACmBA,kBAk9EGxC,KAj9ECwC,eAi9EDtC;AAt9E/BsC,QAOFA,C;EAGKC,IAGCA;AACJA,WAAoBA,OAAOA,OAG7BA;AADEA,OAAOA,MAvvBiBA,cAsvBRA,YAElBA,C;EAQKC,IACHA,WAAoBA,QAMtBA;AADEA,OA/pCSA,IAslHsBC,OAt7EjCD,C;EAGKE,IAGCA;AACJA,WAAoBA,OAAOA,OAY7BA;GA9lCeA;AA4lCKA,iBA3hBhBA,GAwhBAA,YAKJA;AADEA,kBACFA,C;EAIKC,IAGCA;AACJA,WAAoBA,OAAOA,OAoB7BA;AAdEA,sBAAgDA,QAclDA;AAw6EoCA,oBAp7ENA,QAY9BA;GA1nCeA;AAwnCKA,iBAvjBhBA,GAojBAA,YAKJA;AADEA,kBACFA,C;EAIQC,IAGFA;AACJA,YAEMA,WACFA,QAWNA,MAruCWA,UAmuCiCA,QAE5CA;AADEA,SACFA,C;EAIQC,IAGFA;AACJA,WACEA,QAGJA;KAjvCWA,UA+uCiCA,QAE5CA;AADEA,SACFA,C;EAQMC,MACJA,UALkBA,KADMA,OAAgBA,cAO1CA,C;EAqBgBC,MAIZA,OAHiCA,mBAEFA,IADfA,kDAKlBA,C;EAOAC,oCAAqEA,C;CAE7DC,MACNA,OAHFA,uBAGuCA,UACvCA,C;EAaGC,IA/yCMA,cAmlHsBhD,QAGAJ;AApyE/BoD,QAoyE+BlD,SAlyEnBkD,MA35BYA,iBAzZfA,IAqzCXA,C;EAIKC,IACHA,cACFA,C;EAIQC,IACNA,WAAoBA,QAStBA;AADEA,UAAiBA,gBACnBA,C;EAIKC,IACHA,QACFA,C;EAIQC,IACNA,QACFA,C;EAIKC,IACHA,QACFA,C;EAIKC,IACHA,oBACFA,C;EAMKC,IACHA,UAAoBA,QAGtBA;AAFEA,UAAqBA,QAEvBA;AADEA,UAAiBA,cACnBA,C;EAIMC,IACJA,UAAoBA,QAUtBA;AATEA,UAAqBA,QASvBA;AAREA,WAKEA,QAGJA;AADEA,UAAiBA,cACnBA,C;EAIMC,IACJA,UAAoBA,QAItBA;AAHEA,UAAqBA,QAGvBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,eACnBA,C;EAIOC,IACLA,sBAAoBA,QAEtBA;AADEA,UAAiBA,gBACnBA,C;EAIQC,IACNA,sBAAoBA,QAStBA;AAREA,WAKEA,QAGJA;AADEA,UAAiBA,gBACnBA,C;EAIQC,IACNA,sBAAoBA,QAGtBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,iBACnBA,C;EAIKC,IACHA,4CAEFA,C;EAIIC,6CACkBA,QAEtBA;AADEA,UAAiBA,aACnBA,C;EAIKC,6CACiBA,QAStBA;AAREA,WAKEA,QAGJA;AADEA,UAAiBA,aACnBA,C;EAIKC,6CACiBA,QAGtBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,cACnBA,C;EAIKC,IACHA,yBACFA,C;EAIIC,IACFA,sBAAoBA,QAEtBA;AADEA,UAAiBA,aACnBA,C;EAIKC,IACHA,sBAAoBA,QAStBA;AAREA,WAKEA,QAGJA;AADEA,UAAiBA,aACnBA,C;EAIKC,IACHA,sBAAoBA,QAGtBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,cACnBA,C;EAIKC,IACHA,yBACFA,C;EAIOC,IACLA,sBAAuBA,QAEzBA;AADEA,UAAiBA,gBACnBA,C;EAIQC,IACNA,sBAAuBA,QASzBA;AAREA,WAKEA,QAGJA;AADEA,UAAiBA,gBACnBA,C;EAIQC,IACNA,sBAAuBA,QAGzBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,iBACnBA,C;EAEOC,MACEA;AACPA,qBA2mEyCA,QA3mEzCA,WAEMA,UAskEyBA;AAnkE/BA,QACFA,C;EAEOC,yBA+jEgCpE,MA34G5BoE;AAo1CTA,UAEEA,UAAaA,aAmBjBA;GAskE2CA;AAkBrCA;GAlBqCA;AAjlEzCA,mCACEA;AAEAA,SAAqBA;AAChBA,QA0iEwBA;AAziE7BA,gBAwiEmCA,IAriEnCA,IAEFA,aACFA,C;EAEOC,WAEEA;AAGPA,iBA+jEyCA;AA7jEvCA,YAC2BA;UAEWA;IAEVA;AAC5BA,gBACEA;+BAKFA,kBAEsDA;AAAOA;AAArCA,2BAAcA;QAAdA;IA4gEKA;GAHA3E;AA9BcgC,wCA2CI4C;KA3CJ5C;AAz+DzC2C,MAEoBA,yBAItBA,YA3B0BA;IA95CepE;IA0ElCoE;GAqJLA;GAiwGqCA;GAzvGrCA;GAyvGqCA;GAvuGrCA;GAuuGqCA;AAxhEjBA;AAIxBA,kCAEMA,YA++DyBA;AA1+D/BA,QACEA;AAEAA,4BAEMA,YAq+DuBA;AAj+D7BA,QAGFA,QACEA;AAEAA,8BACEA;IAq9D6BA,MAn9D3BA;AAEeA,SAs9DUA,eADMA,IA/8DnCA,QAGFA,eAEuCA;aAOvCA,yBACFA,C;CAYOE,2BAo7D0B7E;AAj7D/B6E,SAA4BA,cA4E9BA;AA3EEA,SAA6BA,eA2E/BA;AA1EEA,SAA0BA,YA0E5BA;AAzEEA,SAA2BA,aAyE7BA;AAxEEA,SAAyBA,WAwE3BA;AAtEEA,SAWIA,OATSA,KA46DkBjF,KAx2DjCiF;AAvDEA,aA+5D+BtC;AA75DlBsC;GA05DkB7E;AAp5D7B6E,sCA+CJA,CA5CEA,SAEEA,kBAAmBA,KAk5DU/E,SAx2DjC+E;AAvCEA,UAESA,QA44D4BzE;AAl4DnByE,GA7hDTA;AA+hDPA,QAHcA,iCA4BlBA,CAtBEA,UACEA,OAAOA,SAqBXA;AAlBEA,UACEA,OAAOA,cAiBXA;AAdEA,UAGEA,OAAOA,MAm3DsBrE,MAz2GtBqE,GAigDXA;AAPEA,cA9kD2CpE;GA+kDboE;AAEEA;AAAvBA,+BAAOA;AAAdA,QAAOA,GAIXA,CADEA,SACFA,C;EAEOC,WD71DOA,mBACLA;AC81DPA,WAAuBA,QAEzBA;AADEA,mBACFA,C;EAgLiBC,aAXXC,GASAD;KAIFA,uBAbEC,GASAD;AAOFA,QACFA,C;EAEWE,uBAhBPA,OAkBUA;AACZA,WACEA,OAAOA,YAcXA;KAbSA,uBAkqDsBA;AA99CtBA;AAjMsBA;AAC3BA;AAGgBA;AAYTC;AAVPD,QAIJA,MAFIA,QAEJA,C;EAKYC,MACRA,aA3CAA,MA2C+CA,C;EA2BvCC,MACRA,OAAOA,MApEPA,MAoEiDA,C;EAS1CC,QA8qDPA,SAlwDAA;AAuFFA,WAAmBA,QAIrBA;AA2DoBA,OADGA;AAgnDrBA;AA3qDAA,QACFA,C;EAEWC,mBAlvDkCA;AAqvD3CA,WACUA,GApvDNA;AAq5GFA;AA7pDFA,WAAmBA,QAIrBA;AA6CoBA,OADGA;AAgnDrBA;AA7pDAA,QACFA,C;EAEWC,qBA5uDkCA;AA8uD3CA,WACUA,GA7uDNA;GA+zG+BrF;AAkEjCqF;AA/oDFA,WAAmBA,QAUrBA;AAHYA,YAokDmBtF,SAn5GtBsF;AA09GPA;AAzoDAA,QACFA,C;CA6BWC,OA7jELA;CAIAA;AAikEJA,QACFA,C;EAmFWC,QA4gDPA,WAlwDAA;AAyPFA,WAAmBA,QAErBA;AA1qEIC;CAwIEC;CAwLAA;AAg3DGF;AAogDPG,CArwDEA;AA0PFH,QACFA,C;EASWI,QA8/CPA,SAlEiC3F,WAhsDjC2F;AAwQFA,WAAmBA,QAGrBA;AADqBA;AA2/CnBD,CArwDEA;AAyQFC,QAEFA,C;EAEWC,UAETA;SA+6C6B7F;AA76CvB6F;KAE6BA;AAFjCA,KAIEA,QAQNA,CA5sEIJ;CAwIEI;CA6CAA;AAshEGA,CA34DHA;AA24DJA,eACFA,C;EAEWC,QAm+CPA,SAlEiC7F,WAhsDjC6F;AAoSFA,WAAmBA,QAGrBA;AADqBA;AA+9CnBH,CArwDEA;AAqSFG,QAEFA,C;EAEWC,UAETA;SAm5C6B/F;;AAj5CvB+F,kCAESA,SAELA,eAg5CmBjG;AAp5C3BiG,KAKEA,QAoBNA;uBAjBMA,UAiBNA;KAhBWA,aA24CoBnG;AAv4CrBmG,IAo4CqB/F,cAGAF,IAt4CvBiG,QAWRA;KATQA,OAAWA,SASnBA,EArvEIN;CAwIEM;CA6CAA;AA+jEGA,CAp7DHA;AAo7DJA,eACFA,C;EAEWC,QA07CPA,SAlEiC/F,WAhsDjC+F;AA6UFA,WAAmBA,QAGrBA;AADqBA;AAs7CnBL,CArwDEA;AA8UFK,QAEFA,C;EAEWC,UAETA;SA7nE+CA;AA+nEzCA,4BAGFA,QAYNA;KAXWA,SACLA,OAgGFA,eAtFJA;yBARMA,UAQNA,CApxEIR;CAwIEQ;CA6CAA;AA8lEGA,CAn9DHA;AAm9DJA,eACFA,C;EAEWC,MA25CPA,sBAlwDAA;AA2WFA,WAAmBA,QAGrBA;AA7xEIT;CAwIEU;CA6CAA;CA2IAA;AAq+DGD;AA+4CPP,CArwDEA;AA4WFO,QAEFA,C;EAWcE,iBA22C2BA;AAx2CvCA,sCAq0C6BA,GADMnG;AA9zCnCmG,QACFA,C;EAEcC,qBA+1C2BA;AA31CvCA,qCA61C8CA;GA1CfA;UAKFA,KADMpG,IA5yCnCoG,QACFA,C;EAaWC,QAEFA;IAg0CgCC,UAv0CjCD;AAq2CJA,GAlwDAA;AAuaFA,WAAmBA,QAGrBA;AAz1EIb;CAwIEe;CA6CAA;CAeAA;IA+8GmCA,WArlHnCA,IAulH0CA;CAr1G1CA;AAsiEGF;AA80CPX,CArwDEA;AAwaFW,QAEFA,C;EA+BWG,QACLA;IAovCyBzG,YAGAK;AAkD3BoG,GAx8GKA,kBAsqEyCA;AAATA,IAbnCA,GA4vC+BxG;AAkEjCwG,GAlwDAA;AAodFA,WAAmBA,QAGrBA;AAt4EIhB;CAwIEiB;CA6CAA;CAeAA;CA4HAA;AA+kEGD;AAqyCPd,CArwDEA;AAqdFc,QAEFA,C;EAsBWE,QAJLA,oCAyxCFA,CAlwDAA;AAkfFA,WAAmBA,QAGrBA;AAp6EIlB;CAwIEmB;CA6CAA;CAeAA;CA4HAA;AA6mEGD;AAuwCPhB,CArwDEA;AAmfFgB,QAEFA,C;EAmDWE,QArBLC,iBAxoEQA,OAwFVC,MAiwGqCA,WAzvGrCA,MAyvGqCA,WAvuGrCA,MAuuGqCA;AA/sCvCD,QAIMA;AAEAA,qBAINA,QAEgCA;AAC1BA,qBA7W2CA;AA6kD/CD,GAlwDAA;AA6iBFA,WAAmBA,QAGrBA;AA/9EIpB;CAwIEuB;CA6CAA;CAeAA;CA4HAA;AAwqEGH;AA4sCPlB,CArwDEA;AA8iBFkB,QAEFA,C;EAoBWI,UAHHA,SA+nC6BhH,wBAkEjCgH,CAlwDAA;AAykBFA,WAAmBA,QAMrBA;AAFMA;AAwrCJtB,CArwDEA;AA0kBFsB,QAKFA,C;EAEWC,YAETA;SAipCuCA;AA9oCNA;AAC/BA,wBA0mC2BA;IAHAlH,eAnmCvBkH,KAGJA,QAEMA;AAEAA;AACJA,OAAOA,iBAabA,EA/hFIzB;CAwIEyB;CA6CAA;CAeAA;AA01EGA,CA9tEHA;AA8tEJA,eACFA,C;EA6HcC,UAEZA,gCAcFA,C;EAqBWC,yBAhB6BA,MACDA;OAmBnBA,YAAlBA,MAXwCA;AAatCA,gBACMA;KACCA,uDACDA;KACCA,UACDA;KAEJA;AACAA,kBAEIA;QArBRA;AAyBQA;QAzBRA;AA6BQA;QA7BRA,OAiCYA,KA9C4BA,IACCA,GAeNA;AA+B3BA;QAlCRA,OAuYiBA,MApZuBA,GA87BXC;AA14BrBD;QAvCRA,OA7iBOA,MAgiBiCA;AAwDhCA;QA3CRA,OAxiBOA,MA2hBiCA;AA4DhCA;SA/CRA,OAniBOA,MAshBiCA;AAgEhCA;QAnDRE,QATqCA;KAg+BEA;AAh6B/BF;QAGAA;AACAA;QAGAA;AACAA;WA5EgCA;AAaxCA,OAqEsBA,OAENA,OAnFyBA,GAeNA,UAPIA;AA6E/BA;WAtFgCA;AAaxCA,OA+EsBA,OAENA,OA7FyBA,GAeNA,UAPIA;AAuF/BA;WAhGgCA;AAaxCA,OAyFsBA,OAENA,OAvGyBA,GAeNA,UAPIA;AAiG/BA;QA7FRA;AAAAE,QATqCA;KAg+BEA;AAr3B/BF;QAGAA;AACAA;QAtGRE,QATqCA;KAg+BEA;AA72B/BF;QAy3BNG,YA5+BmCA;AAsUrCC,MA1UwCD,IACCA;AA67BZA;AAj7B7BC;;AA8GQJ;SA9GRE,QATqCA;KAg+BEA;AAr2B/BF;SAi3BNK,YA5+BmCA;AA6UrCC,MAjVwCD,IACCA;AA67BZA;AAj7B7BC;;AAsHQN;QAy3BNO;AA/+BFA,OA4+BEA;AA5+BFA;AAAAL,QATqCA;KAg+BEA;AA5qBhCF;AAjLCA;QAGAA,0BA1H2BA;AA+HnCA,OAAOA,KA/IiCA,IACCA,KA+I3CA,C;EAOWQ,UACLA;OACcA,QAAlBA,SA9IwCA;AAgJtCA,mBAAyBA;AACXA,cA/IhBA;AAkJAA,QACFA,C;EAEWC,YAELA;OACcA,QAAlBA,SA1JwCA;AA4JtCA,WACEA,KAAeA;AACHA,UAC0BA,0DOt3FKA;KPq3F/BA;AACPA,MAGLA,OA40BFA;AAx0BFA,SAjLwCA;GACCA;IA67BZ7H,WAGAK;AAvjDRwH,UAsjDczH,GA/hBjC0H;AAphCFD,WACEA,uBAA4BA;AA+nB9BA,OA7nBiBA,kBA6nBjBA;AA4KAA,QACFA,C;EAEYE,MAEMA,SA9LwBA,iBAgBLA;AAgLnCA,sBAnLAA,OAqLwBA;KAEXA,SAnM4BA;QA67BZ/H,YAj7B7B+H,OA4LoBA,YAhMmBA;AAkMjCA;QA9LNA,OAiM4BA;AACtBA,OAGRA,C;EAOYC,MAzMyBA,aAhBKA;AA8OxCA,sBAEEA,iBAhOiCA;AAmO7BA;OAnO6BA;AAuO7BA;QA1ONA;AA8OMA,WA9ONA;AAoP6BA;AAjPMA;AAoPnCA,iBApPmCA;cAhsBgBA;;AAy7B9BA,SAxQoBA;AAnyEvCnH;CAQSmH;CAQAA;CAiBAA;AA8wEXA,OAoQkBA;AACdA,MAgBNA;OArREA,OA8QkBA,OAqqBiBA;AAnqB/BA,MAKNA;QAFMA,UAAMA,qCAA8CA,SAE1DA,C;EAyBYC,MA3SyBA;AA6SnCA,UAhTAA,OA/hBOA,MAkhBiCA;AA+TtCA,MAOJA,CALEA,UApTAA,OA1hBOA,MA6gBiCA;AAmUtCA,MAGJA,CADEA,UAAMA,sCAA+CA,QACvDA,C;EAEeV,MAwqBXA,gBA5+BmCA;AAsUrCA,MA1UwCA,IACCA;AA67BZA;AAlnB7BA,QACFA,C;CAWWW,QACTA,sBAEEA,OAAiBA,UA3gCgCA,KAkhCrDA;KALSA,uBACUA,CAAiCA;AAAhDA,kBAIJA,MAFIA,QAEJA,C;EAEYC,iBAgoB6BA;AA9nBvCA,gBAEaA,cA8nBiCA,IA3nBhDA,C;EAEYC,iBAunB6BA;AApnBvCA,iBAEaA,cAonBiCA,IAjnBhDA,C;EAEWC,mBAukBoBrI;AArkB7BqI,WACEA,SAAgBA,QAukBWhI,EAjjB/BgI;GAr2FSA;GAy7GgCA;AAvmBrCA,QACEA,QAmkByBA,KAjjB/BA;AAfIA;GAgkB2BhI;GAHAL,QAzjB3BqI,SAAgBA,QAWpBA;AATEA,SACEA,UAAMA;GAv2FDA;OAm8GgCA,QAvlBrCA,QAojB2BA,KAjjB/BA;AADEA,UAAMA,4BAAsCA,QAC9CA,C;EAoDGC,iBAvhGKA;WAAoBA,GAApBA;AAqlHJA;AA3jBJA,YAqBSA;AAyiBPA,WA1jBFA,SAAmCA,QAOrCA;AANEA,SAAkCA,QAMpCA;AADEA,QACFA,C;CAuCKC,cAWHA;SAA8BA,QAwKhCA;AAoPIA;KA5ZmCA;AAGrCA,KAA4BA,QAqK9BA;GAkRiCvI;AApb/BuI,SAA0BA,QAkK5BA;AA/JMA,UAAmBA,QA+JzBA;GArtGmDC;AAyjGjDD,SAA+BA,QA4JjCA;AAzJ0BA;AACxBA,KAGMA,UA0ayBA,EAHA9H,cAva6B8H,QAqJ9DA;GAkRiCvI;;AA/Z/BuI,MACEA,SACEA,OAAOA,WAgaoBzI,QArRjCyI;AAxIIA,qCAwIJA,aAnIIA,SACEA,OAAOA,OAuZoBzI,YArRjCyI;AA/HIA,SACEA,OAAOA,OAmZoB3I,YArRjC2I;AA3HIA,YA2HJA,CAvHEA,SACEA,OAAOA,OA2YsB3I,YArRjC2I;AAjHEA,UAOgBA;AANdA,OAAOA,iBAgHXA,CApGEA,UACOA,WAwXwBzI,aAtX3ByI,QAiGNA;AA/FIA,OAAOA,MAAyBA,mBA+FpCA,CA1FEA,UAEUA;AADRA,UAEIA,OA4WyBhG,YArRjCgG,CA7EEA,UACMA,cAiWyBzI,SA/V3ByI,QA0ENA;AAxEIA,OAAOA,UACCA,eAuEZA,CAnEEA,UAEUA;AADRA,UAEIA,WAqVyBhG,QArRjCgG,CAzDEA,KAAsBA,QAyDxBA;AAtDiCA;yBAE7BA,QAoDJA;AAhDMA;cAAqDA,QAgD3DA;AA3CEA,sBAC2BA,QA0C7BA;AAzCIA,UAAsCA,QAyC1CA;GAplGWA;;GA44GgCA;gBA3VfA,QAmC5BA;AAuUMA;;AArWFA,oBAmT6BA;;AAhTtBA,wBACAA,kBACHA,QAyBRA,CArBIA,OAAOA,QA0SsB/H,cArRjC+H,CAlBEA,sBAC2BA,QAiB7BA;AAhBIA,KAA+BA,QAgBnCA;AAfIA,OAAOA,kBAeXA,CAXEA,UACEA,SAAgCA,QAUpCA;AATIA,OAAOA,kBASXA,CALEA,aACEA,OAAOA,kBAIXA;AADEA,QACFA,C;EAEKE,oBAKCA;AAECA,aA4Q0BlI,kBA3Q7BkI,QAuFJA;IA/rGWA;;GAqJLA;;GAiwGqCA;;AAlSzCA,OAA2DA,QA2E7DA;AAzEMA;GAz9FAA;;GAyvGqCA;;AAxRzCA,WAC2DA,QAgE7DA;AA9DEA,oBAuRgDA;AApRzCA,YA+OwBA,gBA9O3BA,QA0DNA,CAtDEA,oBA+QgDA;AA3QzCA,YAsOwBA,kBArO3BA,QAiDNA,CA7CEA,oBAsQgDA;AAlQzCA,YA6NwBA,gBA5N3BA,QAwCNA,IAhhGMA;;GAuuGqCA;;AArPzCA,0BAiNqCA;KA/MnCA,KACEA,QAA4BA,QA2BlCA;IAmLuCA;AA5MjCA;AACAA,SAAyCA,QAwB/CA;IA+KmCA;AApM7BA,UACEA,MAAiBA,QAoBzBA;AAnBQA,YA4O0CA;AAxO5CA,UAAiCA,QAevCA;GAyNkDA;AArOvCA,YAgMsBA,kBA/LzBA,QAWRA;AAVMA,YAIFA,UAqL+BA,MApL0BA,QAK7DA;AAJMA,KAGJA,QACFA,C;EAEKC,+BAiLkCtI;KA5KrCsI,WAhhDI1D,GASA0D;AAohDFA,WAAkBA,QA8BtBA;AA7BIA,uBA8JmCA;AA5JjCA,YAhYAA;AAoYFA,WAAqBA,QAuBzBA;GAqK2CA;AALnCA,oBA3tGkBC,aA4kD6BA;AA29CnDD,gBAE+BA,eAmJIA;AA/InCA,OAAOA,iBAhxGAA,QA8xGXA,CAFEA,OAAOA,QA5xGEA,mBA8xGXA,C;EAEKE,yBAmKsCA;AAxJzCA,gBA8BSA,WAuFsBA,iBAtFzBA,QAKRA;AADEA,QACFA,C;EAEKC,uBA7zGMA,YA+6GgCA;gBA1GnBA,QAaxBA;IAyDuCvI,SAnEnBuI,QAUpBA;AAREA,gBAGOA,WA+DwBA,iBA9D3BA,QAINA;AADEA,QACFA,C;EAEKC,WAqD4B9I;uBAlD3B8I,WACKA,SACmBA,kBAmDGlJ,KAlDCkJ,eAkDDhJ;AAtD/BgJ,QAKFA,C;EAWK9G,IAA8BA;AAK/BA;KAA2CA;AALZA,QACsCA,C;CAMpE+G,WA4B4B/I;AA1B/B+I,0CAKFA,C;EA2CcC,MAFRA,4BAkBqCA;AAZvCA,oBAxBmCA;AA+B/BL,UAHNK,C;EAEeL,IAA+BA,yBA1tGtBA,aA4kD6BA,IAgpDLA,C;;;;;;;;;;;EQ/sHhCM,GACdA;AAESA,OADLA,yBACFA,aAgCJA;OA9BMA,6BACAA,iBAEQA;AACCA;;AASIA,0BACXA,KAPYA,gBAQhBA;AAEAA,OAAOA,eAaXA,MAJWA,OADEA,oBACTA,aAIJA;AADEA,OAAOA,MACTA,C;EAEYC,IAKVA,uBACIA,KALYA,eAMlBA,C;EAEYC,IAKVA,kBACIA,KALYA,eAMlBA,C;EAEYC,IAWHA,SATTA,C;EA0BAC;;QAaAA,C;EA0FWC,IACXA,OAjCAA,SCqIAC,SAAyBA,GAAzBA,aDrIAD,aAkCFA,C;EAUQE,MAENA;CACUA;AACVA,QAxBwBA,EAyB1BA,C;EASQC,MACNA,SACFA,C;EAQQC,MAhE4BA;KAC3BA,GACHA;QAGAA;mBAFeA,KAEfA;KAEAA,OA2DNA,C;EAOQC,MAGFA,eAAyBA,UA9DzBA;IADEA,GACFA;KAEAA,QA6DNA,C;EASKC,MAECA,wBAEqBA;oBASvBA;;oBAEAA;KC4BFA,WAAyBA;CA4IvBA;CACAA;ADpKAA,aAEJA,C;EAIkBC;;OACAA;AAuBhBA,OAAYA,CEsReA,KFtRgBA,YAG7CA,C;EGxToBC,IAChBA;AAAUA,aACeA;AACvBA,WAAwBA,QAG5BA,CADEA,QAAkBA,EACpBA,C;EFwkBYC,MAEVA;QA1QsBA,iBA8GfA;AA+JPA,UACEA,IRnaJA,0DQsamBA;AACfA,MAYJA,KAV0BA;CAAjBA;AACPA,eAC+BA;AAC7BA;AACAA,kBAEoCA;AACpCA;AACAA,OAEJA,C;EAQYC;QAtSYA,kBA8GfA;CA2LLA,KAEFA,UACEA,IRjcJA,0DQocmBA;AACfA,MAuBJA,CArBEA,kBAGsCA;AACpCA;AACAA;AACAA,MAeJA,iBAVkCA,UAC9BA;AACAA,MAQJA;ACy/BEA,gBD5/BOA,GAAwBA,cAGjCA,C;EAgIYC;KAEVA;GAvcqBA;AAAOA;AAAeA;AA0czCA,YACEA,oBApWGA;ACorCPA,MD70B0CA,IAAkBA,IAExDA,MA+JNA,EA1JoBA;GACyBA;AACzCA,0BACWA;AACTA,MAAsBA;CACtBA;GACwBA,MAGGA;GAAOA;CAQ/BA;CACDA;AAKkCA,SAnqBhBA;AAmqBGA,6BArCpBA;AAqCLA,SArqBeA,EAAOA;AAuqBPA,SAAWA;AAARA,eAAHA;AAAbA,MC6yBJA,MDzyB0CA,IAAkBA;AACtDA,MA4HRA,IAxH0BA;AAApBA;KAmFIA;GA9vBmBA;AAivBvBA,cA/D+BA,gBAgE7BA;KACKA,MACLA,aA9BsBA,cA+BpBA,UAGFA,aAzBcA,cA0BZA;AAKJA;GAIIA;wBACAA;cAprBuCA,OAAsBA,iBAmrB9BA;AAAnCA,SAKmBA,EAASA;KAplBTA,eA2MIA;CAC3BA;AACOA;CAtEPA,IACYA,OAAkCA;CAC9CA,IAA4BA;CAgdlBA;AACAA,cAEAA;AAKJA,MAeRA,KAXqBA,EAASA;GA1ZDA;CAC3BA;AACOA;GA0ZAA;GACcA;AADnBA,QApfFA;CACAA,WAKAA,IAAwBA;CACxBA,MAofEA;IAEJA,C;EAqDOC,MACUA,YACfA,OAAOA,MAWXA;AARmBA,YACfA,QAOJA;AALEA,UAAoBA,sBAKtBA,C;EGj/BKC,GACHA;OAAiBA,IAAjBA,WAAuDA;GAEpCA;;AAEjBA;AACOA,SAEXA,C;EAEKC;IAKDA;;IAIIA,UJnBJA,OAAyBA,GIoBMA,QAGnCA,C;EAMKC,IAnDHA,qBAqDoCA;AACpCA;KAEOA,IJlCLA,OAAyBA,GImCMA,mBAGlBA,IAGjBA,C;EAQKC,iBACCA;AAAJA,YACEA;MACwBA;AACxBA,MAgBJA,CA3FEA;GA8E4CA;AAC5CA,aACQA;oBAG0BA;CAC1BA;MACeA;AAErBA,kBAIJA,C;EA0BKC,kBACsBA;IACXA,QAGZA,UAHYA;AAIZA,MAUJA,CF+gDIA,WEhhDkCA,QACtCA,C;EC44EUC,ICtkDWA;ADykDfA,OC1kDJA,UD0kDkCA,C;EElvD/BC,IAC8BA,MAMnCA,C;EA2BEC,mBL3O2BC;AIpeVA;AC+sBjBD,0BAEmDA,C;ED5qBnCE,iBAEEA;AACAA,YACdA,OAAOA,MAQXA;AALkBA,YACdA,QAIJA;AAFEA,UAAUA,0HAEZA,C;EAuVGC,MJonCDA,SIlnCJA,C;EJ42BKC,MACHA,KAA+BA,cAGjCA,C;EAEEC,mBACmBA;AAAnBA,SAAoCA,OAAOA,MAY7CA;;AANQA;IAEGA;AAAPA,QAIJA,gB;EAEEC,qBAEmBA;AAAnBA,SAAoCA,OAAOA,OAY7CA;;AANQA;IAEGA;AAAPA,QAIJA,gB;EAEEC,uBAEmBA;AAAnBA,SAAoCA,OAAOA,SAY7CA;;AANQA;IAEGA;AAAPA,QAIJA,gB;EAqBKC,cAEYA,OAGPA;AAKRA,OACFA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EM/nCSC,aACOA;AAGZA,mBACFA,C;EAEYC,QAIVA;WAQFA,C;EAoBOC,GAIOA;AAIZA;;AAEAA,QACFA,C;EC9QcC,IAEZA;AAAIA,WACFA,aAwBJA;ACyXAA;ID5YIA;;CAEKA;AACLA,OAAUA;iBAYVA,mCAAiBA;AAAjBA,aC4Z0CA;ADzZ5CA,6BACFA,C;;;;;;;;;;;;;;;;;;EC0IaC,MACHA;AACyBA;AACjCA;AACAA,wBACFA,C;EAoCQC,QACFA;Af1RJA,gBACEA,KAAiBA;AA+EqBC,OAHLC;;AAGjCD;AeoNFD,QACFA,C;EA+NcG,QACgBA;AACvBA,UAAqBA,QAa5BA;ICpKoBA,gBDuKgCA,OAbVA;MAC7BA,YAYuCA,OAVZA;KAC7BA,OASyCA,UAPVA,QAGxCA,QACFA,C;EA6NsBC,GAAWA,WAAsBA,YAAsBA,C;EjBrsB/DC,IACgBA,wCAC1BA,OAAOA,OAMXA;AAJEA,sBACEA,ONmwFGzP,iBMhwFPyP;AADEA,OiBkLkBA,OjBjLpBA,C;EA8BaC,MACXA;AACAA;AACAA,SACFA,C;EAYAC,sBAA8BA,C;EAsD9BC,iCAEuBA,C;EAcvBC,gCAEsBA,C;EA8EtBC,uDAIiEA,C;EAqKjEC,wDAEsEA,C;EAkFtEC,sBAAqCA,C;EAcrCC,sBAAkCA,C;EAyBlCC,qBAAwBA,C;EAaxBC,sBAAkDA,C;EmBsPpCC,QAEZA;AAAIA,YACFA,oBAEEA,aAgBNA;AAdIA,gBAcJA,CAZ+BA;AAC7BA;IAEEA,kBAGAA,OALFA,UAKEA,YALFA,MAKmBA;AAAjBA,CALFA,SFxTYA;AE+TZA,6BAIFA,C;EAYcC,QAEZA;AAAIA,WACFA,gBAYJA;AF/WAA;AEsWEA;IAEEA;AFvVUA,CAAZA,SAAsBA,mBE0VpBA,OALFA,UAKEA,YALFA,MAKmBA;AAAjBA,CALFA;GFvU4CA;AE+U5CA,6BACFA,C;EA0BGC,MAwB6BA;AAGhCA;AACOA,UAAeA,MAkFxBA;AAjFwBA;AACpBA;IACeA,UACfA,IAQGA,WACHA,QAAoCA,MAqExCA;AApEqBA,+BAAMA;AAANA;AACGA,+BAAMA;AAANA,eAEKA,SACzBA;AACKA,WACHA,SACEA,OAAYA;AACZA,MA4DRA,CA1DyBA;AACCA,+BAAMA;AAANA;IACKA,eAEHA,SACtBA;KAGOA,MAAPA,SAEgBA,SACdA;AACAA,UAQEA;AAEYA,+BAAMA;AAANA,UAAmBA,UAC7BA,IAEFA;AACAA,MAgCVA,EA7B4BA;AACHA;IACMA,SAA2BA,iBAOtCA,WAEhBA;AAfgBA;AAqBlBA,sBAAqCA;AACzBA,+BAAMA;AAANA,UAAmBA;AAC7BA,YAEEA;AAzBcA,SA4BlBA,WACEA;AAEFA;AACAA,SACFA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EChqBAC,QACEA,QAAiBA,OAAOA,OAE1BA;AADEA,OAAOA,MACTA,C;EC5UKC,IACDA,gBACEA,iDAGAA,UACAA,UACAA,UACAA,UACAA,UACAA,UACAA,UACAA,UACAA,UACAA,UACAA,QAAWA,C;EAGTC,IACFA,WACFA,QA8BJA;AADEA,OAzBgBA,SNuVPA,eM9TFA,KACTA,C;;EChDUC,YC0URC,+CDnUkBD;AFoGlBA,wBACEA,KAAMA;mEAEOA;AAWWA;AGpI1BE;AD0BAF,kBC1BAE,aD2BFF,C;EAGEG;;QAMAA,C;EAWGC,GAEGA;mBAFHA,cAEGA;4BAASA;GAZgBC;;URmcPA,QA0UxBC,WQhwBmBF;AAUrBA;AAXQA,wBAWRA,C;;;;;;;EElDKG,IACHA,iCAEEA;AACAA,MAoBJA,+DAdIA;AACAA,MAaJA,CATEA,6BACEA;AACAA,MAOJA,CADEA,0CACFA,C;EClBKC,IAEHA,KCRAA,mEDOgBA,YAElBA,C;EAGKC,GAEHA,KCHAA,+CDEgBA,YAElBA,C;EEJSC,cAELA;WACEA,OAAOA,MAYXA;KAVWA;AAAPA,QAUJA,E;;;;AlCiS+BC;EAAvBA,IAAYA,cAA+BA,C;CAE5CC,IAAcA,sBCqJLA,WDrJiDA,C;EAoBxDC,IACLA,OMqqBGA,IADGA,WNpqByDA,C;AAQ9CC;CAAdA,IAAcA,gBAAgCA,C;EAU7CC,IAAYA,sBAAwCA,C;EAGnDC,IAAeA,eAAmCA,C;;;CAcpDC,IAAcA,YAAMA,C;EAEnBC,IAAYA,QAACA,C;;;;AAmDAC;EALbC,IAAYA,QAACA,C;CAKdD,IAAcA,gBAA+BA,C;;;;CAyB7CE,IACiCA,OAApBA;AAClBA,WAAyBA,OAAaA,UAExCA;AADEA,iCAAkCA,OACpCA,C;AAiBqBC;EAHbC,IAAYA,QAACA,C;CAGdD,IAAcA,gBAA+BA,C;AAqB/BE;EAHbC,IAAYA,QAACA,C;CAGdD,IAAcA,gBAA+BA,C;;ESlP/CE,MACHA;AAjHAA;AAuHAA,qBAEEA,OAFFA,OAIFA,C;CAgCYC,QACVA,OLuHFA,YKvHSA,QLuHTA,2BKtHAA,C;CAyGEC,MACWA;AAAXA,QAAWA,GACbA,C;CA+SOC,IAAcA,O0BxKJA,e1BwK+BA,C;EAahCC,IAAYA,OAiI5BA,YAEyBA,QAnIGA,QAiI5BA,WAjIkDA,C;EAE1CC,IAAYA,OAAWA,OAAoBA,C;EAE3CC,IAAUA,eAAiCA,C;;;;;;EAkI7CC,GAAoBA,UAATA;uBAASA,SAAIA,C;CAEzBC,mBACUA,MAAUA;IAKnBA,OACFA,UAAMA;GAGJA;AAAJA,UACEA;AACAA,QAKJA,EAHEA,IAAWA;CACXA;AACAA,QACFA,C;;C2BrnBOC,IACLA,gBACEA,YAIJA;KAFIA,UAEJA,C;EAEQC,IACFA;AAGJA,SAAsBA,kBA6BxBA;AAxBiBA;AACEA;AAIJA;AAWGA;AAOhBA,6EACFA,C;EAyGIC,MACFA;OACMA;;AAKAA,WANNA,QAOFA,C;EAOIC,MACFA,mBASFA,C;EAiDSC,IAAeA,eAAkCA,C;;AA+MlCC;EAAfA,IAAeA,eAAkCA,C;;;AAWlCC;EAAfA,IAAeA,eAAqCA,C;;;CX1RtDC,IAAcA,QAAIA,C;EAMjBC,IAGFA;OACgBA,gBAApBA,SAC8BA;AACrBA;AACAA,QAEFA;AACAA;AACPA,kCACFA,C;EAGSC,IAAeA,eAAqCA,C;EAErDC,IAAUA,eAA4BA,C;;;;CQ5YvCC,IAELA,sCADcA,EAIhBA,C;;A7BySAC;EA9SgBA,IAAYA,qBAgTHA,WAFzBA,sBA9SiDA,C;CA8IrCC,QACRA,OAqPJA,qDArP6CA,C;;EAoKvCC,GAAoBA,UAATA;uBAASA,SAAIA,C;CAIzBC,GACoBA,gBAAVA,eAAUA;IACnBA,OACFA,UAAMA;GAEJA;AAAJA,UACEA;AACAA,QAKJA,CAHaA,CAAXA;AAEAA,QACFA,C;;EAkBgBC,IAwBhBA,UAxBiDA;AAArBA,gBAA+BA,YAAUA,GAAzCA,WAwB5BA,aAxBwEA,C;EAGhEC,IAAoBA,UAAVA;cAAgBA,C;;;CAuB7BC,iBACCA;UACSA,CAAXA,IAAWA,MAAaA;AACxBA,QAIJA,EAFEA;AACAA,QACFA,C;EAEMC,GAAoBA,UAATA;uBAASA,YAAIA,C;AAcJC;EAAlBA,IAAUA,mBAAcA,C;CAC9BC,MAAwBA,iBAAGA,eAAyBA,C;;;CHkgCtDC,iCAEyDA,IAD3CA;AAEZA,WAAmBA,WAmBrBA;AAlBeA;GACTA;AAAJA;GAGIA;AAAJA;GAGIA;AAAJA;GAGIA;AAAJA;GAGIA;AAAJA;AAIAA,QACFA,C;;CAmNOC,IACLA,gDACFA,C;;CAaOC,+DACDA;AAAJA,WAAqBA,6BAA4BA,EAMnDA;GALMA;AAAJA,WACEA,kBAA0DA,MAI9DA;AAFEA,6BACoDA,MACtDA,C;;CAQOC,cAAcA;QwBzyCDA,+BxByyCgDA,C;;CAQ7DC,IAGLA,8BAD6BA,kDAE/BA,C;;;CAyMOC,gBACDA;AAAJA,WAAoBA,QAQtBA;MAL+BA;iCAEnBA;AAEVA,WAAOA,eACTA,C;;;CA+nBOC,IAMcA,UAJDA,6BAEeA;AAEjCA,+CACFA,C;;;;;;;;;CAqBOC,cAEDA;AACJA,WAAkBA,wCAEpBA;AADEA,kBAAmBA,WACrBA,C;AAsCyBC;EADjBA,IAENA,gBADsCA,IACDA,SAfjBA,eAgBtBA,C;CAGOC,IAGLA,sBAzBkBA,iCA3mEJA,SAqoEgCA,QAChDA,C;;CA+LOC,IAELA,sCADwBA,gCAI1BA,C;;CAOOC,IAAcA,2BAAgBA,EAAQA,C;ACn6ErBC;EAAPA,IAAOA,WAA0BA,KAAUA,C;;AAErCA;EAAnBA,MAAmBA,WAA6BA,OAAsBA,C;;AAEtDA;EAAhBA,IAAgBA,WAAeA,KAAqBA,C;;;EU/W/CC,IAAeA,UAAUA,C;;;;;EA2gBzBC,IAAeA,UAAQA,C;;;;EA8TxBC,IAAUA,eAAgCA,C;;;CA2BlCC,MACdA,SAAmCA;AACnCA,QAAOA,GACTA,C;;;;;;EA0DSC,IAAeA,UAAWA,C;;;;EA0C1BC,IAAeA,UAAWA,C;;;;EA0C1BC,IAAeA,UAASA,C;CAEpBC,MACXA,SAAmCA;AACnCA,QAAOA,GACTA,C;;;;EA0CSC,IAAeA,UAASA,C;CAEpBC,MACXA,SAAmCA;AACnCA,QAAOA,GACTA,C;;;;EA0CSC,IAAeA,UAAQA,C;CAEnBC,MACXA,SAAmCA;AACnCA,QAAOA,GACTA,C;;;;EA6CSC,IAAeA,UAAUA,C;CAErBC,MACXA,SAAmCA;AACnCA,QAAOA,GACTA,C;;;;EA0CSC,IAAeA,UAAUA,C;CAErBC,MACXA,SAAmCA;AACnCA,QAAOA,GACTA,C;;;;EA2CSC,IAAeA,UAAgBA,C;EAEhCC,IAAUA,eAAgCA,C;CAErCC,MACXA,SAAmCA;AACnCA,QAAOA,GACTA,C;;;;EAsDSC,IAAeA,UAASA,C;EAEzBC,IAAUA,eAAgCA,C;CAErCC,MACXA,SAAmCA;AACnCA,QAAOA,GACTA,C;;;;;;;ANhzBiBC;CAtZbA,IAEFA,aAiZsBpU,qBAhZxBoU,C;CAKIC,IAA8BA,OAsZjBA,MAXOC,qBA3YmDD,C;;AA08BtDE;CAAdA,IAAcA,eAAaA,QAAWA,C;;CAkUtCC,IAAcA,aAAQA,C;;;EQx2CzBC,oBACUA;CACRA;AACCA,MACHA,C;;;EAMOC,IAELA;;MAG4DA;MACxDA;8CACLA,C;;;EASHC,GACEA,WACFA,C;;;EAOAC,GACEA,WACFA,C;;;EAkCF7J,aAgEOA,kBAxDOA,gBACNA,KAPiBA;KASrBA,UAAMA,kCAEVA,C;;EAXI8J,GAGEA,WACFA,C;;;AA6JYC;EAAZA,IAAYA,qBAAgDA,C;;;EAEvCA,MAGvBA,Yb66CFA,ca56CCA,C;;;EA0C0CC,MACzCA,IAAkBA,OACnBA,C;;AG/SsBC;CAAhBA,IAAcA,eAAEA,GAAMA,C;;;;;CaoBxBC,GAAYA,C;CAIZC,GAAaA,C;;EA4FTC,GAAgBA,WAACA,IAAuBA,C;EA+C3BC,UAEpBA;KAzEoBA,WV6jBtBA,YJtF2BC;AIyFzBA,KAAkBA;AAClBA,YACEA;AUxfAD,QAUJA,IdmZ2B/I;;;AIpeVA;AUvGjB+I;CAOUE;CAARA;CAgIaF,KAAeA;GAESA;CACrCA;CACaA;CACAA;AACbA,YACEA;MAEQA;IAmCIA,OAEZA,MAAYA;AAEdA,QACFA,C;EAmBKG,IAAkDA,C;EAClDC,IAAmDA,C;CAIlDC,GvBqVNA,QuBjcsBA,UA8GlBA,2DAIJA;AADEA,OvBgVFA,yDuB/UAA,C;EAsDKC,0BApJkBA;AAsJrBA,aACEA,UAAUA;GA7IOA;AAgJnBA,WAAcA,MAgChBA;AA7BYA;CAOVA;KAEAA,aApRkCA;AAqRhCA,eACeA;AACbA;;GAE+CA;AAC/CA,iBA7I+CA;AAEnDA,YAEEA;MAESA;AAEXA,YAEEA;MAEKA;CAG2BA;CAArBA,OAiIIA;YAGeA;IAxKbA,SA8KjBA,MAEJA,C;EAEKC,WAhNiBA,kBAqNHA,WACFA;AAGfA,SAAYA,GACdA,C;AAU+BC;EAAtBA,GAAgBA,0CAhNFA,SAgNkCA,C;CAEzDC,GvB2NAA,QuB7auBA,UAoNnBA,mBAIJA;AADEA,OAAaA,SACfA,C;CAEKC,kBAhNgBA;AAiNnBA,WAAcA,MAehBA;QA9OuCA;AAoOnCA;;IAtNiBA,SAyNfA;AAEFA,MAKJA,CAHEA,KAAiBA,cAGnBA,C;;EAHmBC,IACfA,SAAkBA,GACnBA,C;EAFgBC,kC;;Ef1KdC,IAEIA,QApCiBA,WAmCLA,QAErBA;AADEA,WAxCiBA,EAAOA,SAgBiBA,IAwBkBA,GAC7DA,C;EAEYC,gBAEeA,aASkBA,SAtD1BA,EAAOA;AAiDNA,YACPA,YACuCA;KAEvCA;IAMFA;AAAPA,QAeJA,UAdIA,SAFFA,iBAxDwBA,UA6DpBA,UAAMA;AAMRA,UAAMA,wGAXRA,QAgBFA,C;;EAkHKC,QAEHA,OAA0BA;IAC1BA,IACFA,C;CAEUC,mBC0PiBA;QDxPEA,IAEbA,wBACAA,SACVA,UAAoBA,4BAQtBA,WAIYA;AArDhBA;;AAyDEA,OA3OFA;AA4OEA,QACFA,C;EAxBUC,8B;EA8BAC,QAjEVA,eAAyBA,GAAzBA;AAmEEA,OA/OFA;AAgPEA,QACFA,C;EA2EKC,QAEHA,OAAwBA;IACxBA,IACFA,C;CASKC,QAGHA,IACYA,UAAkCA;IAC9CA,IAA4BA,EAC9BA,C;CAEKC,kBA9IDA;AAgJFA,UACWA,IAAgBA;CACzBA,UAEAA,iBArCKA;KA7GgBA,YAwJjBA;AACAA,MAURA,CARMA,OCoqCJA,gBDhqCEA,GAAwBA,eAI5BA,C;CAEKC,IACHA;;WAAuBA,MA+BzBA;GAvMIA;AAyKFA,YACuCA;CACrCA;AACAA,eAEiCA;AAC/BA,2BAEgBA;CAETA,WAGTA,iBAvEKA;KA7GgBA,YA0LjBA;AACAA,MAURA,CARMA,OAGUA,CAAZA;AC+nCFA,gBD9nCEA,GAAwBA,eAI5BA,C;CAEiBC,aAIYA;AAEpBA,IADPA;AACAA,gBACFA,C;CAEiBC,IACEA;AAEjBA,mCACkCA;CACxBA,KAIVA,QACFA,C;EASKC,IAKHA;;IAEEA,IAAYA,YAQAA,0BATdA;AAaEA;AAKAA,KAAkBA,iBAItBA,C;CA8FKC,IAG0BA;CA7O7BA;CACAA;AA8OAA,SACFA,C;CAEKC,MAG0BA;AA1O7BA,QEhdFC;AF4rBED,YACFA,C;EAGKE,0BAaOA,MACRA;AACAA,MAGJA,CADEA,UACFA,C;EAqCKC;AC05BHA,mBDx5BAA,GAAwBA,iBAG1BA,C;EAMKC,IAEOA,kBAERA;AACAA,MAIJA,CADEA,UACFA,C;CAEKC;ACo4BHA,mBDh4BAA,GAAwBA,mBAG1BA,C;;;EAnS4BC,GACtBA,SAAsBA,OAAMA,GAC7BA,C;;;EAgCuBC,GACtBA,SAAsBA,SAAMA,GAC7BA,C;;;EAuCWC,oBAEVA;;IAEEA,IAAyBA,uBAD3BA;AAEEA;AACAA,SAEHA,C;;;EAAWA,MAEVA,aACDA,C;;;EAMiBA,GAChBA,aAAeA,OAAGA,GACnBA,C;;;EAsE4BC,GAC7BA,WAAqBA,OAAQA,GAC9BA,C;;;EAkGuBC,GACtBA,aAAmBA,GACpBA,C;;;EAsBuBC,GACtBA,aAAeA,OAAOA,GACvBA,C;;;EA8DGC,GAMMA;SAEeA;AAjnBlBA,GA9EUC,EAAOA,OAqBcA,aAyqBhCD;AAEEA;IACIA,OAAsBA,EAja3BA,EAiayCA;CACtCA,MAAuBA,EAla1BA,QAoayCA;AAAGA;WE51BpBA;;AAFjCA,CF81BYA;KAEFA;AACAA,MAkBJA,wBAjiBmBA,iBACFA;CAkhBXA,IA3aHA;CA4aGA,MAGFA,MAUJA,2BAJyBA;;AACEA,CAAvBA,QAA2CA;CAC3CA,MAEJA,C;;;EAH+CE,IAAOA,aAAcA,C;;;EAKpEC,GACEA;;GACyBA;AA1rBxBA,CA0rBCA,IA7tBSC,EAAOA,MASmBA,OAotBSD,aAD9CA;AAEEA;AACsCA;AAAGA;WEv3BlBA;;AAFjCA,CFy3BUA;CACAA,MAEJA,C;;;EAEAE,GACEA;SAC0BA,EAtczBA;;AAucKA,eACAA,EA5tBYC,UA6tBSD,CAAvBA,IAAuBA;CACvBA,gBALJA;AAOEA;KACcA,EA7cfA;IA6c6BA;CAC1BA;SAEsCA;AAAGA;WEx4BpBA;;AAFjCA,CF04BYA;KAEFA,MAEJA,C;;;;EI+WUE,IJp8BhBA,oBAAyBA;CIs8BnBA;AACJA,QACIA,oBAIQA,cADQA;AAKpBA,QACFA,C;;EATMC,cAECA,C;EAFDC,iC;;EAIQD,GJ5lBmBA,UI6lBzBA,WAAiBA;CJj0BvBE;CACAA;AAqOEF,SI4lBGA,C;;;GEpwBgBG,GAMRA,QAlBcA,UAezBA,WAAOA,EAIXA;AADEA,WAD2CA,OAE7CA,C;EAGkBC,GAEhBA;KAxB2BA,WDsDzBA,GC7BiBA;AAIjBA,gBAFEA,eAUNA,CALyBA,GADoBA;AAK3CA,QACFA,C;GAK+BC,GAKLA,UAHNA;AAKlBA,WAjD2BA,kBAkD7BA,C;EAKMC,GdENA,Qc9DsBA,UA8DlBA,gDAIJA;AADEA,OdHFA,iDcIAA,C;EAiGsBC,UAEpBA;KAvKGA,UAwKDA,UAAMA;AAEkCA;AAGPA;;AAEnCA,iBACgDA;AACrCA;AACTA,aAEAA;AAEFA;GDlb0BC;CAsL1BD;AC6P4BA,YD5PpBA;;AAERA;AC8PAA,QACFA,C;EA0DKE,YA/OwBA,UAkPzBA,IAD8CA;AAGhDA,SAAYA,GACdA,C;EAEKC,YAvPwBA,UA0PzBA,IAD8CA;AAGhDA,SAAYA,GACdA,C;;EA7E8BC,GAC1BA,SAAYA,KACbA,C;;;CA8FEC,IACHA,WAAcA,GD3PhBA,YC4PAA,C;;AG1tB+BC;EHswBvBA,IAAYA,kCAAiCA,C;;CAoBhDC,GACHA,eACFA,C;CAEKC,GACHA,eACFA,C;;EDttBKC,IAEHA,WAA2BA,MAM7BA;IALEA;IAwekBA;AArehBA,UAEJA,C;EAqJKC,cAhCoBA;AAkCvBA,aAAiBA,MAMnBA;AALEA,QACEA;KAEAA,QAiPJA,YA/OAA,C;CA2BKC,GAELA,C;CAEKC,GAELA,C;EAaKC,oBACWA;WAgOZA,GAhOYA;AACdA;GArFuBA;AAsFvBA,gBACEA;;AACAA,SACEA,OAGNA,C;CAIKC,kBArGuBA;CA0G1BA;AACAA,QAAsBA;;AAEtBA,eACFA,C;EAsFKC,sBA/LoBA;iBAiMJA,EAAQA,aACzBA;;AACmBA,aAhMgBA,aAAIA;gBAwWvBC;SAxKhBD,MACEA;YAKJA,QACEA,eACEA;AACAA,MAgBNA,CAjO0DA;AAoNtDA,SAAqCA;CACrCA;AACAA,KACEA;KAEAA;kBAKJA,sBACUA,CAARA,OAEJA,C;AC0VIE;EDhVkBA,UAMpBA,WC0UEA,mBDzUJA,C;EAPsBC,qC;;;;CAgHjBC,kBAPmBA;AAQtBA,SAAiBA,MAcnBA;AAZEA,UAEEA;AACAA,MASJA,CAPEA,KAAkBA;CAMlBA,IACFA,C;EAQKC,oBACaA;AAChBA,YACEA,IAAoBA;MAEpBA,IAA6BA,IAEjCA,C;;EAtBoBC,iBACDA;CACfA;AACAA,SAA+BA,MAEhCA;GAsBqBA;GAAiBA;CAEvCA;AACAA,YACEA;AAvGFC,IA4EaD,MA5EMC,GA6ElBD,C;;;EAwJEE,mBACoBA;AACvBA,WAEEA;GACIA;AAAJA,aACEA;AACAA,iBAIFA,IAEJA,C;;;;EJwmB+BC,GACvBA,SAAoBA,OAAOA,GAClCA,C;;;EAgMIC,IACHA;QACgBA,MAAgBA,IAC5BA;AACAA,MAMNA,CAJIA,gCALFA;AAMEA;AA4DFA,UAzDFA,C;EAEKC,MACHA;QACgBA,MAAgBA,IAC5BA;AACAA,MAMNA,CAJIA,kCALFA;AAMEA;AAgDFA,UA7CFA,C;EAVKC,8B;EAqCWC,IACdA,OAAOA,gBACTA,C;EAwBEC,IACgDA,IAA7BA,MAAUA,GAAYA,aAE3CA;AADEA,OAAOA,sBACTA,C;EAHEC,0B;EAMAC,MACgDA,IAA7BA,MAAUA,GAAYA,cAE3CA;AADEA,OAAOA,wBACTA,C;CAHEC;wB;EAKAC,QACgDA,IAA7BA,MAAUA,GAAYA,gBAE3CA;AADEA,OAAOA,0BACTA,C;EAHEC;4B;EAS4BC,IAE1BA,QAACA,C;CAFyBC;wB;AA7CfC;EAANA,GAAMA,qBAAgBA,GAAEA,C;;AM3qCjCC;EA9WQC,IAAUA,aAAOA,C;EAITD,GACdA,qBAyWFA,oBAxWAA,C;EAMKE,IACHA;8CACgBA;AACdA,mBAkOUA,SA3NdA,MANSA,2CAIEA,MAHIA;AACXA,mBA+NUA,SA3NdA,MAFIA,iBAEJA,C;EAEKC,cACQA;AACXA,WAAkBA,QAGpBA;AADEA,OAAOA,OADMA,kBAEfA,C;CAYYC,MACVA;8CACgBA;AAC8BA;AAA5CA,QAOJA,MANSA,iDACMA;AAC8BA;AAAzCA,QAIJA,MAFIA,OAAOA,UAEXA,C;EAEGC,kBACUA;AACXA,WAAkBA,WAIpBA;AAHeA;AACDA;AACZA,iBAA4BA,KAC9BA,C;EAEcC,4BAeDA;AACXA,WAAiCA,GAAfA;AE3GkBC;GF6GvBD;AACbA,YACEA;CAEAA,aAEYA;AACZA;KAGEA;CAEAA,SAlBNA,C;EAiEKE,MACSA;OACkBA,eAENA,UAFxBA,YACYA;AACMA;AAAhBA,eAAsBA;QACUA,GAC9BA,UAAMA,SAGZA,C;EAEKC,qCACUA;AACbA,WAAoBA,QAiDtBA;AAhDgBA,QAAOA;GAIPA;AAHFA;AAIZA,YACcA;GACEA;AACdA,uBACeA,IAEbA,QAKOA;AACXA,YACcA;GACEA;AACdA,4BAKEA,QAKOA;AACXA,YACcA;GACEA;AACdA,oBAEeA,EADHA;GAEGA;AACbA,wBACYA,IAEVA,MAMNA,QADAA,IAEFA,C;EAyEMC,MAEJA,QAAOA,CEjT6BH,mBFkTtCG,C;;CAiCIC,MACFA;WAAoBA,QAMtBA;GALeA;AACbA,qBACgBA;AAAdA,yBAAkDA,QAGtDA,CADEA,QACFA,C;;EAoDQC,IAAUA,aAAKA,EAAOA,C;EAIdC,IAyBhBA,UAxBgCA;AAA9BA,kBAAoCA,OAwBtCA,oBAvBAA,C;;EAyBMC,GAAoBA,UAATA;uBAASA,SAAIA,C;CAEzBC,iBACQA,MACEA,MACmBA;QAAKA,GACnCA,UAAMA;YACaA,UACnBA;AACAA,QASJA,OAPIA,IAAWA;CAIXA;AACAA,QAEJA,E;AlB1JAC;E+BjTgBA,IAAYA,kB/BmTHA,W+BnTGA,Q/BiT5BA,a+BjTiDA,C;CAE/CC,MAAwBA,OAAIA,WAAOA,C;CAyIzBC,QAA0BA,O/B4PtCA,Y+B5PsCA,Q/B4PtCA,6B+B5PuEA,C;CA6WhEC,IAAcA,OAWJA,eAXsBA,C;;EZhgBlCC,MACHA;AAAcA,kBAAdA,UACwBA,gBADxBA;AACkBA;AAAhBA,eAAsBA,UAE1BA,C;EAoEQC,IAAUA;OAAKA,OAAMA,C;CAItBC,IAAcA,iBAAiBA,C;;EAaxBC;KACHA,OACHA;CAEFA;MACAA;AC2YWA;;CA2BfC;AA3BeD;MDxYZA,C;;AC+IoCE;EAAzBA,GAAcA,iBAAkCA,C;;CjB1IzDC,cACDA;AAAJA,WACEA,2BAAkCA,OAGtCA;AADEA,wBACFA,C;;;EAoFWC,GAAcA,+BAAoBA,YAAwBA,C;EAC1DC,GAAqBA,QAAEA,C;CAE3BC,IAKaA,cAJEA,8BAEGA;AAKFA,KAFhBA,GAAWA,QAKlBA;AADEA,qBAD0BA,KAAaA,OAEzCA,C;;;EAWSC,GAAgBA,WAAMA,EAAYA,C;EA2IhCC,GAAcA,kBAAYA,C;EAC1BC,eAGSA,SACFA;AAChBA,WAEgDA;KAGzCA,WAC0CA;KAC1CA,OACoCA,0CAAQA;KAKXA;AAExCA,QACFA,C;;EAkBQC,GAAgBA,WAAMA,EAAYA,C;EA8D/BC,GAAcA,kBAAYA,C;EAC1BC,UA/DmBA,KAmE1BA,oCAMJA;UAJMA;AAAJA,SACEA,8BAGJA;AADEA,sCACFA,C;;;CAoCOC,IAAcA,oCAAyBA,EAAQA,C;;CAc/CC,IAELA,iCADmBA,EAIrBA,C;;CAoBOC,IAAcA,wBAAaA,EAAQA,C;;CAcnCC,cACDA;AAAJA,WACEA,iDAIJA;AAFEA,mDACaA,WACfA,C;;CAgBOC,IAAcA,sBAAgBA,C;EAErBC,GAAcA,WAAIA,C;;;CCrkB3BC,IAGLA,wBAFuBA,EAGzBA,C;AkByMwCC;CAA5BA,QAA4BA,yCAAqCA,C;EA2RrEC,IAGiBA;AACvBA,QAAOA,OACLA;AAEFA,QACFA,C;CAySOC,IAAcA,yBAAqCA,C;AF3uBhCC;EAAlBA,IAAYA,oCAAcA,C;Ca/C3BC,IAAcA,YAAMA,C;Ab8BIC;EAAvBA,IAAYA,iBAA+BA,C;CAG5CC,IAAcA,sBvBmaLA,cuBnaiDA,C;EAQxDC,IAAeA,iBAAgCA,C;;;CchBjDC,IAAcA,QAAWA,C;;;Ed6cxBC,IAAUA,aAAUA,OAAMA,C;CA4B3BC,cAAuCA;AAAzBA,6BAAmCA,C;;EIzfxDC,IAEEA;AAAIA,WACFA,QAoBJA;MAlBMA;WACFA,OAAOA,QAiBXA;sBAdyBA;AACrBA;AACkBA,eAAlBA;AAC6CA,aAASA,UAEtDA,QASJA,MAReA,aAEYA;AAAvBA;AACAA,SAAqBA;AACrBA,QAIJA,MAFIA,QAEJA,C;;;ECtCAC,IACiBA,UAAfA,SAAeA,MAAkBA;ACwN5BA,WAAcA,KAAMA;AACzBA,MDxNFA,C;;;EAUA5P,GRiwBI6P,IQ1vB2B7P;AAL7BA,SDyCAA,kBCzC+CA,uBAIjDA,C;;EAJiD8P,aKpB7CA,YLsBAA,EAG2BA;;GR4dLC;AAoFxBD,QAAmBA,KAAMA;AA6CzBC,aACEA;KACKA,aACLA,OAAuBA,KDjH3BC,YSjfGF,C;;;EAeuBG,IACxBA;IUvCqDC;ACgDnDA,qBDPsBA,aV7CsBC,qCY+BhDC,gEZoBCH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;c7BUUI,IACTA,0BADSA,A;cCgyCmBC,IAC1BA,IAAeA;0CADWA,A;cAKAC,IAC1BA,IAAeA;0CADWA,A;cAKAC,IAC1BA,IAAeA,WADWA,A;cAKAC,IAC1BA,IAuNaA;8DAQRA,GAhOqBA,A;cAKAC,IAC1BA,IAAeA,aADWA,A;cAKAC,IAC1BA,IA4NaA;kEAQRA,GArOqBA,A;cAKAC,IAC1BA,IAAeA,WADWA,A;cAKAC,IAC1BA,IA+OaA,wDAORA,GAvPqBA,A;cAKAC,IAC1BA,IAAeA,aADWA,A;cAKAC,IAC1BA,IAmPaA,4DAORA,GA3PqBA,A;cap3CRC,IAClBA,MADkBA,A", "x_org_dartlang_dart2js": { "minified_names": { - "global": "A,18,B,106,C,628,D,276,E,662,F,796,G,743,H,110,I,35,J,219,K,32,L,580,M,614,N,619,O,622,P,846,Q,79,R,33,S,584,T,7,U,658,V,249,W,683,X,70,Y,102,Z,595,a,818,a0,625,a1,636,a2,657,a3,678,a4,681,a5,248,a6,685,a7,691,a8,762,a9,95,aA,673,aB,680,aC,401,aD,400,aE,702,aF,703,aG,705,aH,707,aI,708,aJ,709,aK,710,aL,711,aM,715,aN,718,aO,721,aP,723,aQ,726,aR,754,aS,758,aT,747,aU,748,aV,39,aW,218,aX,578,aY,571,aZ,579,a_,623,aa,760,ab,256,ac,86,ad,67,ae,806,af,93,ag,588,ah,590,ai,591,aj,604,ak,605,al,610,am,613,an,616,ao,617,ap,618,aq,637,ar,638,as,639,at,642,au,645,av,36,aw,650,ax,654,ay,668,az,274,b,20,b0,571,b1,581,b2,277,b3,596,b4,600,b5,603,b6,606,b7,607,b8,31,b9,627,bA,720,bB,793,bC,112,bD,252,bE,247,bF,90,bG,23,bH,585,bI,586,bJ,571,bK,843,bL,592,bM,593,bN,597,bO,598,bP,599,bQ,611,bR,626,bS,646,bT,647,bU,835,bV,571,bW,656,bX,450,bY,450,bZ,660,b_,269,ba,629,bb,630,bc,631,bd,632,be,633,bf,634,bg,635,bh,640,bi,641,bj,643,bk,649,bl,653,bm,659,bn,275,bo,669,bp,671,bq,672,br,679,bs,682,bt,684,bu,686,bv,687,bw,689,bx,704,by,716,bz,719,c,601,c0,839,c1,664,c2,665,c3,666,c4,667,c5,292,c6,670,c7,674,c8,675,c9,676,cA,94,cB,725,cC,725,cD,130,cE,764,cF,771,cG,783,cH,791,cI,816,cJ,816,cK,816,cL,288,cM,820,cN,823,cO,293,cP,824,cQ,62,cR,837,cS,837,cT,575,cU,790,cV,582,cW,583,cX,612,cY,571,cZ,738,c_,663,ca,677,cb,688,cc,692,cd,693,ce,694,cf,695,cg,696,ch,696,ci,696,cj,697,ck,698,cl,699,cm,700,cn,701,co,706,cp,712,cq,713,cr,714,cs,717,ct,411,cu,225,cv,722,cw,105,cx,794,cy,826,cz,724,d,648,d0,753,d1,755,d2,96,d3,745,d4,5,d5,47,d6,808,d7,1,d8,817,d9,6,dA,729,dB,740,dC,769,dD,784,dE,786,dF,813,dG,836,dH,847,dI,750,dJ,751,dK,756,dL,757,dM,834,dN,216,dO,229,dP,231,dQ,230,dR,228,dS,104,dT,120,dU,151,dV,213,dW,137,dX,129,dY,226,dZ,283,d_,749,da,0,db,36,dc,281,dd,245,de,24,df,559,dg,765,dh,573,di,854,dj,730,dk,744,dl,763,dm,842,dn,802,dp,821,dq,741,dr,849,ds,739,dt,746,du,789,dv,772,dw,840,dx,571,dy,240,dz,785,e,587,e0,254,e1,149,e2,243,e3,233,e4,775,e5,780,e6,91,e7,19,e8,78,e9,807,eA,805,eB,770,eC,844,eD,855,eE,822,eF,609,eG,798,eH,825,eI,571,eJ,761,eK,797,eL,843,eM,841,eN,737,eO,571,eP,571,eQ,742,eR,766,eS,767,eT,768,eU,571,eV,728,eW,759,eX,810,eY,811,eZ,812,e_,253,ea,809,eb,21,ec,61,ed,838,ee,298,ef,8,eg,827,eh,828,ei,829,ej,830,ek,831,el,832,em,850,en,851,eo,852,ep,853,eq,572,er,574,es,576,et,577,eu,795,ev,819,ew,731,ex,787,ey,788,ez,803,f,661,f0,815,f1,848,f2,571,f3,804,f4,727,f5,732,f6,733,f7,734,f8,735,f9,752,fA,145,fB,116,fC,127,fD,280,fE,241,fF,251,fG,150,fH,240,fI,255,fJ,244,fK,242,fL,100,fM,88,fN,87,fO,154,fP,34,fQ,776,fR,777,fS,778,fT,779,fU,782,fV,289,fW,40,fX,68,fY,55,fZ,99,f_,814,fa,773,fb,774,fc,781,fd,799,fe,800,ff,126,fg,128,fh,232,fi,282,fj,26,fk,118,fl,113,fm,119,fn,114,fo,111,fp,107,fq,97,fr,235,fs,236,ft,37,fu,124,fv,214,fw,117,fx,141,fy,125,fz,217,h,736,h0,66,h1,64,h2,65,h3,92,h4,108,h5,210,h6,284,h7,56,h8,63,h9,833,hA,134,hB,136,hC,135,hD,138,hE,140,hF,139,hG,142,hH,144,hI,143,hJ,146,hK,148,hL,147,hM,9,hN,54,h_,98,ha,296,hb,285,hc,69,hd,27,he,297,hf,25,hg,22,hh,559,hi,594,hj,624,hk,651,hl,571,hm,827,hn,828,ho,829,hp,830,hq,831,hr,832,hs,850,ht,851,hu,852,hv,853,hw,765,hx,131,hy,133,hz,132,i,792,j,620,k,621,l,589,m,690,n,211,o,608,p,10,q,644,r,801,t,153,u,602,v,615,w,845,x,652,y,655,z,270", - "instance": "A,898,B,936,C,875,D,882,E,896,F,897,G,913,H,922,I,935,J,871,K,872,L,874,M,884,N,911,O,912,P,908,R,887,S,890,T,891,U,893,V,905,W,863,X,864,Y,917,Z,919,a0,932,a1,937,a2,857,a3,870,a4,873,a5,878,a6,880,a7,881,a8,906,a9,910,aA,909,aB,889,aC,889,aD,892,aE,900,aF,901,aG,866,aH,867,aI,903,aJ,860,aK,865,aL,915,aM,921,aN,924,aO,927,aP,928,aQ,929,aR,929,aS,930,aT,930,aU,932,aV,933,aW,933,aX,937,aY,862,aZ,888,a_,927,aa,894,ab,895,ac,899,ad,902,ae,904,af,859,ag,861,ah,864,ai,914,aj,921,ak,931,al,938,am,858,an,571,ao,571,ap,876,aq,877,ar,879,au,883,av,907,aw,885,az,886,b_,926,gB,936,gN,911,gO,912,gR,887,gV,905,gY,917,gZ,919,gaB,889,gaD,892,gaI,903,gaY,862,gaZ,888,gau,883,gj,920,gk,934,gm,789,gn,916,gq,918,h,938,i,869,j,920,k,934,l,925,m,789,n,916,p,856,q,918,sV,905,sj,920,t,923,u,868,v,883" + "global": "A,17,B,105,C,614,D,273,E,647,F,779,G,726,H,109,I,34,J,218,K,600,L,605,M,608,N,828,O,78,P,32,Q,31,R,566,S,570,T,7,U,643,V,246,W,666,X,69,Y,101,Z,581,a,801,a0,611,a1,622,a2,642,a3,662,a4,665,a5,245,a6,668,a7,674,a8,745,a9,94,aA,664,aB,391,aC,390,aD,685,aE,686,aF,688,aG,690,aH,691,aI,692,aJ,693,aK,694,aL,698,aM,701,aN,704,aO,706,aP,709,aQ,737,aR,741,aS,730,aT,731,aU,217,aV,564,aW,557,aX,565,aY,266,aZ,557,a_,609,aa,743,ab,253,ac,85,ad,66,ae,789,af,92,ag,574,ah,576,ai,577,aj,590,ak,591,al,596,am,599,an,602,ao,603,ap,604,aq,623,ar,624,as,625,at,628,au,631,av,35,aw,635,ax,639,ay,653,az,271,b,19,b0,274,b1,582,b2,586,b3,589,b4,592,b5,593,b6,30,b7,613,b8,615,b9,616,bA,249,bB,244,bC,89,bD,22,bE,571,bF,572,bG,557,bH,825,bI,578,bJ,579,bK,583,bL,584,bM,585,bN,597,bO,612,bP,632,bQ,818,bR,641,bS,437,bT,437,bU,645,bV,648,bW,821,bX,649,bY,650,bZ,651,b_,567,ba,617,bb,618,bc,619,bd,620,be,621,bf,626,bg,627,bh,629,bi,634,bj,638,bk,644,bl,272,bm,654,bn,656,bo,657,bp,663,bq,667,br,669,bs,670,bt,672,bu,687,bv,699,bw,702,bx,703,by,776,bz,111,c,587,c0,284,c1,655,c2,658,c3,659,c4,660,c5,661,c6,671,c7,675,c8,676,c9,677,cA,754,cB,766,cC,38,cD,774,cE,799,cF,799,cG,799,cH,803,cI,806,cJ,807,cK,61,cL,561,cM,773,cN,568,cO,569,cP,598,cQ,557,cR,721,cS,732,cT,736,cU,738,cV,95,cW,728,cX,5,cY,46,cZ,791,c_,652,ca,678,cb,679,cc,679,cd,679,ce,680,cf,681,cg,682,ch,683,ci,684,cj,689,ck,695,cl,696,cm,697,cn,700,co,401,cp,224,cq,705,cr,104,cs,777,ct,809,cu,707,cv,93,cw,708,cx,708,cy,129,cz,747,d,633,d0,800,d1,6,d2,285,d3,0,d4,35,d5,242,d6,23,d7,545,d8,748,d9,559,dA,733,dB,734,dC,739,dD,740,dE,817,dF,215,dG,103,dH,119,dI,150,dJ,212,dK,136,dL,128,dM,279,dN,250,dO,251,dP,148,dQ,240,dR,758,dS,763,dT,90,dU,18,dV,77,dW,790,dX,792,dY,20,dZ,60,d_,1,da,835,db,713,dc,727,dd,746,de,824,df,785,dg,804,dh,724,di,722,dj,729,dk,772,dl,557,dm,755,dn,822,dp,557,dq,237,dr,768,ds,712,dt,723,du,752,dv,767,dw,769,dx,796,dy,819,dz,829,e,573,e0,290,e1,8,e2,810,e3,811,e4,812,e5,813,e6,814,e7,815,e8,831,e9,832,eA,557,eB,557,eC,725,eD,749,eE,750,eF,751,eG,557,eH,711,eI,742,eJ,793,eK,794,eL,795,eM,797,eN,798,eO,830,eP,557,eQ,787,eR,710,eS,715,eT,716,eU,717,eV,718,eW,735,eX,756,eY,757,eZ,764,e_,820,ea,833,eb,834,ec,558,ed,560,ee,562,ef,563,eg,778,eh,802,ei,714,ej,770,ek,771,el,786,em,788,en,753,eo,826,ep,836,eq,805,er,595,es,781,et,808,eu,557,ev,744,ew,780,ex,825,ey,823,ez,720,f,646,f0,783,f1,125,f2,127,f3,230,f4,229,f5,227,f6,231,f7,278,f8,25,f9,117,fA,87,fB,86,fC,153,fD,33,fE,232,fF,759,fG,760,fH,761,fI,762,fJ,765,fK,281,fL,39,fM,67,fN,54,fO,98,fP,97,fQ,65,fR,63,fS,64,fT,91,fU,107,fV,209,fW,280,fX,55,fY,62,fZ,816,f_,782,fa,112,fb,118,fc,113,fd,110,fe,106,ff,96,fg,36,fh,123,fi,213,fj,116,fk,140,fl,124,fm,216,fn,144,fo,115,fp,126,fq,277,fr,225,fs,238,ft,248,fu,149,fv,237,fw,252,fx,241,fy,239,fz,99,h,775,h0,68,h1,26,h2,289,h3,24,h4,21,h5,545,h6,580,h7,610,h8,636,h9,557,hA,228,hB,9,hC,53,h_,288,ha,810,hb,811,hc,812,hd,813,he,814,hf,815,hg,831,hh,832,hi,833,hj,834,hk,748,hl,130,hm,132,hn,131,ho,133,hp,135,hq,134,hr,137,hs,139,ht,138,hu,141,hv,143,hw,142,hx,145,hy,147,hz,146,i,606,j,607,k,719,l,575,m,210,n,594,o,673,p,10,q,630,r,784,t,152,u,588,v,601,w,827,x,637,y,640,z,267", + "instance": "A,877,B,861,C,875,D,876,E,892,F,901,G,914,H,915,I,850,J,851,K,854,L,863,M,890,N,891,O,887,P,866,R,869,S,870,T,872,U,884,V,896,W,898,X,906,Y,911,Z,916,a0,849,a1,852,a2,853,a3,857,a4,859,a5,860,a6,885,a7,889,a8,873,a9,874,aA,871,aB,879,aC,880,aD,845,aE,846,aF,882,aG,841,aH,844,aI,894,aJ,900,aK,903,aL,906,aM,907,aN,908,aO,908,aP,909,aQ,909,aR,911,aS,912,aT,912,aU,916,aV,843,aW,867,aX,905,a_,838,aa,878,ab,881,ac,883,ad,840,ae,842,af,893,ag,900,ah,910,ai,917,aj,839,ak,557,al,557,am,855,an,856,ao,858,ap,862,aq,886,ar,864,au,865,av,888,aw,868,az,868,gH,915,gM,890,gN,891,gP,866,gU,884,gV,896,gW,898,gaA,871,gaF,882,gaV,843,gaW,867,gap,862,gaw,868,gj,899,gk,913,gm,772,gn,895,gq,897,h,917,i,848,j,899,k,913,l,904,m,772,n,895,p,837,q,897,sU,884,sj,899,t,902,u,847,v,862" }, - "frames": "2xHAqIeolCyB;oCAKAAyB;eAKCTG;kBACeDE;gEAIlBAE;KAGOFO;iGAaAtkCAA8CgBCeANKoDuC,A,I;qMATrCnDAAmB0BDeAVWoDoC,A,AAUvCghCkC,A;23DImKW5gB2C;QAEF4XyC;sYHrRWiOuB;uEA6BL/EG;oQAuJqB/HqC;wGA8JlB2JiB;cAAAAa;0CAuBQhCS;gJAYVgCiB;oFAqBL0CAARFjCiB,A;yDAkBWWW;0PAknBoBnSoB;oDAUtBA+C;8DAwEG3RqC;qvBAqHdAwC;qTA8NEAmR;gZA4MAAW;ifA0DyBAW;uWAkCJAW;cAOpBAkC;6BAIiB2gBoD;OAChB3gBU;0DAOCylBI;aAIgBzlBwC;2JASjBAU;yEAiCmBAW;sCAGtBAc;sSAkIFAAOx+D8BAgE,A;kePyoE1BAkC;cAEAA0D;y4CAyPEA4D;6sBAqF6B2iBuC;AACHgCmC;yEA4HtBrlCAKpjETCMA3B4B6/Bc,A,M;qDLqmElBpfiD;yCACK2jBW;uHAsJhB3jBY;4ECloFOokBI;YACcrkCAAsE3BDAF1IA8gCyB,kF,A;QEoE2B7gCAAuEpBghCE,A;OAtEWqDI;uBAKKpkCAAzCJ4iCkB,AAAZwBI,A;6CA+CMAI;YACkBrkCAAyD/BDAF1IA8gCyB,kF,A;QEiF+B7gCAA0DxBghCE,A;OAzDWqDI;uBAGKpkCAApDJ4iCkB,AAAZwBS,A;4EA0EErkCAA+BTDAF1IA8gCyB,kF,A;QE2GS7gCAAgCFghCE,A;sDAvBE9gCAA2BTHAF/IA8gCsB,A,0BE+IA9gCkF,A;QA3BSGAA4BF8gCE,A;+DAfoCqCqB;UAElCnjCAAYTHAF/IA8gCsB,A,0BE+IA9gCkF,A;QAZSGAAaF8gCE,A;gEAMPjhCAFtJA8gCyB,6B;yJEkK2CwCoB;gLAsCjCRmB;0KAaF9iCAFrNR8gCyB,mG;2DEmO2BwD4D;wTA+EX5jCc;81CIzNS2/BG;gBAIjBvBW;AADuCpDAAgK/B0EQ,A;WAtJOnDO;AAFAoDG;gBAGfvBgB;AAD0CvEAAgKlC6FM,A;gBApFCtFAAzBsBqFG,A;oCA2BECG;uCA2JzBEG;sBAgJMhBmB;iEAyEPxEAA/YwBqFG,A;mEAwZbCG;qEAMAAG;qEAMAAG;qEAMWxFG;uDAMkBDAA7WvC2FK,A;aAgXGnGAApWHiGG,A;sBAsWQlGG;6EAQHmBAApWIJO,A;AAqWJGG;sEAMIGAAlVT6EG,A;sBAqViC9FG;6EAU5BGQ;AACDuFQ;uBAGDxFAAzVH4FG,A;+EAgWI1FAAtVJyFG,A;sBA0VULO;uIAeNEkB;yBAGDII;kFAaCJkB;0BAImBFO;AACEAS;AACtBMM;qFAcK9EsB;AAIANK;iBAGQDK;8CAMiB8EAAxRR3fc,A;AAyRrB8eM;AAEAHM;AAEADK;uHAwCFwBM;yDAaZ9DI;sEAuBFEG;eAIOuGoB;qSAkFkBzGkD;uBAKvBgDe;uDAeYQI;uBAENz+BQAvZUi+BoB,A;6DAieF18BoBAlFlB05BgB,A;uCAsFciEO;GAELwCoB;OAAwBvHO;uBAOM14BO;AAA9Bs3BG;gBAA8Bt3BAAKrCu7BY,A;SAS0BuDW;AADVpX0B;iBAGXtKAAmCTAAAAAAAACMmeG,A,A,W;SAlC6BiBoB;AAE/Bx8BG;AADOs3BG;gBACPt3BAAfAu7BY,A;mBAuCqBh9BMA1hBHi+BoB,A;gEA0lBlBn8BAAoiF6Bg0B+B,A;6BAjiFzB2DG;qEAcY0EAAr/BY9DAAuKhB0EQ,A,A;AA+0BQtFAAl7BeqFG,A;0KA87BnBxFAA33BJ2FG,A;IA43BM1FiB;AAYdsEU;sEAUC97BQA8BmBi4BAA15BZiFI,A,AA25BMlFI,A;+DArBXiBC;AADPqCK;0CAsCAv7BAAg8E6Bg0B0B,A;mEAr7EtBcC;AADPkGK;6BAKWrDAAnhCwBqFQ,A;kEAwhCCzEAAr7BxB0EK,A;eAs7B4B7FAA56B5B6FsB,A;mEAu7BCdc;gDAeNjDI;AADOlBAA18BFiFO,A;mDAo9BF3EG;iBAKVeG;8GAsBOuGoB;YACGtHG;iBAKVeG;wFA0BWHU;+DAYAAU;uCAWTxC0B;qJAuCclLuB;mBAiBT0Nc;AADSmDAAzwChB1EAAoEmCqFQ,A,AApEPzEAAuKhB0EK,A,A;QAmmCQ7FAAzlCR6FS,A;MA2lCmBdiB;AAD3BjDI;kiDA2NmB2DQ;qBAEDIO;sCAYA/EAAv1CViFM,A;AAw1CKlFG;qCAMG4EQ;AACFuFkB;AACEvFU;gEAOGIO;gBAELEI;kHAaMNQ;0MAgBFIO;AACjBj9BAAo+DwBg0BAAK/BjtBAAGa4wBAA58GwBqFG,A,A,wCAy8GhBp6BAAgBdo9Ba,A,K,A;oDAh/DY5HAAv3CCNO,A;AAw3CeXM;AAEbgBM;AACc0EW;AAEdhFM;AACcgFW;AACNjFM;AACPiFQ;0DASCIQ;2DAUEAQ;oEAYbFM;yBAIIEe;AAEJEI;sGA6BAxFAApjDwBqFG,A;wIA6jDdzEAA19CT0EK,A;cAy+CajFAAp+CbiFG,A;cAs+CStFAA9kDcqFG,A;uEAulDV5FAA1+Cb6FS,A;mBA++CIzFAAzhDJ2FI,A;GAkiDM1FG;4HAgBOJAAz/Cb4FM,A;AA0/CG3FG;eAODCAAv/CIOM,A;qFA+/CF8KuB;yDAoLPjMAAHK8LG,S;uBAKP9LAALO8LG,I;oCAWDxEO;+DAKOjBI;AACPnDgB;oGAiBO4IM;wBA4BAxEM;aAWHsCS;AADPrCe;oBAGFxDyB;AACH8FW;gCAMStJG;cAGVoEa;AAEaiFW;oBAET7FuB;AACH8FW;kCAKS1JG;cAGVmEgB;AAEuB5TAApuDf8VI,A;AAquDKoDW;gCAGX5IAA95D6BqFS,A;AA+5DdjGQ;AAKhByJW;mBAqCHxFS;AACAOQ;qBAuFegFW;AADPrCW;oBAGsB7HAAIpBqGAAz3DP3fsB,A,AA03DHyeM,AACALM,W;AANGrCAApFA0HC,AAAOtCa,A;qBAiGKqCS;AAFN/KAA/CKnOAAz0DJ8VW,A,A;AAy3DFeW;oCAGLpFAAnGA0HC,AAAOtCa,A;0CA0GOvGAAzjEgBqFG,A;oEAikEvBNAAn5DP3fsB,A;AAo5DHyeM;AACAIK;CACATM;4BAQeoFS;AAFNjLAAzEKjOAA30DJ8VW,A,A;AAq5DFeW;oCAGLpFAA/HA0HC,AAAOtCa,A;4CAsIOvGAArlEgBqFQ,A;0DA0lEZ5FAA7+DX6FI,A;kEAm/Da1EAA7/Db0EG,A;IA8/DiBtFAAjmEMqFc,A;AAmmEd5FAAt/DT6FI,A;gCA6/DAPAA57DP3fsB,A;AA67DHyeM;AACAIK;CACATM;4BAQeoFS;AAFNpLAAhHK9NAA70DJ8VW,A,A;AA87DFeW;oCAGLpFAAxKA0HC,AAAOtCa,A;wCA+KOvGG;0DAMVmCe;qCAKG4CAA39DP3fsB,A;AA49DHyeM;AACAIK;CACATM;0BAOeoFsB;AADPrCW;oBAIRjIAAKUyGAA7+DP3fsB,A,AA8+DHyeO,AACAIM,AACATM,W;AATGrCAAtMA0HC,AAAOtCa,A;8BAqNMrBQ;sCAEIIG;AACC5VAAj/DX8VI,A;kCA0/DMNQ;qCAGmBFO;AACZIwB;AAIPEK;AACK5VAAngEX8VI,A;uCAuhED9HAAVOwHU,mB;AAYD0DG;AADPrCW;oBAIOhIAAKLwGAAziEP3fsB,A,AA0iEHyeM,AACAIM,AACAES,AACgBeW,AAEdlBI,AAA6BgBK,AAE/BxBM,W;AAdGrCAAlQA0HC,AAAOtCa,A;yCAsSNvGAArvE6BqFY,A;AAsvErBhGAAvqEFiGG,A;AAyqEDLG;AAAgB7FkB;QAEhB/BGAjBL3NAAnjEM8VuB,A,A;AAskEKoDG;AADPrCW;oBAIOnIAAKL2GAAtlEP3fsB,A,AAulEHyeO,AACAIM,AACAEM,AACAXM,W;AAVGrCAA/SA0HC,AAAOtCa,A;qBAyUD3IoC;AAEMgLC;AADPrCW;oBAIR/HAAKUuGAApnEP3fsB,A,AAqnEHyeO,AACAIM,AACAEM,AACAXM,W;AAVGrCAA7UA0HC,AAAOtCa,A;qBAoYDjJAAtCPCiB,AADY7NO,AACZ6NAAKkBiDM,AACc0EW,AAEdhFM,AACcgFW,AACNjFM,AACPiFsB,oF,AAZvBlCY,A;AAyCiB4FG;AADPrCW;oBAIRlIAAKU0GAA/qEP3fsB,A,AAgrEHyeO,AACAIM,AACAEM,AACAXM,W;AAVGrCAAxYA0HC,AAAOtCa,A;uBAgaD9ISAPH/NAAlrEI8VwB,A,A;AA2rEKoDC;AADPrCW;sCAGLpFAApaA0HC,AAAOtCa,A;sDA8aQrBQ;kCAICIQ;AACXtFAAl4EyBqFe,A;sEAm5EvBNAAruEP3fsB,A;AAsuEHyeO;AACAIM;AACAEK;CACAXM;4FAqKoBwGM;AACJIU;kBAGTzEkB;4LAcHkEW;cAIAAW;cAIAAO;KACWmBI;AAAkB3EG;AAAqBgDU;cAIlDQO;AACIeM;AAA2BIG;AAA3BJAAkWSvFU,A;cA9VbwEO;AAAsB3HM;AAAiB8IW;cAIvCnBO;AAAsB5HM;AAAkB+IW;eAIxCnBO;AAAsBxHM;AAAe2IW;cAIrClBAAgFRDQ,AAAYPS,AACepEQ,A;iEArEX8FG;AACRnBO;cAIkBxDG;AAAqBgDU;AAC/BLK;iBAIAgCG;AACRnBO;cAIkBxDG;AAAqBgDU;AAC/BLK;iBAIAgCG;AACRnBO;cAIkBxDG;AAAqBgDU;AAC/BLK;cAIRaW;AACACAAqCRDQ,AAAYPS,AACepEQ,A;sCA9BnB4EAA6BRDQ,AAAYPS,AACepEQ,A;cA1BnBkCAA2KS3UAAoCE0SY,AAAmBmEI,MACtB0BI,AAAkB3EM,AACPhBY,A,AArC3BwEU,AACAAW,A;eAzKQCAAqBRDQ,AAAYPS,AACepEQ,A;eAlBnBgCAAyKSrBAAqCEVY,AAAmBmEI,MACjB0BI,AAAkB3EM,AACZhBY,A,AAtC3BwEU,AACAAW,A;cAvKYxCAA4KKkDmB,AAGjBVO,AAAmBakB,AACnBbW,AACACAApKADQ,AAAYPS,AACepEQ,A,M;wCANhBmEU;YACG2BI;AAAkB3EK;sDAWrBVkB;uCAIXkEU;uEAQWlEkB;0FAIyCwCoB;kBAM7BuCmB;SAKbMM;AAAkB3EO;AADZGAAhzBDxGAA76DsBqFW,A,AA+6DjBhGAAh2DNiGG,A,UAm2DazFAA/2Db2FG,A,AAk3DYmDI,+C;AAsyBxBkBO;AAEcrDkB;AAGdqDU;4BAMqBmBiB;AAEZ3BQ;sBAGTQO;2BAE4BxDc;AAChBrGAA9uFuBqFY,A;AAgvF/BwEO;YAGmCbK;cAInCaO;+BA+BKRa;AAnBY2B2B;uCAwBI3BU;aAIbAU;cAIRQU;WAIJAU;YAKKRU;iBAGIAwB;AAC0BamB;AACbAK;SACc7DM;AACmBtBAA3iFlB3fc,A;AA4iFf8eM;AAEAHM;AAEADK;AACpB+FO;2BASAAO;OAGyBrEY;kFAgCnB6Dc;UAERQO;AAAsBzHM;AAAgB4IY;iBAItCnBO;AAAsB7HM;AAAcgJY;0EAOnB7FgB;AAAmBmEI;MACtB0BI;AAAkB3EM;AACPhBY;2DAiBK6EK;8FASZhFQ;8BAEAFI;sBAOAEQ;+BAGAFI;wBAOLhFAAj6FsBqFG,A;4BAm6FRhGAAp1FfiGE,A;IAq1FYlGM;AACP8FQ;gBAEDIK;SAIEjGAA51FNiGM,A;AA61FDtFAA56FwBqFQ,A;wFAm7FbvFU;AACPoFQ;QAEDIK;qEAwDDvF8B;AACG6IW;YAET7G8B;AACF8GW;0GA8DLxM0B;sBAEY2DAAljGuBqFG,A;wCAyjGnCx2BAA4ZEmxBG,A;0CAtZesFE;AADH1FAAx7FFyFc,A;YA67FArFAAnkGuBqFsB,A;iCA2kGR5FAA99Ff6FQ,A;0EAu+FM7FAAv+FN6FY,A;wBA2+FM1EAAr/FN0EY,A;qCA6/FI1EAA7/FJ0EY,A;qEAghGI7FAAtgGJ6Fa,A;2FAkhGQjFAAvhGRiFY,A;yBAkiGa7FAA7hGb6FS,A;+FAyiGiBjFAA9iGjBiFQ,A;+IAskGI3FM;AACAAM;AACGuFgB;AACAAQ;SAGkBDwB;AACAAwB;oBAGjBKO;AACAAI;kEAOkB5FAApkG1B4FM,A;AAqkGN5FAArkGM4FQ,A;sQAgmGM7EAA1mGN6EQ,A;AA2mGM7EAA3mGN6EU,A;aAgnGsB9FO;AACAAM;AAGdgBM;AAEAAM;AACe0EW;AACAAQ;yBAMfhFM;AAEAAM;AACegFW;AACAAQ;wCAKAFI;YACbMgB;6BAOaNI;YACbMkB;6BASbNM;YACaMgB;YAMOrFM;AACAAM;AACPiFW;AACAAQ;0BAIFMS;0BAGEAI;2BAIEJM;qCAMcJM;sBAENAM;YACbMkB;+BAQRFM;0DASIvFAAvvGH2FM,A;AAwvGG3FAAxvGH2FQ,A;WAswGOxGAAnhDL8LG,I;2CAshDCtFI;YAIMkDI;uBAEHxDQ;AACW/PoBAsLAqPa,AAAjB0FK,A;+BApLW1EK;wBAIT1FQ;gBAOFAW;AACAAQ;8BAWIoFQ;2BAUAIO;AACAAU;6CAwCAhFM;AACAAM;AACA4EgB;AACAAQ;aAEF3EAA30GFiFM,A;AA40GEjFAA50GFiFG,A;oCAg1GMFO;AACAAU;iCASPtFAAn7GwBqF+B,A;sCAu7GIzEAAp1G3B0EK,A;eAq1G+B7FAA30G/B6FI,A;uBAu1GiBjJ+B;uBAQlB2DAA58GwBqFG,A;qDA+/G1B4D4B;AACE/DQ;oBAEEMI;4CAOgBhBa;AAAjB0FI;grBQvpHRvLS;4BA2BRvZU;wBAwGOASApCS8ZAAAA9ZyB,A,a;uCAmDCwhBE;mMA2DExhBoB;AAAAifW;8HAiCPvRM;6IC9SIAM;0DAYV2RQ;2BAMJAsB;OAEgBzHY;2BAqjBFsEiB;AACIxDG;cAIE/G0D;wIAyBNuKkB;AACIxDI;mBAIE/G0D;2GAuBbjmBgB;uFAuIkBgwBqB;gCAGYlCG;AACxB0IM;sHA+BcIG;2CACD5CK;0CAIbwCM;mDA4EIGG;uLAkBT0CwB;wBAMgB1Ie;AACFyBsB;AACZnFyB;gDAcImFwB;iBAEVmBiB;AAGAXmB;uQGt5BQPU;iBAUqB/dqB;qCAKrB+dU;sFAoBkB/diB;6IAuD3BtUW;iBCg5EGsUqB;OAAAAU;uCE9sDFAADxtBgB0N0B,AAAXsYU,A;wPAgZN9DS;spFGrZUliBmB;oHAoBN+WG;yYCsLsCwKyDfxRtCmCOA6EiCiCqC,I,A;0Deub1B3CgB;AAEDxDO;0BAGFAO;oBAGEAU;4IjB/dJNAiByLSkGAvB4NXjCiB,A,A;QMnZA5FO;8jBmB6vBCwImB;8EAqBc/lBc;oBAGpB+lB6B;wDAMKhPG;uzBC11BPoNO;4yBGgBwBnkBe;gBA0bRAAcosBSAA7BplCvBAAAtB0BwhBAAAAxhBiC,A,A,yB,A;+SgB/BZilBO;AAAAjNqB;mDAEhBgDuB;oSAkBiBsFAV8HXtgB+C,A;gBUtHQ6ZuK;AAEEqLACgEUllBO,A;kBDhEVklBACgEUllBa,A;yBD5D5BAO;oLAsBA+jBAAb+BrG2B,AAAkBwHQVyazBllBW,A,A;+batdaqhBmE;yBAMAC+C;0MlC+SLwCW;gBAqB5BlCe;iiBStFFpB+B;sDA2COxgBY;QAAAA2B;qEA2ZqBqjBe;gBAaFrjBoB;QAAAAW;upCLrrBAAkB;yBAAAAiC;mBA+IxBAqD;uOAsMwBAU;6CAAAAa;k6BH2zCEgjB+B;qrBAq6BwB7De;8BAOlC7BiC;AACAwGS;g6CK99EXvkCiB;iBAAAAAAoZ0B6/BqB,A;eA9YDhrBMAsZZgrBqB,A;2aQ1ahBtDkB;maAsKA9bc;6PkB5FA8iBW;AACS9iBYZofI0NI,AADnB1NAAAAA+B,A,A;YYjfyBAAA1KnBAAXkzBAAADxtBgB0N0B,AAAXsYU,A,A,uBYhGXhmBAAAAAc,A,A;AAkLE8XwE;kDAgCa9XQ;AADT8iBU;mEAIO9iByD;+BAyDPwcG;qCAIADG;kDAaE7CI;iEAMAmE6E;qDAUFtBS;sBAOAuGkB;kGAkB0CtGS;OAIjCxcQ;AADTwcU;0DAQADG;0BACAZW;4BAMEYS;4JjBlTMaW;wDAEZvEK;gFAgBYuEW;oFA4HPoFW;oBACE9CY;AAA6BjGI;8CAazBiGK;iGAQL4CU;qTAsIkB5UW;kGAoBA1NuC;OACP8WwD;wDASO9W+B;OACPulByD;2GAoGbpIG;6CAQiBzEQ;AACL2DY;qBAQd3wBgB;+EAQEyxBG;kGAiBiBzEQ;AACL2DY;gCAQd3wBgB;4RAgKFuzBW;kCAQAZQA3OoBrec,A;+FAySpBtUmB;iGAwBAAmB;2jBAwEyB02BGAjnBlB1CS,AAAUHa,A;+BAmnBwB/FE;uBACDAQ;mBAEHxZiB;yDAKiBqciB;AAC3BXmB;IACqBlCI;iMAkBjB2IC;IAAAAAA1rBxBzCS,AAA+BjCO,A;kDA4rBHzdoB;0FAOIwZS;iBAElB+IAA3sBd/EU,A;wDAgtBsBhEO;gDAGQxZiB;6EIoXXA6B;kKAQpB4YU;uBAAAAAJ5lBJqGW,S;wCMrKGjDU;0DAUAAW;AAGmBhcG;uFAkBpBgckB;QAYKhcQ;AADL8iBU;wDAIG9iBiD;uCAoGFycU;sJAgBLhBAD9PsBiBI,Q;YC8PtBjBqC;yBAgEIOU;yCAQAAU;4GAyBsBhcY;qBA6CIyVkB;2JDxrBXuNsB;6BA2Jf/GG;mDAIcjcY;qDAiDSAG;2BAEtB4bG;mEAciBcI;gFA6FlBdoB;iDAEoByBgCAhM2B2FkB,A;sEA2M5BtGY;iGA4BnBrDmB;qBAAAAmB;oHA6GA6JG;uMAWFnBmCA6BFiCI,A;MA7BEjCAA6BFiCG,A;iUJ27BE9BU;0GAYAAU;sgBMt/CKliBmB;8CAAAAoB;qFAU8B6bS;6EAGHAS;8bAqDhCmC2BAOSlFAAoOe2JwB,A,iH;qlBAhCf3JAAgCe2JmB,A;yLAmEnBziBU;4BAAAAoB;iNe/ZmBAkB;sBAAAAW;QAAAAa;+CA2IUAY;QAAAA6B;eA6WjBqjBe;8RdlafyCmB;AACAAAC0YJrGU,A;ADzYIqGe;s1BhB4WoBpQK;+5BiB5aMoOc;mlBMyaxB9jBwB;kMCvbNgS6B;gCAYoBhSAVwDdAI,A;AUxDN0dgC;SACiBiEkB;0DACcjKY;EAC7BgGoB;AAAA1LAV2hBGkLG,qBACLrFkDA+C6B7XY,A,A;6CUrjB3B6kBAAdF3lBAAlCF2iBc,AAAcpKqB,AAA6CEa,qC,A;8gU9Bq1CxC0M0G;CAAAAG;6DAUAC8G;CAAAAG;2DAUACuD;CAAAAG;6DAUAC2D;CAAAAG;" + "frames": "2xHAqIe4jCyB;oCAKAAyB;eAKCTG;kBACeDE;gEAIlBAE;KAGOFO;iGAaA9iCAA8CgBCeANKmDuC,A,I;qMATrClDAAmB0BDeAVWmDoC,A,AAUvCy/BkC,A;23DImKWlgB2C;QAEFqXyC;sYHrRW6NuB;uEA6BL9EG;oQAuJqB9HqC;wGA8JlB0JiB;cAAAAa;0CAuBQhCS;gJAYVgCiB;oFAqBLyCAARFhCiB,A;yDAkBWWW;mKAknBoB9RoB;oDAUtBA+C;8DAwEGtRqC;qvBAqHdAwC;qTA8NEAmR;gZA4MAAW;ifA0DyBAW;uWAkCJAW;cAOpBAkC;6BAIiBigBoD;OAChBjgBU;0DAOC8kBI;aAIgB9kBwC;2JASjBAU;yEAiCmBAW;sCAGtBAc;sSAkIFAAOx+D8BAgE,A;kePyoE1BAkC;cAEAA0D;y4CAyPEA4D;6sBAqF6BiiBuC;AACHgCmC;yEA4HtB9jCAKpjETCMA3B4Bq+Bc,A,M;qDLqmElBzeiD;yCACKijBW;uHAsJhBjjBY;4ECloFO0jBI;YACc9iCAAsE3BDAF1IAu/ByB,kF,A;QEoE2Bt/BAAuEpBy/BE,A;OAtEWqDI;uBAKK7iCAAzCJqhCkB,AAAZwBI,A;6CA+CMAI;YACkB9iCAAyD/BDAF1IAu/ByB,kF,A;QEiF+Bt/BAA0DxBy/BE,A;OAzDWqDI;uBAGK7iCAApDJqhCkB,AAAZwBS,A;4EA0EE9iCAA+BTDAF1IAu/ByB,kF,A;QE2GSt/BAAgCFy/BE,A;sDAvBEv/BAA2BTHAF/IAu/BsB,A,0BE+IAv/BkF,A;QA3BSGAA4BFu/BE,A;+DAfoCqCqB;UAElC5hCAAYTHAF/IAu/BsB,A,0BE+IAv/BkF,A;QAZSGAAaFu/BE,A;gEAMP1/BAFtJAu/ByB,6B;yJEkK2CwCoB;gLAsCjCRmB;0KAaFvhCAFrNRu/ByB,mG;2DEmO2BwD4D;wTA+EXriCc;81CIzNSk+BG;gBAIjBtBW;AADuCnDAAgK/BwEQ,A;WAtJOjDO;AAFAkDG;gBAGftBgB;AAD0CrEAAgKlC0FM,A;gBApFCnFAAzBsBkFG,A;oCA2BECG;uCA2JzBEG;sBAgJMfmB;iEAyEPtEAA/YwBkFG,A;mEAwZbCG;qEAMAAG;qEAMAAG;qEAMWrFG;uDAMkBDAA7WvCwFK,A;aAgXGhGAApWH8FG,A;sBAsWQ/FG;6EAQHkBAApWIHO,A;AAqWJEG;sEAMIGAAlVT2EG,A;sBAqViC3FG;6EAU5BGQ;AACDoFQ;uBAGDrFAAzVHyFG,A;+EAgWIvFAAtVJsFG,A;sBA0VULO;uIAeNEkB;yBAGDII;kFAaCJkB;0BAImBFO;AACEAS;AACtBMM;qFAcK5EsB;AAIALK;iBAGQDK;8CAMiB2EAAxRR/ec,A;AAyRrBmeM;AAEAHM;AAEADK;uHAwCFuBM;yDAaZ5DI;sEAuBFEG;eAIOuGoB;qSAkFkBzGkD;uBAKvB+Ce;uDAeYOI;uBAENh9BQAvZUy8BoB,A;6DAieFl7BoBAlFlBm4BgB,A;uCAsFc+DO;GAEL0CoB;OAAwBvHO;uBAOMn3BO;AAA9Bg2BG;gBAA8Bh2BAAKrC+5BY,A;SAS0BwDW;AADV7W0B;iBAGXnKAAmCTAAAAAAAACMwdG,A,A,W;SAlC6BiBoB;AAE/Bh7BG;AADOg2BG;gBACPh2BAAfA+5BY,A;mBAuCqBx7BMA1hBHy8BoB,A;gEA0lBlB36BAAoiF6B4yB+B,A;6BAjiFzByDG;qEAcYuEAAr/BY5DAAuKhBwEQ,A,A;AA+0BQnFAAl7BekFG,A;0KA87BnBrFAA33BJwFG,A;IA43BMvFiB;AAYdoEU;sEAUCt6BQA8BmB02BAA15BZ+EI,A,AA25BMhFI,A;+DArBXiBC;AADPoCK;0CAsCA/5BAAg8E6B4yB0B,A;mEAr7EtBcC;AADP8FK;6BAKWnDAAnhCwBkFQ,A;kEAwhCCvEAAr7BxBwEK,A;eAs7B4B1FAA56B5B0FsB,A;mEAu7BCbc;gDAeNhDI;AADOlBAA18BF+EO,A;mDAo9BFzEG;iBAKVeG;8GAsBOuGoB;YACGtHG;iBAKVeG;wFA0BWHU;+DAYAAU;uCAWTvC0B;qJAuCc5KuB;mBAiBTmNc;AADSiDAAzwChBvEAAoEmCkFQ,A,AApEPvEAAuKhBwEK,A,A;QAmmCQ1FAAzlCR0FS,A;MA2lCmBbiB;AAD3BhDI;kiDA2NmByDQ;qBAEDIO;sCAYA7EAAv1CV+EM,A;AAw1CKhFG;qCAMG0EQ;AACFwFkB;AACExFU;gEAOGIO;gBAELEI;kHAaMNQ;0MAgBFIO;AACjBx7BAAo+DwB4yBAAK/B7rBAAGasvBAA58GwBkFG,A,A,wCAy8GhB34BAAgBd67Ba,A,K,A;oDAh/DY5HAAv3CCLO,A;AAw3CeXM;AAEbeM;AACcwEW;AAEd7EM;AACc6EW;AACN9EM;AACP8EQ;0DASCIQ;2DAUEAQ;oEAYbFM;yBAIIEe;AAEJEI;sGA6BArFAApjDwBkFG,A;wIA6jDdvEAA19CTwEK,A;cAy+Ca/EAAp+Cb+EG,A;cAs+CSnFAA9kDckFG,A;uEAulDVzFAA1+Cb0FS,A;mBA++CItFAAzhDJwFI,A;GAkiDMvFG;4HAgBOJAAz/CbyFM,A;AA0/CGxFG;eAODCAAv/CIOM,A;qFA+/CF4KuB;yDAoLP/LAAHK4LG,S;uBAKP5LAALO4LG,I;oCAWDvEO;+DAKOnBI;AACPjDgB;oGAiBO2IM;wBA4BAvEM;aAWHsCS;AADPrCe;oBAGFzDyB;AACH+FW;gCAMSrJG;cAGVkEa;AAEakFW;oBAET9FuB;AACH+FW;kCAKSzJG;cAGViEgB;AAEuBpTAApuDfqVI,A;AAquDKsDW;gCAGX3IAA95D6BkFS,A;AA+5Dd9FQ;AAKhBwJW;mBAqCHzFS;AACAOQ;qBAuFeiFW;AADPrCW;oBAGsB5HAAIpBkGAAz3DP/esB,A,AA03DH8dM,AACALM,W;AANGpCAApFA0HC,AAAOtCa,A;qBAiGKqCS;AAFN7KAA/CK9NAAz0DJqVW,A,A;AAy3DFiBW;oCAGLpFAAnGA0HC,AAAOtCa,A;0CA0GOtGAAzjEgBkFG,A;oEAikEvBNAAn5DP/esB,A;AAo5DH8dM;AACAIK;CACATM;4BAQeqFS;AAFN/KAAzEK5NAA30DJqVW,A,A;AAq5DFiBW;oCAGLpFAA/HA0HC,AAAOtCa,A;4CAsIOtGAArlEgBkFQ,A;0DA0lEZzFAA7+DX0FI,A;kEAm/DaxEAA7/DbwEG,A;IA8/DiBnFAAjmEMkFc,A;AAmmEdzFAAt/DT0FI,A;gCA6/DAPAA57DP/esB,A;AA67DH8dM;AACAIK;CACATM;4BAQeqFS;AAFNlLAAhHKzNAA70DJqVW,A,A;AA87DFiBW;oCAGLpFAAxKA0HC,AAAOtCa,A;wCA+KOtGG;0DAMVkCe;qCAKG0CAA39DP/esB,A;AA49DH8dM;AACAIK;CACATM;0BAOeqFsB;AADPrCW;oBAIRhIAAKUsGAA7+DP/esB,A,AA8+DH8dO,AACAIM,AACATM,W;AATGpCAAtMA0HC,AAAOtCa,A;8BAqNMvBQ;sCAEIIG;AACCnVAAj/DXqVI,A;kCA0/DMNQ;qCAGmBFO;AACZIwB;AAIPEK;AACKnVAAngEXqVI,A;uCAuhED1HAAVOoHU,mB;AAYD4DG;AADPrCW;oBAIO/HAAKLqGAAziEP/esB,A,AA0iEH8dM,AACAIM,AACAES,AACgBcW,AAEdjBI,AAA6BeK,AAE/BvBM,W;AAdGpCAAlQA0HC,AAAOtCa,A;yCAsSNtGAArvE6BkFY,A;AAsvErB7FAAvqEF8FG,A;AAyqEDLG;AAAgB1FkB;QAEhB9BGAjBLtNAAnjEMqVuB,A,A;AAskEKsDG;AADPrCW;oBAIOlIAAKLwGAAtlEP/esB,A,AAulEH8dO,AACAIM,AACAEM,AACAXM,W;AAVGpCAA/SA0HC,AAAOtCa,A;qBAyUDzIoC;AAEM8KC;AADPrCW;oBAIR9HAAKUoGAApnEP/esB,A,AAqnEH8dO,AACAIM,AACAEM,AACAXM,W;AAVGpCAA7UA0HC,AAAOtCa,A;qBAoYD/IAAtCPCiB,AADYxNO,AACZwNAAKkB+CM,AACcwEW,AAEd7EM,AACc6EW,AACN9EM,AACP8EsB,oF,AAZvBjCY,A;AAyCiB6FG;AADPrCW;oBAIRjIAAKUuGAA/qEP/esB,A,AAgrEH8dO,AACAIM,AACAEM,AACAXM,W;AAVGpCAAxYA0HC,AAAOtCa,A;uBAgaD5ISAPH1NAAlrEIqVwB,A,A;AA2rEKsDC;AADPrCW;sCAGLpFAApaA0HC,AAAOtCa,A;sDA8aQvBQ;kCAICIQ;AACXnFAAl4EyBkFe,A;sEAm5EvBNAAruEP/esB,A;AAsuEH8dO;AACAIM;AACAEK;CACAXM;4FAqKoByGM;AACJIU;kBAGT3EkB;4LAcHoEW;cAIAAW;cAIAAO;KACWkBI;AAAkB1EG;AAAqBgDU;cAIlDQO;AACIcM;AAA2BIG;AAA3BJAAkWSxFU,A;cA9Vb0EO;AAAsB3HM;AAAiB6IW;cAIvClBO;AAAsB5HM;AAAkB8IW;eAIxClBO;AAAsBxHM;AAAe0IW;cAIrCjBAAgFRDQ,AAAYPS,AACetEQ,A;iEArEX+FG;AACRlBO;cAIkBxDG;AAAqBgDU;AAC/BLK;iBAIA+BG;AACRlBO;cAIkBxDG;AAAqBgDU;AAC/BLK;iBAIA+BG;AACRlBO;cAIkBxDG;AAAqBgDU;AAC/BLK;cAIRaW;AACACAAqCRDQ,AAAYPS,AACetEQ,A;sCA9BnB8EAA6BRDQ,AAAYPS,AACetEQ,A;cA1BnBoCAA2KSpUAAoCEiSY,AAAmBqEI,MACtByBI,AAAkB1EM,AACPlBY,A,AArC3B0EU,AACAAW,A;eAzKQCAAqBRDQ,AAAYPS,AACetEQ,A;eAlBnBkCAAyKSvBAAqCEVY,AAAmBqEI,MACjByBI,AAAkB1EM,AACZlBY,A,AAtC3B0EU,AACAAW,A;cAvKYxCAA4KKiDmB,AAGjBTO,AAAmBYkB,AACnBZW,AACACAApKADQ,AAAYPS,AACetEQ,A,M;wCANhBqEU;YACG0BI;AAAkB1EK;sDAWrBZkB;uCAIXoEU;uEAQWpEkB;0FAIyC0CoB;kBAM7BsCmB;SAKbMM;AAAkB1EO;AADZGAAhzBDvGAA76DsBkFW,A,AA+6DjB7FAAh2DN8FG,A,UAm2DatFAA/2DbwFG,A,AAk3DYqDI,+C;AAsyBxBkBO;AAEcrDkB;AAGdqDU;4BAMqBkBiB;AAEZ1BQ;sBAGTQO;2BAE4BxDc;AAChBpGAA9uFuBkFY,A;AAgvF/B0EO;YAGmCbK;cAInCaO;+BA+BKRa;AAnBY0B2B;uCAwBI1BU;aAIbAU;cAIRQU;WAIJAU;YAKKRU;iBAGIAwB;AAC0BamB;AACbAK;SACc7DM;AACmBxBAA3iFlB/ec,A;AA4iFfmeM;AAEAHM;AAEADK;AACpBgGO;2BASAAO;OAGyBvEY;kFAgCnB+Dc;UAERQO;AAAsBzHM;AAAgB2IY;iBAItClBO;AAAsB7HM;AAAc+IY;0EAOnB9FgB;AAAmBqEI;MACtByBI;AAAkB1EM;AACPlBY;2DAiBK+EK;8FASZlFQ;8BAEAFI;sBAOAEQ;+BAGAFI;wBAOL7EAAj6FsBkFG,A;4BAm6FR7FAAp1Ff8FE,A;IAq1FY/FM;AACP2FQ;gBAEDIK;SAIE9FAA51FN8FM,A;AA61FDnFAA56FwBkFQ,A;wFAm7FbpFU;AACPiFQ;QAEDIK;qEAwDDpF8B;AACG4IW;YAET7G8B;AACF8GW;0GA8DLrM0B;sBAEYyDAAljGuBkFG,A;wCAyjGnC/0BAA4ZE6vBG,A;0CAtZemFE;AADHvFAAx7FFsFc,A;YA67FAlFAAnkGuBkFsB,A;iCA2kGRzFAA99Ff0FQ,A;0EAu+FM1FAAv+FN0FY,A;wBA2+FMxEAAr/FNwEY,A;qCA6/FIxEAA7/FJwEY,A;qEAghGI1FAAtgGJ0Fa,A;2FAkhGQ/EAAvhGR+EY,A;yBAkiGa1FAA7hGb0FS,A;+FAyiGiB/EAA9iGjB+EQ,A;+IAskGIxFM;AACAAM;AACGoFgB;AACAAQ;SAGkBDwB;AACAAwB;oBAGjBKO;AACAAI;kEAOkBzFAApkG1ByFM,A;AAqkGNzFAArkGMyFQ,A;sQAgmGM3EAA1mGN2EQ,A;AA2mGM3EAA3mGN2EU,A;aAgnGsB3FO;AACAAM;AAGdeM;AAEAAM;AACewEW;AACAAQ;yBAMf7EM;AAEAAM;AACe6EW;AACAAQ;wCAKAFI;YACbMgB;6BAOaNI;YACbMkB;6BASbNM;YACaMgB;YAMOlFM;AACAAM;AACP8EW;AACAAQ;0BAIFMS;0BAGEAI;2BAIEJM;qCAMcJM;sBAENAM;YACbMkB;+BAQRFM;0DASIpFAAvvGHwFM,A;AAwvGGxFAAxvGHwFQ,A;WAswGOrGAAnhDL4LG,I;2CAshDCvFI;YAIMoDI;uBAEH1DQ;AACWtPoBAsLA6Oa,AAAjB2FK,A;+BApLW5EK;wBAITvFQ;gBAOFAW;AACAAQ;8BAWIiFQ;2BAUAIO;AACAAU;6CAwCA9EM;AACAAM;AACA0EgB;AACAAQ;aAEFzEAA30GF+EM,A;AA40GE/EAA50GF+EG,A;oCAg1GMFO;AACAAU;iCASPnFAAn7GwBkF+B,A;sCAu7GIvEAAp1G3BwEK,A;eAq1G+B1FAA30G/B0FI,A;uBAu1GiB5I+B;uBAQlByDAA58GwBkFG,A;qDA+/G1B8D4B;AACEjEQ;oBAEEMI;4CAOgBfa;AAAjB2FI;grBQvpHRtLS;4BA2BR9YU;wBAwGOASApCSqZAAAArZyB,A,a;uCAmDC8gBE;+BAqBjBhBwG;oCAUACgC;gIA4BmB/foB;AAAAseW;8HAiCP/QK;0GC2RIiOiB;AACItDG;cAIE5G0D;wIAyBNkKkB;AACItDI;mBAIE5G0D;2GAuBbjlBgB;uFAuIkB2uBqB;gCAGYjCG;AACxByIM;sHA+BcIG;2CACD9CK;0CAIb0CM;mDA4EIGG;uLAkBT0CwB;wBAMgB1Ie;AACFwBsB;AACZhFyB;gDAcIgFwB;iBAEVmBiB;AAGAXmB;sQGt5BQPU;iBAUqBpdqB;qCAKrBodU;sFAoBkBpdiB;6IAuD3B3TW;iBCg5EG2TqB;OAAAAU;uCE9sDFAADxtBgBuN0B,AAAX8XU,A;uPAgZN7DS;wlFGrZUxhBmB;oHAoBNwWG;yYCsLsCqKyDfxRtCmCOA6EiCgCqC,I,A;0Deub1B1CgB;AAED1DO;0BAGFAO;oBAGEAU;4IjB/dJLAiByLSkGAvB4NXhCiB,A,A;QMnZA7FO;8jBmB6vBCwImB;8EAqBcplBc;oBAGpBolB6B;wDAMK5OG;0lDE10BiBxWe;mDCfP0fARsJX1f+C,A;gBQ9IQoZuK;AAEEmLACwFUvkBO,A;kBDxFVukBACwFUvkBa,A;yBDpF5BAO;2IAoBAqjBAAX+BtG2B,AAAkBwHQRiczBvkBW,A,A;+bWtda2gBmE;yBAMAC+C;0MhC+SLwCW;gBAqB5BlCe;iiBStFFtB+B;sDA2CO5fY;QAAAA2B;qEA2ZqB2iBe;gBAaF3iBoB;QAAAAW;upCLrrBAAkB;yBAAAAiC;mBA+IxBAqD;uOAsMwBAU;6CAAAAa;k6BH2zCEsiB+B;qrBAq6BwB9De;8BAOlC7BiC;AACAyGS;g6CK99EXhjCiB;iBAAAAAAoZ0Bq+BqB,A;eA9YD/pBMAsZZ+pBqB,A;2aQ1ahBrDkB;sPAsKApbc;6PgB5FAoiBW;AACSpiBYVofIuNI,AADnBvNAAAAA+B,A,A;YUjfyBAAA1KnBAATkzBAAADxtBgBuN0B,AAAX8XU,A,A,uBUhGXrlBAAAAAc,A,A;AAkLEuXwE;kDAgCavXQ;AADToiBU;mEAIOpiByD;+BAyDP8bG;qCAIADG;kDAaE5CI;iEAMAiE6E;qDAUFrBS;sBAOAuGkB;mGAkB0CtGS;OAIjC9bQ;AADT8bU;0DAQADG;0BACAZW;4BAMEYS;+IfpKDiGW;oBACEhDW;AAA6B9FI;8CAazB8FK;gGAQL8CU;oTAsIkBrUW;kGAoBAvNuC;OACPuWwD;uDASOvW+B;OACP4kByD;2GAoGbnIG;6CAQiBvEQ;AACLyDY;qBAQdtvBgB;+EAQEowBG;kGAiBiBvEQ;AACLyDY;gCAQdtvBgB;2RAgKFiyBW;kCAQAZQA3OoB1dc,A;gGAySpB3TmB;iGAwBAAmB;2jBAwEyBq1BGAjnBlB5CS,AAAUHa,A;+BAmnBwB5FE;uBACDAQ;mBAEH/YiB;yDAKiB2biB;AAC3BXmB;IACqBjCI;iMAkBjB0IC;IAAAAAA1rBxB3CQ,AAA+BhCO,A;kDA4rBH9coB;0FAOI+YS;iBAElB8IAA3sBdhFU,A;wDAgtBsB9DO;gDAGQ/YiB;6EIoXXA6B;kKAQpBoYU;uBAAAAAJ5lBJkGW,S;wCMrKGhDU;0DAUAAW;AAGmBtbG;uFAkBpBsbkB;QAYKtbQ;AADLoiBU;wDAIGpiBiD;uCAoGF+bU;sJAgBLhBAD9PsBiBI,Q;YC8PtBjBqC;yBAgEIOU;yCAQAAU;4GAyBsBtbY;qBA6CIkVkB;2JDxrBXoNsB;6BA2Jf/GG;mDAIcvbY;qDAiDSAG;2BAEtBkbG;mEAciBcI;gFA6FlBdoB;iDAEoBwBgCAhM2B4FkB,A;sEA2M5BtGY;iGA4BnBpDmB;qBAAAAmB;oHA6GA4JG;uMAWFnBmCA6BFiCI,A;MA7BEjCAA6BFiCG,A;iUJ27BE9BU;0GAYAAU;ogBMt/CKxhBmB;8CAAAAoB;qFAU8BmbS;6EAGHAS;8bAqDhCkC2BAOShFAAoOe0JwB,A,iH;qlBAhCf1JAAgCe0JmB,A;yLAmEnB/hBU;4BAAAAoB;iNa/ZmBAkB;sBAAAAW;QAAAAa;+CA2IUAY;QAAAA6B;eA6WjB2iBe;8RZlafwCmB;AACAAAC0YJtGU,A;ADzYIsGe;s1BhB4WoBhQK;+5BiB5aMiOc;2iBKtC9BzR6B;gCAYoB3RARgFdAI,A;AQhFN+cgC;SACiBkEkB;0DACc9JY;EAC7B4FoB;AAAApLARmjBG6KG,qBACLlFkDA+C6BtXY,A,A;6CQ/kB3BmkBAAZFllBAAlCFkiBc,AAAcjKqB,AAA6CEa,qC,A;AAiDvDjYAa1CFskBgE,A;25TzCs2CiBE0G;CAAAAG;6DAUAC8G;CAAAAG;2DAUACuD;CAAAAG;6DAUAC2D;CAAAAG;" } } From b7bf2602c04444ed752d0fa248fff51cc1cb5513 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Tue, 17 Dec 2024 09:07:35 +0100 Subject: [PATCH 23/30] chore --- example/lib/loopback.dart | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/example/lib/loopback.dart b/example/lib/loopback.dart index 973eb39..745e8e6 100644 --- a/example/lib/loopback.dart +++ b/example/lib/loopback.dart @@ -168,18 +168,6 @@ class _LoopBackState extends State { Row( mainAxisSize: MainAxisSize.min, children: [ - OutlinedButton( - onPressed: () { - recorder.start(); - }, - child: const Text('Start'), - ), - OutlinedButton( - onPressed: () { - recorder.stop(); - }, - child: const Text('Stop'), - ), OutlinedButton( onPressed: () { init(); From 6d7f12a43489590ddabf2bd61489b9a2e5aff177 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Tue, 17 Dec 2024 09:17:35 +0100 Subject: [PATCH 24/30] chore --- lib/src/filters/echo_cancellation.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/src/filters/echo_cancellation.dart b/lib/src/filters/echo_cancellation.dart index 82cbe62..6248854 100644 --- a/lib/src/filters/echo_cancellation.dart +++ b/lib/src/filters/echo_cancellation.dart @@ -21,7 +21,8 @@ enum EchoCancellationEnum { } abstract class _EchoCancellationInternal extends FilterBase { - const _EchoCancellationInternal() : super(RecorderFilterType.echoCancellation); + const _EchoCancellationInternal() + : super(RecorderFilterType.echoCancellation); EchoCancellationEnum get queryEchoDelayMs => EchoCancellationEnum.echoDelayMs; EchoCancellationEnum get queryEchoAttenuation => From 8bd75237afa7c0dedceb7f3ed41785d7905323ff Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Sat, 21 Dec 2024 10:35:53 +0100 Subject: [PATCH 25/30] update REAME --- README.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 27ebf86..bf7e628 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,8 @@ A low-level audio recorder plugin that uses miniaudio as the backend and support - πŸ“Š **Customizable Silence Threshold**: Define what’s considered β€œsilence” for your recordings. - ⏱️ **Adjustable Pause Timing**: Set how long silence lasts before pausing, and how soon to resume recording. - πŸ”Š **Real-time Audio Metrics**: Access volume, audio wave, and FFT data in real-time. +- 🎚️ **Auto Gain**: Experimental Auto Gain filter. +- 🌐 **Cross Platform**: Supports all platforms with WASM support for the web. [A web example compiled in WASM.](https://marcobavagnoli.com/flutter_recorder/) @@ -148,4 +150,25 @@ Recorder.instance.stopStreamingData(); ``` > [!CAUTION] > Audio data must be processed as it is received. To optimize performance, the same memory is used to store data for all incoming streams, meaning the data will be overwritten. Therefore, you must copy the data if you need to populate a buffer while it arrives. -> For example, when using **RxDart.bufferTime**, it will fill a **List** of `AudioDataContainer` objects, but when you attempt to read them, you will find that all the items contain the same data. \ No newline at end of file +> For example, when using **RxDart.bufferTime**, it will fill a **List** of `AudioDataContainer` objects, but when you attempt to read them, you will find that all the items contain the same data. + +### 🎚️ Auto Gain Filter + +> [!WARNING] +> This is an experimental feature, may change in the future. + +``` +final Recorder recorder = Recorder.instance; +// Please look at the [Recorder.instance.autoGainFilter] doc to have a parameters overview. +final AutoGain autoGain = recorder.filters.autoGainFilter; + +// You can now query or set parameters: +// For example with [autoGain.queryTargetRms] you can query the "human" name, `min`, `max` and `def` values. + +// Set a new parameter value: +autoGain.targetRms.value = newValue; + +// Get a new parameter value: +final value = autoGain.targetRms.value; +``` +Available parameters: `targetRMS`, `attackTime`, `releaseTime`, `gainSmoothing`, `maxGain`, `minGain`. \ No newline at end of file From 183a6f55750275c708a5c54880d3d9db2f0fcfa0 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Sat, 21 Dec 2024 10:36:28 +0100 Subject: [PATCH 26/30] added experimental to `Filters` class --- lib/src/filters/filters.dart | 13 +++++++------ lib/src/flutter_recorder.dart | 2 ++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/src/filters/filters.dart b/lib/src/filters/filters.dart index f65bc37..6666d27 100644 --- a/lib/src/filters/filters.dart +++ b/lib/src/filters/filters.dart @@ -29,27 +29,28 @@ abstract class FilterBase { } /// Filters instance used in [Recorder.filters]. +@experimental final class Filters { /// The class to get access to all the filters available globally. const Filters(); /// The `Auto Gain` filter. /// - /// 1. **Target RMS Level (g_targetRMS)** + /// 1. **Target RMS Level (targetRMS)** /// - Purpose: Sets the desired loudness level. /// - Typical Value: /// - For speech: 0.05 to 0.2 (RMS values in the -1.0 to +1.0 range). /// - For music: 0.1 to 0.3. /// - Adjust to: Match the desired loudness without introducing excessive /// distortion or artifacts. - /// 2. **Attack Time (g_attackTime)** + /// 2. **Attack Time (attackTime)** /// - Purpose: Determines how quickly the gain increases when the signal /// level is below the target. /// - Typical Value: 0.005 to 0.05 seconds. /// - Faster attack (e.g., 0.005) ensures quick response to sudden volume /// drops, but may sound unnatural. /// - Slower attack (e.g., 0.02-0.05) smoothens gain changes. - /// 3. **Release Time (g_releaseTime)** + /// 3. **Release Time (releaseTime)** /// - Purpose: Determines how quickly the gain decreases when the signal /// level is above the target. /// - Typical Value: 0.05 to 0.5 seconds. @@ -57,7 +58,7 @@ final class Filters { /// risks unnatural pumping effects. /// - Long release (e.g., 0.2-0.5) creates smoother transitions for /// dynamic content like music. - /// 4. **Gain Smoothing (g_gainSmoothing)** + /// 4. **Gain Smoothing (gainSmoothing)** /// - Purpose: Controls how quickly the gain changes overall, acting as /// a dampening factor. /// - Typical Value: 0.01 to 0.1. @@ -65,13 +66,13 @@ final class Filters { /// artifacts but possibly underreacting to fast changes. /// - Higher values (e.g., 0.05-0.1) provide faster responsiveness but /// may sound less smooth. - /// 5. **Maximum Gain (g_maxGain)** + /// 5. **Maximum Gain (maxGain)** /// - Purpose: Caps the maximum amplification to avoid over-amplification /// or distortion. /// - Typical Value: 4.0 to 10.0. /// - Adjust to: Match the dynamic range of the input; keep lower for /// highly dynamic signals to prevent clipping. - /// 6. **Minimum Gain (g_minGain)** + /// 6. **Minimum Gain (minGain)** /// - Purpose: Prevents excessive attenuation of the signal. /// - Typical Value: 0.1 to 0.5. /// - Adjust to: Avoid muting low signals unless silence is acceptable. diff --git a/lib/src/flutter_recorder.dart b/lib/src/flutter_recorder.dart index 9f667e8..4f9a3f3 100644 --- a/lib/src/flutter_recorder.dart +++ b/lib/src/flutter_recorder.dart @@ -8,6 +8,7 @@ import 'package:flutter_recorder/src/enums.dart'; import 'package:flutter_recorder/src/exceptions/exceptions.dart'; import 'package:flutter_recorder/src/filters/filters.dart'; import 'package:logging/logging.dart'; +import 'package:meta/meta.dart'; /// Callback when silence state is changed. typedef SilenceCallback = void Function(bool isSilent, double decibel); @@ -95,6 +96,7 @@ interface class Recorder { /// - `min` which represent the minimum accepted value. /// - `max` which represent the maximum accepted value. /// - `def` which represent the default value. + @experimental final filters = const Filters(); final _recoreder = RecorderController(); From edee74d8549b28da152316ecf9d32af59e5be48f Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Sat, 21 Dec 2024 10:49:55 +0100 Subject: [PATCH 27/30] update CHANGELOG --- CHANGELOG.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d2884b..1faca61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,16 +1,20 @@ ## 0.9.3 - added `autoGain` filter -- breaking change: +- breaking changes: - the `init` method is now async - `FilterType` renamed to `RecorderFilterType` - - an [additional script](https://github.com/alnitak/flutter_recorder#web) must be added for the web platform + - an [additional script](https://github.com/alnitak/flutter_recorder#web) must be added for the web platform. Now it looks like: + ``` + + + ``` ## 0.9.2 - fix: the stop was instead einit the device - fix: removed dialog when stopping stream in the example ## 0.9.1 -- breaking change: +- breaking changes: - renamed `startListen` to `start` - renamed `stopListen` to `stop` - renamed `isDeviceStartedListen` to `isDeviceStarted` From cb811137482269b12551ba21392ded48908f2449 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Sat, 21 Dec 2024 10:50:04 +0100 Subject: [PATCH 28/30] bump version --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index a16ef29..038091a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: >- A low-level audio recorder plugin which uses miniaudio as backend. Detect silence and save to WAV audio file. Audio wave, FFT and volume level can be get in real-time. -version: 0.9.2 +version: 0.9.3 issue_tracker: https://github.com/alnitak/flutter_recorder/issues homepage: https://github.com/alnitak/flutter_recorder maintainer: Marco Bavagnoli (@lildeimos) From c5029f1edcc693b9fff9ef88f93460377c7c8236 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Sat, 21 Dec 2024 11:05:41 +0100 Subject: [PATCH 29/30] added analyzer --- .github/workflows/analyze.yaml | 47 ++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/analyze.yaml diff --git a/.github/workflows/analyze.yaml b/.github/workflows/analyze.yaml new file mode 100644 index 0000000..cd30b77 --- /dev/null +++ b/.github/workflows/analyze.yaml @@ -0,0 +1,47 @@ +name: Flutter Analyze + +on: + pull_request: + branches: + - main + push: + branches: + - main + +jobs: + build: + name: Analyze code and requirements + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Flutter + uses: subosito/flutter-action@v2 + with: + channel: 'stable' + + - name: Verify Flutter installation + run: flutter doctor + + - name: Check pub dependencies + run: flutter pub get + + - name: "Run Dart Analyze" + uses: invertase/github-action-dart-analyzer@v3 + with: + fatal-infos: true + fatal-warnings: true + annotate: true + working-directory: lib/ + + - name: Check Code formatting + run: dart format -o none --set-exit-if-changed . + + - name: Check pub.dev requirements + run: flutter pub publish --dry-run + + - name: Block merge if checks fail + if: ${{ failure() }} + run: echo "Checks failed, cannot merge." && exit 1 From e92b158472c76ca0a9e3559528016f03edc569eb Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Sat, 21 Dec 2024 11:10:35 +0100 Subject: [PATCH 30/30] fix example pubspec --- example/pubspec.lock | 10 ++++++---- example/pubspec.yaml | 8 ++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/example/pubspec.lock b/example/pubspec.lock index 08d5c9c..8ff513b 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -84,13 +84,15 @@ packages: path: ".." relative: true source: path - version: "0.9.2" + version: "0.9.3" flutter_soloud: dependency: "direct main" description: - path: "../../flutter_soloud" - relative: true - source: path + path: "." + ref: main + resolved-ref: "5303435ce7ce5a3fdba6b564e62a81c953bd9e49" + url: "https://github.com/alnitak/flutter_soloud.git" + source: git version: "2.1.8" flutter_test: dependency: "direct dev" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 15169b2..1224e5b 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -14,10 +14,10 @@ dependencies: path: ../ flutter_soloud: - path: ../../flutter_soloud # for development - # git: - # url: https://github.com/alnitak/flutter_soloud.git - # ref: main + # path: ../../flutter_soloud # for development + git: + url: https://github.com/alnitak/flutter_soloud.git + ref: main cupertino_icons: ^1.0.8 logging: ^1.3.0

EC7B+zZbMQNveR%g(W8QVk^3y6ChCYSW+twH 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 M-T?~_Sm62p01&~nX8-^I literal 148251 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¬KlKU-W)M*^$rV)w7~*NYJ&jp*4Sf6TvF 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 H-ueFln~B;& diff --git a/web/worker.dart.js.map b/web/worker.dart.js.map index 0f5931a..e24f5f0 100644 --- a/web/worker.dart.js.map +++ b/web/worker.dart.js.map @@ -5,12 +5,12 @@ "sourceRoot": "", "sources": ["org-dartlang-sdk:///lib/_internal/js_runtime/lib/interceptors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_array.dart","org-dartlang-sdk:///lib/internal/internal.dart","org-dartlang-sdk:///lib/internal/iterable.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_names.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart","org-dartlang-sdk:///lib/core/errors.dart","org-dartlang-sdk:///lib/core/exceptions.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/records.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/string_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_typed_data.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/synced/recipe_syntax.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/async_patch.dart","org-dartlang-sdk:///lib/async/future_impl.dart","org-dartlang-sdk:///lib/async/zone.dart","org-dartlang-sdk:///lib/async/async_error.dart","org-dartlang-sdk:///lib/async/schedule_microtask.dart","org-dartlang-sdk:///lib/async/stream.dart","org-dartlang-sdk:///lib/async/stream_impl.dart","org-dartlang-sdk:///lib/async/stream_controller.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/collection_patch.dart","org-dartlang-sdk:///lib/collection/maps.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/core_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_string.dart","org-dartlang-sdk:///lib/core/iterable.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_allow_interop_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_util_patch.dart","worker.dart","org-dartlang-sdk:///lib/async/broadcast_stream_controller.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_primitives.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/late_helper.dart","org-dartlang-sdk:///lib/internal/errors.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_unsafe_patch.dart","org-dartlang-sdk:///lib/collection/list.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart","org-dartlang-sdk:///lib/core/null.dart","org-dartlang-sdk:///lib/core/stacktrace.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_patch.dart","org-dartlang-sdk:///lib/js_interop_unsafe/js_interop_unsafe.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.dart","org-dartlang-sdk:///lib/core/print.dart"], "names": ["makeDispatchRecord","getNativeInterceptor","lookupInterceptorByConstructor","JS_INTEROP_INTERCEPTOR_TAG","cacheInterceptorOnConstructor","JSArray.markFixedList","checkNotNullable","isToStringVisiting","MappedIterable","unminifyOrTag","isJsIndexable","S","Primitives.objectHashCode","Primitives.objectTypeName","Primitives._objectTypeNameNewRti","Primitives.safeToString","Primitives.stringSafeToString","Primitives.extractStackTrace","ioore","diagnoseIndexError","wrapException","initializeExceptionWrapper","toStringWrapper","throwExpression","throwExpressionWithWrapper","throwConcurrentModificationError","TypeErrorDecoder.extractPattern","TypeErrorDecoder.provokeCallErrorOn","TypeErrorDecoder.provokePropertyErrorOn","JsNoSuchMethodError","unwrapException","saveStackTrace","_unwrapNonDartException","getTraceFromException","objectHashCode","_invokeClosure","Exception","convertDartClosureToJS","convertDartClosureToJSUncached","Closure.fromTearOff","Closure._computeSignatureFunctionNewRti","Closure.cspForwardCall","Closure.forwardCallTo","Closure.cspForwardInterceptedCall","Closure.forwardInterceptedCallTo","closureFromTearOff","BoundClosure.evalRecipe","evalInInstance","_rtiEval","BoundClosure.receiverOf","BoundClosure.interceptorOf","BoundClosure._computeFieldNamed","throwCyclicInit","getIsolateAffinityTag","lookupAndCacheInterceptor","setDispatchProperty","patchInstance","lookupInterceptor","patchProto","patchInteriorProto","makeLeafDispatchRecord","makeDefaultDispatchRecord","initNativeDispatch","initNativeDispatchContinue","initHooks","applyHooksTransformer","createRecordTypePredicate","quoteStringForRegExp","_checkValidIndex","Rti._getQuestionFromStar","Rti._getStarArgument","Rti._getFutureFromFutureOr","Rti._getFutureOrArgument","Rti._isUnionOfFunctionType","Rti._getKind","Rti._getCanonicalRecipe","findType","_substitute","Rti._getInterfaceName","Rti._getBindingBase","Rti._getRecordPartialShapeTag","Rti._getReturnType","Rti._getGenericFunctionBase","Rti._getGenericFunctionParameterIndex","_substituteArray","_substituteNamed","_substituteFunctionParameters","_FunctionParameters.allocate","_setArrayType","closureFunctionType","instanceOrFunctionType","instanceType","_arrayInstanceType","_instanceType","_instanceTypeFromConstructor","_instanceTypeFromConstructorMiss","getTypeFromTypesTable","getRuntimeTypeOfDartObject","_structuralTypeOf","_instanceFunctionType","createRuntimeType","_createAndCacheRuntimeType","_createRuntimeType","_Type","typeLiteral","_installSpecializedIsTest","isDefinitelyTopType","_recordSpecializedIsTest","_finishIsFn","_installSpecializedAsCheck","_nullIs","_generalIsTestImplementation","_generalNullableIsTestImplementation","Rti._getQuestionArgument","_isTestViaProperty","_isListTestViaProperty","_generalAsCheckImplementation","_generalNullableAsCheckImplementation","_failedAsCheck","_Error.compose","_TypeError.fromMessage","_TypeError.forType","_isFutureOr","_isObject","_asObject","_isTop","_asTop","_isNever","_isBool","_asBool","_asBoolS","_asBoolQ","_asDouble","_asDoubleS","_asDoubleQ","_isInt","_asInt","_asIntS","_asIntQ","_isNum","_asNum","_asNumS","_asNumQ","_isString","_asString","_asStringS","_asStringQ","_rtiArrayToString","_recordRtiToString","_functionRtiToString","isLegacyObjectType","_rtiToString","_unminifyOrTag","_Universe.findRule","_Universe._findRule","_Universe.findErasedType","_Universe.addRules","_Universe.addErasedTypes","_Universe.eval","_Universe.evalInEnvironment","_Universe.bind","_Universe._installTypeTests","_Universe._lookupTerminalRti","Rti.allocate","_Universe._createTerminalRti","_Universe._installRti","_Universe._lookupStarRti","_Universe._createStarRti","_Universe._lookupQuestionRti","_Universe._createQuestionRti","_Universe._lookupFutureOrRti","_Universe._createFutureOrRti","_Universe._lookupGenericFunctionParameterRti","_Universe._createGenericFunctionParameterRti","_Universe._canonicalRecipeJoin","_Universe._canonicalRecipeJoinNamed","_Universe._lookupInterfaceRti","_Universe._canonicalRecipeOfInterface","_Universe._createInterfaceRti","_Universe._lookupBindingRti","_Universe._createBindingRti","_Universe._lookupRecordRti","_Universe._createRecordRti","_Universe._lookupFunctionRti","_Universe._canonicalRecipeOfFunction","_Universe._canonicalRecipeOfFunctionParameters","_Universe._createFunctionRti","_Universe._lookupGenericFunctionRti","_Universe._createGenericFunctionRti","_Parser.create","_Parser.parse","_Parser.toGenericFunctionParameter","_Parser.pushStackFrame","_Parser.collectArray","_Parser.handleOptionalGroup","_Parser.collectNamed","_Parser.handleNamedGroup","_Parser.handleStartRecord","_Parser.handleDigit","_Parser.handleIdentifier","_Universe.evalTypeVariable","_Parser.handleTypeArguments","_Parser.handleArguments","_Parser.handleExtendedOperations","_Parser.toType","_Parser.toTypes","_Parser.toTypesNamed","_Parser.indexToType","isSubtype","_isSubtype","isBottomType","_isFunctionSubtype","_isInterfaceSubtype","_Utils.newArrayOrEmpty","_areArgumentsSubtypes","_isRecordSubtype","isNullable","isSoundTopType","_Utils.objectAssign","_AsyncRun._initializeScheduleImmediate","_AsyncRun._scheduleImmediateJsOverride","_AsyncRun._scheduleImmediateWithSetImmediate","_AsyncRun._scheduleImmediateWithTimer","_TimerImpl","_makeAsyncAwaitCompleter","_AsyncAwaitCompleter._future","_asyncStartSync","_asyncAwait","_asyncReturn","_asyncRethrow","_awaitOnObject","_wrapJsFunctionForAsync","AsyncError","AsyncError.defaultStackTrace","_Future._chainCoreFutureSync","_Future._chainCoreFutureAsync","_Future._propagateToListeners","_registerErrorHandler","_microtaskLoop","_startMicrotaskLoop","_scheduleAsyncCallback","_schedulePriorityAsyncCallback","scheduleMicrotask","StreamIterator","_runGuarded","_ControllerSubscription","_BufferingStreamSubscription","_BufferingStreamSubscription._registerErrorHandler","_nullErrorHandler","_rootHandleError","_rootRun","_rootRunUnary","_rootRunBinary","_rootScheduleMicrotask","_HashMap._getTableEntry","_HashMap._setTableEntry","_HashMap._newHashTable","MapBase.mapToString","Error._throw","List.filled","JSArray.fixed","JSArray.markFixed","StringBuffer._writeAll","StackTrace.current","Error.safeToString","Error.throwWithStackTrace","AssertionError","ArgumentError","ArgumentError.value","RangeError.range","IndexError.withLength","UnsupportedError","UnimplementedError","StateError","ConcurrentModificationError","Iterable.iterableToShortString","Iterable.iterableToFullString","_iterablePartsToStrings","_callDartFunctionFast1","_noJsifyRequired","jsify","callbackToStream","StreamController.broadcast","_BroadcastStreamController.stream","Worker","main","Worker.onReceive","_StreamController.stream","printString","throwLateFieldADI","throwUnnamedLateFieldNI","JSObjectUnsafeUtilExtension._callMethod","Interceptor.hashCode","Interceptor.toString","Interceptor.runtimeType","JSBool.toString","JSBool.hashCode","JSBool.runtimeType","JSNull.toString","JSNull.hashCode","LegacyJavaScriptObject.toString","LegacyJavaScriptObject.hashCode","JavaScriptFunction.toString","JavaScriptBigInt.toString","JavaScriptBigInt.hashCode","JavaScriptSymbol.toString","JavaScriptSymbol.hashCode","JSArray.addAll","JSArray.map","JSArray.elementAt","JSArray.toString","JSArray.iterator","JSArray.hashCode","JSArray.length","ArrayIterator.current","ArrayIterator.moveNext","JSNumber.toString","JSNumber.hashCode","JSNumber._shrOtherPositive","JSNumber._shrBothPositive","JSNumber.runtimeType","JSInt.runtimeType","JSNumNotInt.runtimeType","JSString.+","JSString.toString","JSString.hashCode","JSString.runtimeType","JSString.length","LateError.toString","ListIterable.iterator","ListIterable.map","ListIterator.current","ListIterator.moveNext","MappedIterable.iterator","MappedIterable.length","MappedIterator.moveNext","MappedIterator.current","MappedListIterable.length","MappedListIterable.elementAt","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.hashCode","BoundClosure.toString","_CyclicInitializationError.toString","RuntimeError.toString","initHooks.","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","Rti._eval","Rti._bind","_rtiBind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_awaitOnObject.","_wrapJsFunctionForAsync.","AsyncError.toString","_BroadcastSubscription._onPause","_BroadcastSubscription._onResume","_BroadcastStreamController._mayAddEvent","_BroadcastStreamController._subscribe","_DoneStreamSubscription","_BroadcastSubscription","_BroadcastStreamController._recordPause","_BroadcastStreamController._recordResume","_BroadcastStreamController._addEventError","_BroadcastStreamController._forEachListener","_BroadcastStreamController._callOnCancel","_SyncBroadcastStreamController._mayAddEvent","_SyncBroadcastStreamController._addEventError","_SyncBroadcastStreamController._sendData","_SyncBroadcastStreamController._sendData.","_SyncBroadcastStreamController__sendData_closure","_FutureListener.matchesErrorTest","_FutureListener.handleError","_Future._setChained","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._completeWithValue","_Future._completeError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFutureAsync.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","Stream.length","Stream.length.","Stream_length_closure","_Future._complete","_StreamController._pendingEvents","_StreamController._ensurePendingEvents","_StreamController._subscription","_StreamController._badEventState","_StreamController._subscribe","_BufferingStreamSubscription._guardCallback","_StreamController._recordPause","_StreamController._recordResume","_StreamController._subscribe.","_AsyncStreamControllerDispatch._sendData","_ControllerStream.hashCode","_ControllerSubscription._onPause","_ControllerSubscription._onResume","_BufferingStreamSubscription._setPendingEvents","_BufferingStreamSubscription._add","_BufferingStreamSubscription._onPause","_BufferingStreamSubscription._onResume","_BufferingStreamSubscription._addPending","_BufferingStreamSubscription._sendData","_BufferingStreamSubscription._checkState","_BufferingStreamSubscription._mayResumeInput","_StreamImpl.listen","_StreamImpl.listen[function-entry$1]","_PendingEvents.schedule","_PendingEvents.add","_PendingEvents.schedule.","_PendingEvents.handleNext","_DoneStreamSubscription._onMicrotask","_rootHandleError.","_RootZone.runGuarded","_RootZone.runUnaryGuarded","_RootZone.runUnaryGuarded[function-entry$2]","_RootZone.bindCallbackGuarded","_RootZone.run","_RootZone.run[function-entry$1]","_RootZone.runUnary","_RootZone.runUnary[function-entry$2]","_RootZone.runBinary","_RootZone.runBinary[function-entry$3]","_RootZone.registerBinaryCallback","_RootZone.registerBinaryCallback[function-entry$1]","_RootZone.bindCallbackGuarded.","_HashMap.keys","_HashMap.length","_HashMap.containsKey","_HashMap._containsKey","_HashMap.[]","_HashMap._get","_HashMap.[]=","_IdentityHashMap._computeHashCode","_HashMap.forEach","_HashMap._computeKeys","_HashMap._getBucket","_IdentityHashMap._findBucketIndex","_HashMapKeyIterable.length","_HashMapKeyIterable.iterator","_HashMapKeyIterator.current","_HashMapKeyIterator.moveNext","ListBase.iterator","ListBase.elementAt","ListBase.map","ListBase.toString","MapBase.forEach","MapBase.length","MapBase.toString","MapBase.mapToString.","StringBuffer.write","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","Iterable.map","Iterable.length","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.toString","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","jsify._convert","callbackToStream.eventFunction","StreamController","Worker.","_StreamController.add","_StreamController._add","main.","jsSendMessage","Worker.sendMessage","print","DART_CLOSURE_PROPERTY_NAME","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","","$intercepted$elementAt1$ax","$intercepted$get$hashCode$IJavaScriptBigIntJavaScriptSymbolLegacyJavaScriptObjectabnsu","$intercepted$get$iterator$ax","$intercepted$get$length$asx","$intercepted$get$runtimeType$Ibdinsux","$intercepted$map11$ax","$intercepted$toString0$IJavaScriptBigIntJavaScriptFunctionJavaScriptSymbolLegacyJavaScriptObjectabnsux","ArrayIterator","BoundClosure","ByteBuffer","ByteData","Closure","Closure0Args","Closure2Args","EfficientLengthIterable","EfficientLengthMappedIterable","Error","ExceptionAndStackTrace","FixedLengthListMixin","Float32List","Float64List","Function","Future","IndexError","Int16List","Int32List","Int8List","Interceptor","Iterable","JSArray","JSBool","JSInt","JSNull","JSNumNotInt","JSNumber","JSObject","JSObjectUnsafeUtilExtension|_callMethod","JSString","JSUnmodifiableArray","JS_CONST","JavaScriptBigInt","JavaScriptFunction","JavaScriptIndexingBehavior","JavaScriptObject","JavaScriptSymbol","LateError","LegacyJavaScriptObject","List","ListBase","ListIterable","ListIterator","Map","MapBase","MapBase_mapToString_closure","MappedIterator","MappedListIterable","NativeByteBuffer","NativeByteData","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeTypedData","NativeUint16List","NativeUint32List","NativeUint8ClampedList","NativeUint8List","Null","NullError","NullThrownFromJavaScriptException","Object","PlainJavaScriptObject","RangeError","Record","Rti","RuntimeError","StackOverflowError","StackTrace","StaticClosure","Stream","String","StringBuffer","TearOffClosure","TrustedGetRuntimeType","TypeError","TypeErrorDecoder","Uint16List","Uint32List","Uint8ClampedList","Uint8List","UnknownJavaScriptObject","UnknownJsTypeError","Worker_closure","_AsyncAwaitCompleter","_AsyncCallbackEntry","_AsyncRun__initializeScheduleImmediate_closure","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_AsyncStreamController","_AsyncStreamControllerDispatch","_BroadcastStream","_BroadcastStreamController","_ControllerStream","_CyclicInitializationError","_DelayedData","_DelayedEvent","_Error","_Exception","_FunctionParameters","_Future","_FutureListener","_Future__addListener_closure","_Future__asyncCompleteError_closure","_Future__asyncCompleteWithValue_closure","_Future__chainCoreFutureAsync_closure","_Future__chainForeignFuture_closure","_Future__prependListeners_closure","_Future__propagateToListeners_handleError","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_HashMap","_HashMapKeyIterable","_HashMapKeyIterator","_IdentityHashMap","_JS_INTEROP_INTERCEPTOR_TAG","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_PendingEvents","_PendingEvents_schedule_closure","_RootZone","_RootZone_bindCallbackGuarded_closure","_StackTrace","_StreamController","_StreamController__subscribe_closure","_StreamImpl","_StreamIterator","_StringStackTrace","_SyncBroadcastStreamController","_TimerImpl_internalCallback","_TypeError","_Zone","_awaitOnObject_closure","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","_chainCoreFutureAsync","_chainCoreFutureSync","_computeFieldNamed","_computeSignatureFunctionNewRti","_createFutureOrRti","_createGenericFunctionRti","_createQuestionRti","_createStarRti","_current","_getCanonicalRecipe","_getFutureFromFutureOr","_getQuestionFromStar","_getTableEntry","_identityHashCodeProperty","_initializeScheduleImmediate","_installTypeTests","_interceptorFieldNameCache","_isInCallbackLoop","_isUnionOfFunctionType","_lastCallback","_lastPriorityCallback","_lookupBindingRti","_lookupFunctionRti","_lookupFutureOrRti","_lookupGenericFunctionParameterRti","_lookupGenericFunctionRti","_lookupInterfaceRti","_lookupQuestionRti","_lookupRecordRti","_lookupStarRti","_lookupTerminalRti","_newHashTable","_nextCallback","_objectTypeNameNewRti","_propagateToListeners","_receiverFieldNameCache","_rootHandleError_closure","_scheduleImmediateClosure","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_setTableEntry","_throw","_wrapJsFunctionForAsync_closure","_writeAll","addErasedTypes","addRules","alternateTagFunction","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","async___nullErrorHandler$closure","async___startMicrotaskLoop$closure","bind","bool","callbackToStream_eventFunction","collectArray","compose","create","cspForwardCall","cspForwardInterceptedCall","current","defaultStackTrace","dispatchRecordsForInstanceTags","double","eval","evalInEnvironment","evalRecipe","extractPattern","extractStackTrace","filled","findErasedType","findRule","forType","forwardCallTo","forwardInterceptedCallTo","fromMessage","fromTearOff","getInterceptor$","getInterceptor$asx","getInterceptor$ax","getTagFunction","handleArguments","handleDigit","handleExtendedOperations","handleIdentifier","handleTypeArguments","indexToType","initHooks_closure","initNativeDispatchFlag","int","interceptorOf","interceptorsForUncacheableTags","iterableToFullString","iterableToShortString","jsify__convert","main_closure","mapToString","markFixedList","newArrayOrEmpty","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","nullLiteralPropertyPattern","nullPropertyPattern","num","objectAssign","objectTypeName","parse","prototypeForTagFunction","provokeCallErrorOn","provokePropertyErrorOn","range","receiverOf","safeToString","throwWithStackTrace","toStringVisiting","toType","toTypes","toTypesNamed","undefinedCallPattern","undefinedLiteralCallPattern","undefinedLiteralPropertyPattern","undefinedPropertyPattern","value","withLength","$add","$index","$indexSet","_addEventError","add","addAll","bindCallbackGuarded","call","containsKey","dart:_interceptors#_shrBothPositive","dart:_interceptors#_shrOtherPositive","dart:_rti#_bind","dart:_rti#_eval","dart:async#_add","dart:async#_addEventError","dart:async#_addListener","dart:async#_addPending","dart:async#_asyncComplete","dart:async#_asyncCompleteError","dart:async#_asyncCompleteWithValue","dart:async#_badEventState","dart:async#_callOnCancel","dart:async#_chainForeignFuture","dart:async#_chainFuture","dart:async#_checkState","dart:async#_cloneResult","dart:async#_completeError","dart:async#_completeWithValue","dart:async#_ensurePendingEvents","dart:async#_forEachListener","dart:async#_mayAddEvent","dart:async#_mayComplete","dart:async#_onMicrotask","dart:async#_onPause","dart:async#_onResume","dart:async#_pendingEvents","dart:async#_prependListeners","dart:async#_recordPause","dart:async#_recordResume","dart:async#_removeListeners","dart:async#_reverseListeners","dart:async#_sendData","dart:async#_setChained","dart:async#_setErrorObject","dart:async#_setPendingEvents","dart:async#_subscribe","dart:async#_subscription","dart:async#_thenAwait","dart:async#_varData=","dart:collection#_computeKeys","dart:collection#_containsKey","dart:collection#_findBucketIndex","dart:collection#_get","dart:collection#_getBucket","dart:core#_errorExplanation","dart:core#_errorName","elementAt","forEach","handleError","hashCode","invalidValue","iterator","keys","length","listen","map","matchTypeError","matchesErrorTest","moveNext","pause","registerBinaryCallback","resume","run","runBinary","runGuarded","runUnary","runUnaryGuarded","runtimeType","schedule","stackTrace","then","toString","Rti._unstar","isTopType","_Universe._canonicalRecipeOfStar","_Universe._canonicalRecipeOfQuestion","_Universe._canonicalRecipeOfFutureOr","_Universe._canonicalRecipeOfBinding","_Universe._canonicalRecipeOfGenericFunction","Error._stringToSafeString","_HashMap._set","JSObjectUnsafeUtilExtension|callMethod","JSObjectUnsafeUtilExtension|getProperty","NullableObjectUtilExtension|jsify","_","_add","_addListener","_asCheck","_canonicalRecipeOfBinding","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_canonicalRecipeOfFutureOr","_canonicalRecipeOfGenericFunction","_canonicalRecipeOfInterface","_canonicalRecipeOfQuestion","_canonicalRecipeOfRecord","_canonicalRecipeOfStar","_chainSource","_cloneResult","_complete","_computeHashCode","_computeIdentityHashCodeProperty","_createBindingRti","_createFunctionRti","_createGenericFunctionParameterRti","_createInterfaceRti","_createRecordRti","_createSubscription","_createTerminalRti","_createTimer","_error","_errorTest","_expectsEvent","_failedAsCheckError","_findRule","_functionToJS1","_future","_getBindCache","_getBindingArguments","_getBindingBase","_getCachedRuntimeType","_getEvalCache","_getFunctionParameters","_getFutureOrArgument","_getGenericFunctionBase","_getGenericFunctionBounds","_getGenericFunctionParameterIndex","_getInterfaceName","_getInterfaceTypeArguments","_getIsSubtypeCache","_getKind","_getNamed","_getOptionalPositional","_getPrimary","_getQuestionArgument","_getRecordFields","_getRecordPartialShapeTag","_getRequiredPositional","_getReturnType","_getRuntimeTypeOfArrayAsRti","_getSpecializedTestResource","_getStarArgument","_guardCallback","_hasError","_hasOneListener","_hasPending","_hasTableEntry","_hasTimer","_installRti","_isAddingStream","_isCanceled","_isChained","_isCheck","_isClosure","_isComplete","_isDartObject","_isEmpty","_isFiring","_isInitialState","_isInputPaused","_isSubtypeUncached","_lookupAnyRti","_lookupDynamicRti","_lookupErasedRti","_lookupFutureRti","_lookupNeverRti","_lookupVoidRti","_mayAddEvent","_mayAddListener","_mayResumeInput","_name","_objectToString","_onError","_onValue","_outputController","_parseRecipe","_recipeJoin","_removeListener","_removeListeners","_scheduleImmediate","_set","_setAsCheckFunction","_setBindCache","_setCachedRuntimeType","_setCanonicalRecipe","_setError","_setErrorObject","_setEvalCache","_setIsTestFunction","_setKind","_setNamed","_setOptionalPositional","_setPrecomputed1","_setPrimary","_setRequiredPositional","_setRest","_setSpecializedTestResource","_setValue","_stringToSafeString","_target","_theUniverse","_unstar","_whenCompleteAction","_writeOne","_writeString","_zone","allocate","arrayAt","arrayConcat","arrayLength","arraySplice","asBool","asInt","asRti","asRtiOrNull","asString","as_Type","broadcast","charCodeAt","checkGrowable","collectNamed","complete","completeError","constructorNameFallback","contains","defineProperty","dispatchRecordExtension","dispatchRecordIndexability","dispatchRecordInterceptor","dispatchRecordProto","environment","erasedTypes","evalCache","evalTypeVariable","fieldADI","fieldNI","fixed","future","getDispatchProperty","getLegacyErasedRecipe","getProperty","getRuntimeTypeOfInterceptorNotArray","globalContext","handleNamedGroup","handleNext","handleOptionalGroup","handleStartRecord","handleUncaughtError","handleValue","handleWhenComplete","handlesComplete","handlesValue","hasErrorCallback","hasErrorTest","identityHashCode","instanceTypeName","interceptorFieldName","interceptorsByTag","isArray","isClosed","isDigit","isEmpty","isIdentical","isScheduled","jsonEncodeNative","leafTags","listToString","lookupSupertype","lookupTypeVariable","mapGet","mapSet","markFixed","normalize","objectKeys","objectToHumanReadableString","onReceive","perform","pop","position","printToConsole","propertyGet","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","push","pushStackFrame","receiverFieldName","recipe","sendMessage","sharedEmptyArray","shouldChain","stack","stream","stringIndexOf","stringSafeToString","stringSplit","substring","thenAwait","toGenericFunctionParameter","tryStringifyException","typeRules","typed","universe","unmangleGlobalNameIfPreservedAnyways","write","writeAll","zoned"], - "mappings": "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", + "mappings": "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", "x_org_dartlang_dart2js": { "minified_names": { "global": "A,104,B,613,C,273,D,646,E,778,F,725,G,108,H,33,I,217,J,599,K,604,L,607,M,828,N,77,O,31,P,30,Q,569,R,8,S,642,T,246,U,665,V,68,W,100,X,580,Y,595,Z,608,a,800,a0,621,a1,641,a2,661,a3,664,a4,245,a5,667,a6,673,a7,744,a8,93,a9,742,aA,684,aB,685,aC,687,aD,689,aE,690,aF,691,aG,692,aH,693,aI,697,aJ,700,aK,703,aL,705,aM,708,aN,736,aO,740,aP,729,aQ,730,aR,216,aS,23,aT,564,aU,557,aV,565,aW,266,aX,557,aY,232,aZ,566,a_,610,aa,253,ab,84,ac,65,ad,788,ae,91,af,573,ag,575,ah,576,ai,589,aj,590,ak,598,al,601,am,602,an,603,ao,622,ap,623,aq,624,ar,627,as,630,at,34,au,634,av,638,aw,652,ax,663,ay,392,az,391,b,20,b0,581,b1,585,b2,588,b3,591,b4,592,b5,29,b6,612,b7,614,b8,615,b9,616,bA,249,bB,244,bC,88,bD,557,bE,570,bF,571,bG,557,bH,825,bI,577,bJ,578,bK,582,bL,583,bM,584,bN,596,bO,611,bP,631,bQ,818,bR,640,bS,437,bT,437,bU,644,bV,647,bW,821,bX,648,bY,649,bZ,650,b_,274,ba,617,bb,618,bc,619,bd,620,be,625,bf,626,bg,628,bh,633,bi,637,bj,643,bk,272,bl,653,bm,271,bn,655,bo,656,bp,662,bq,666,br,668,bs,669,bt,671,bu,686,bv,698,bw,701,bx,702,by,775,bz,110,c,586,c0,284,c1,654,c2,657,c3,658,c4,659,c5,660,c6,670,c7,674,c8,675,c9,676,cA,753,cB,765,cC,6,cD,37,cE,773,cF,798,cG,798,cH,798,cI,802,cJ,805,cK,806,cL,60,cM,561,cN,567,cO,568,cP,597,cQ,557,cR,720,cS,731,cT,735,cU,737,cV,94,cW,727,cX,45,cY,790,cZ,1,c_,651,ca,677,cb,678,cc,678,cd,678,ce,679,cf,680,cg,681,ch,682,ci,683,cj,688,ck,694,cl,695,cm,696,cn,699,co,402,cp,223,cq,704,cr,103,cs,776,ct,809,cu,706,cv,92,cw,707,cx,707,cy,128,cz,746,d,632,d0,7,d1,285,d2,0,d3,34,d4,242,d5,545,d6,747,d7,559,d8,835,d9,712,dA,732,dB,733,dC,738,dD,739,dE,817,dF,214,dG,102,dH,118,dI,149,dJ,211,dK,135,dL,127,dM,279,dN,250,dO,251,dP,147,dQ,240,dR,757,dS,762,dT,89,dU,19,dV,76,dW,789,dX,791,dY,21,dZ,59,d_,799,da,726,db,745,dc,824,dd,784,de,803,df,808,dg,723,dh,721,di,728,dj,771,dk,557,dl,754,dm,822,dn,557,dp,557,dq,237,dr,767,ds,711,dt,722,du,751,dv,766,dw,768,dx,795,dy,819,dz,829,e,572,e0,24,e1,290,e2,9,e3,810,e4,811,e5,812,e6,813,e7,814,e8,815,e9,831,eA,825,eB,823,eC,719,eD,557,eE,724,eF,748,eG,749,eH,750,eI,557,eJ,710,eK,741,eL,792,eM,793,eN,794,eO,796,eP,797,eQ,830,eR,557,eS,786,eT,709,eU,714,eV,715,eW,716,eX,717,eY,734,eZ,755,e_,820,ea,832,eb,833,ec,834,ed,558,ee,560,ef,562,eg,563,eh,772,ei,777,ej,801,ek,713,el,769,em,770,en,785,eo,787,ep,752,eq,826,er,836,es,804,et,594,eu,605,ev,780,ew,807,ex,557,ey,743,ez,779,f,645,f0,763,f1,781,f2,782,f3,124,f4,126,f5,229,f6,228,f7,226,f8,230,f9,278,fA,98,fB,86,fC,85,fD,152,fE,32,fF,231,fG,758,fH,759,fI,760,fJ,761,fK,764,fL,281,fM,38,fN,66,fO,53,fP,97,fQ,96,fR,64,fS,62,fT,63,fU,90,fV,106,fW,208,fX,280,fY,54,fZ,61,f_,756,fa,116,fb,111,fc,117,fd,112,fe,109,ff,105,fg,95,fh,35,fi,122,fj,212,fk,115,fl,139,fm,123,fn,215,fo,143,fp,114,fq,125,fr,277,fs,224,ft,238,fu,248,fv,148,fw,237,fx,252,fy,241,fz,239,h,606,h0,288,h1,67,h2,25,h3,289,h4,22,h5,545,h6,579,h7,609,h8,635,h9,557,hA,227,hB,10,hC,52,h_,816,ha,810,hb,811,hc,812,hd,813,he,814,hf,815,hg,831,hh,832,hi,833,hj,834,hk,747,hl,129,hm,131,hn,130,ho,132,hp,134,hq,133,hr,136,hs,138,ht,137,hu,140,hv,142,hw,141,hx,144,hy,146,hz,145,i,718,j,574,k,209,l,774,m,593,n,672,o,11,p,629,q,783,r,151,t,587,u,600,v,827,w,636,x,639,y,267,z,18", "instance": "A,878,B,862,C,876,D,877,E,893,F,902,G,915,H,916,I,851,J,852,K,855,L,864,M,891,N,892,O,888,P,867,R,870,S,871,T,873,U,885,V,897,W,899,X,907,Y,912,Z,917,a0,850,a1,853,a2,854,a3,858,a4,860,a5,861,a6,886,a7,890,a8,874,a9,875,aA,869,aB,872,aC,880,aD,881,aE,846,aF,847,aG,883,aH,842,aI,845,aJ,895,aK,901,aL,904,aM,907,aN,908,aO,909,aP,909,aQ,910,aR,910,aS,912,aT,913,aU,913,aV,917,aW,844,aX,868,aY,906,a_,839,aa,879,ab,882,ac,884,ad,841,ae,843,af,894,ag,901,ah,911,ai,837,aj,918,ak,840,al,557,am,557,an,856,ao,857,ap,859,aq,863,ar,887,au,865,av,866,aw,889,az,869,gH,916,gM,891,gN,892,gP,867,gU,885,gV,897,gW,899,gaB,872,gaG,883,gaW,844,gaX,868,gaq,863,gaz,869,gj,900,gk,914,gm,771,gn,896,gq,898,h,918,i,849,j,900,k,914,l,905,m,771,n,896,p,838,q,898,sU,885,sj,900,t,903,u,848,v,863" }, - "frames": "4zHA6He6jCyB;oCAKAAyB;eAKCTG;kBACeDE;gEAIlBAE;KAGOFO;iGAaA/iCAA8CgBCeANKkDuC,A,I;qMATrCjDAAmB0BDeAVWkDoC,A,AAUvC2/BkC,A;65DKiKWngB2C;QAEFsXyC;oYJ3QW4NuB;uEA6BL7EG;oQAuJqB9HqC;wGA8JlB0JiB;cAAAAa;0CAuBQhCS;gJAYVgCiB;oFAqBLwCAARF/BiB,A;yDAkBWUW;mKAumBoB9RoB;oDAUtBA+C;8DAwEGtRqC;yfAyQZAmR;gZA4MAAW;ifA0DyBAW;uWAkCJAW;cAOpBAkC;6BAIiBkgBoD;OAChBlgBU;0DAOC8kBI;aAIgB9kBwC;2JASjBAU;yEAiCmBAW;sCAGtBAc;sSAkIFAAQn5D8BAgE,A;keRojE1BAkC;cAEAA0D;y4CAyPEA4D;6sBAqF6BkiBuC;AACH+BmC;yEA4HtB/jCAM/9DTCMA3B4Bu+Bc,A,M;qDNghElB1eiD;kKAuJXAY;4EC7iFO0jBI;YACc/iCAAsE3BDAFlJAy/ByB,kF,A;QE4E2Bx/BAAuEpB2/BE,A;OAtEWoDI;uBAKK9iCAAzCJuhCkB,AAAZuBI,A;6CA+CMAI;YACkB/iCAAyD/BDAFlJAy/ByB,kF,A;QEyF+Bx/BAA0DxB2/BE,A;OAzDWoDI;uBAGK9iCAApDJuhCkB,AAAZuBS,A;4EA0EE/iCAA+BTDAFlJAy/ByB,kF,A;QEmHSx/BAAgCF2/BE,A;sDAvBEz/BAA2BTHAFvJAy/BsB,A,0BEuJAz/BkF,A;QA3BSGAA4BFy/BE,A;+DAfoCqCqB;UAElC9hCAAYTHAFvJAy/BsB,A,0BEuJAz/BkF,A;QAZSGAAaFy/BE,A;gEAMP5/BAF9JAy/ByB,6B;yJE0K2CwCoB;gLAsCjCRmB;0KAaFzhCAF7NRy/ByB,mG;2DE2O2BuD4D;wTA+EXtiCc;81CKzNSo+BG;gBAIjBtBW;AADuCnDAAgK/BwEQ,A;WAtJOjDO;AAFAkDG;gBAGftBgB;AAD0CrEAAgKlC0FM,A;gBApFCnFAAzBsBkFG,A;oCA2BECG;uCA2JzBEG;sBAgJMfmB;iEAyEPtEAA/YwBkFG,A;mEAwZbCG;qEAMAAG;qEAMAAG;qEAMWrFG;uDAMkBDAA7WvCwFK,A;aAgXGhGAApWH8FG,A;sBAsWQ/FG;6EAQHkBAApWIHO,A;AAqWJEG;sEAMIGAAlVT2EG,A;sBAqViC3FG;6EAU5BGQ;AACDoFQ;uBAGDrFAAzVHyFG,A;+EAgWIvFAAtVJsFG,A;sBA0VULO;uIAeNEkB;yBAGDII;kFAaCJkB;0BAImBFO;AACEAS;AACtBMM;qFAcK5EsB;AAIALK;iBAGQDK;8CAMiB2EAAxRRhfc,A;AAyRrBoeM;AAEAHM;AAEADK;uHAwCFuBM;yDAaZ5DI;sEAuBFEG;eAIOuGoB;qSAkFkBzGkD;uBAKvB+Ce;uDAeYOI;uBAENl9BQAvZU28BoB,A;6DAieFp7BoBAlFlBq4BgB,A;uCAsFc+DO;GAEL0CoB;OAAwBvHO;uBAOMr3BO;AAA9Bk2BG;gBAA8Bl2BAAKrCi6BY,A;SAS0BwDW;AADV/W0B;iBAGXlKAAmCTAAAAAAAACMydG,A,A,W;SAlC6BiBoB;AAE/Bl7BG;AADOk2BG;gBACPl2BAAfAi6BY,A;mBAuCqB17BMA1hBH28BoB,A;gEA0lBlB76BAAoiF6B8yB+B,A;6BAjiFzByDG;qEAcYuEAAr/BY5DAAuKhBwEQ,A,A;AA+0BQnFAAl7BekFG,A;0KA87BnBrFAA33BJwFG,A;IA43BMvFiB;AAYdoEU;uEAUCx6BQA8BmB42BAA15BZ+EI,A,AA25BMhFI,A;+DArBXiBC;AADPoCK;0CAsCAj6BAAg8E6B8yB0B,A;mEAr7EtBcC;AADP8FK;6BAKWnDAAnhCwBkFQ,A;kEAwhCCvEAAr7BxBwEK,A;eAs7B4B1FAA56B5B0FsB,A;mEAu7BCbc;gDAeNhDI;AADOlBAA18BF+EO,A;mDAo9BFzEG;iBAKVeG;8GAsBOuGoB;YACGtHG;iBAKVeG;wFA0BWHU;+DAYAAU;uCAWTvC0B;qJAuCc9KuB;mBAiBTqNc;AADSiDAAzwChBvEAAoEmCkFQ,A,AApEPvEAAuKhBwEK,A,A;QAmmCQ1FAAzlCR0FS,A;MA2lCmBbiB;AAD3BhDI;kiDA2NmByDQ;qBAEDIO;sCAYA7EAAv1CV+EM,A;AAw1CKhFG;qCAMG0EQ;AACFuFkB;AACEvFU;gEAOGIO;gBAELEI;kHAaMNQ;kNAgBFIO;AACjB17BAAo+DwB8yBAAK/B/rBAAGawvBAA58GwBkFG,A,A,wCAy8GhB74BAAgBd+7Ba,A,K,A;oDAh/DY5HAAv3CCLO,A;AAw3CeXM;AAEbeM;AACcwEW;AAEd7EM;AACc6EW;AACN9EM;AACP8EQ;0DASCIQ;2DAUEAQ;oEAYbFM;yBAIIEe;AAEJEI;sGA6BArFAApjDwBkFG,A;wIA6jDdvEAA19CTwEK,A;cAy+Ca/EAAp+Cb+EG,A;cAs+CSnFAA9kDckFG,A;uEAulDVzFAA1+Cb0FS,A;mBA++CItFAAzhDJwFI,A;GAkiDMvFG;4HAgBOJAAz/CbyFM,A;AA0/CGxFG;eAODCAAv/CIOM,A;qFA+/CF2KuB;yDAoLP9LAAHK2LG,S;uBAKP3LAALO2LG,I;oCAWDtEO;+DAKOnBI;AACPjDgB;oGAiBO0IM;wBA4BAtEM;aAWHsCS;AADPrCe;oBAGFzDyB;AACH+FW;gCAMSrJG;cAGVkEa;AAEakFW;oBAET9FuB;AACH+FW;kCAKSzJG;cAGViEgB;AAEuBtTAApuDfuVI,A;AAquDKsDW;gCAGX3IAA95D6BkFS,A;AA+5Dd9FQ;AAKhBwJW;mBAqCHzFS;AACAOQ;qBAuFeiFW;AADPrCW;oBAGsB5HAAIpBkGAAz3DPhfsB,A,AA03DH+dM,AACALM,W;AANGpCAApFA0HC,AAAOtCa,A;qBAiGKqCS;AAFN7KAA/CKhOAAz0DJuVW,A,A;AAy3DFiBW;oCAGLpFAAnGA0HC,AAAOtCa,A;0CA0GOtGAAzjEgBkFG,A;oEAikEvBNAAn5DPhfsB,A;AAo5DH+dM;AACAIK;CACATM;4BAQeqFS;AAFN/KAAzEK9NAA30DJuVW,A,A;AAq5DFiBW;oCAGLpFAA/HA0HC,AAAOtCa,A;4CAsIOtGAArlEgBkFQ,A;0DA0lEZzFAA7+DX0FI,A;kEAm/DaxEAA7/DbwEG,A;IA8/DiBnFAAjmEMkFc,A;AAmmEdzFAAt/DT0FI,A;gCA6/DAPAA57DPhfsB,A;AA67DH+dM;AACAIK;CACATM;4BAQeqFS;AAFNlLAAhHK3NAA70DJuVW,A,A;AA87DFiBW;oCAGLpFAAxKA0HC,AAAOtCa,A;wCA+KOtGG;0DAMVkCe;qCAKG0CAA39DPhfsB,A;AA49DH+dM;AACAIK;CACATM;0BAOeqFsB;AADPrCW;oBAIRhIAAKUsGAA7+DPhfsB,A,AA8+DH+dO,AACAIM,AACATM,W;AATGpCAAtMA0HC,AAAOtCa,A;8BAqNMvBQ;sCAEIIG;AACCrVAAj/DXuVI,A;kCA0/DMNQ;qCAGmBFO;AACZIwB;AAIPEK;AACKrVAAngEXuVI,A;uCAuhED1HAAVOoHU,mB;AAYD4DG;AADPrCW;oBAIO/HAAKLqGAAziEPhfsB,A,AA0iEH+dM,AACAIM,AACAES,AACgBcW,AAEdjBI,AAA6BeK,AAE/BvBM,W;AAdGpCAAlQA0HC,AAAOtCa,A;yCAsSNtGAArvE6BkFY,A;AAsvErB7FAAvqEF8FG,A;AAyqEDLG;AAAgB1FkB;QAEhB9BGAjBLxNAAnjEMuVuB,A,A;AAskEKsDG;AADPrCW;oBAIOlIAAKLwGAAtlEPhfsB,A,AAulEH+dO,AACAIM,AACAEM,AACAXM,W;AAVGpCAA/SA0HC,AAAOtCa,A;qBAyUDzIoC;AAEM8KC;AADPrCW;oBAIR9HAAKUoGAApnEPhfsB,A,AAqnEH+dO,AACAIM,AACAEM,AACAXM,W;AAVGpCAA7UA0HC,AAAOtCa,A;qBAoYD/IAAtCPCiB,AADY1NO,AACZ0NAAKkB+CM,AACcwEW,AAEd7EM,AACc6EW,AACN9EM,AACP8EsB,oF,AAZvBjCY,A;AAyCiB6FG;AADPrCW;oBAIRjIAAKUuGAA/qEPhfsB,A,AAgrEH+dO,AACAIM,AACAEM,AACAXM,W;AAVGpCAAxYA0HC,AAAOtCa,A;uBAgaD5ISAPH5NAAlrEIuVwB,A,A;AA2rEKsDC;AADPrCW;sCAGLpFAApaA0HC,AAAOtCa,A;sDA8aQvBQ;kCAICIQ;AACXnFAAl4EyBkFe,A;sEAm5EvBNAAruEPhfsB,A;AAsuEH+dO;AACAIM;AACAEK;CACAXM;4FAqKoBwGM;AACJIU;kBAGT1EkB;4LAcHmEW;cAIAAW;cAIAAO;KACWkBI;AAAkBzEG;AAAqB+CU;cAIlDQO;AACIcM;AAA2BIG;AAA3BJAAkWSvFU,A;cA9VbyEO;AAAsB1HM;AAAiB4IW;cAIvClBO;AAAsB3HM;AAAkB6IW;eAIxClBO;AAAsBvHM;AAAeyIW;cAIrCjBAAgFRDQ,AAAYPS,AACerEQ,A;iEArEX8FG;AACRlBO;cAIkBvDG;AAAqB+CU;AAC/BLK;iBAIA+BG;AACRlBO;cAIkBvDG;AAAqB+CU;AAC/BLK;iBAIA+BG;AACRlBO;cAIkBvDG;AAAqB+CU;AAC/BLK;cAIRaW;AACACAAqCRDQ,AAAYPS,AACerEQ,A;sCA9BnB6EAA6BRDQ,AAAYPS,AACerEQ,A;cA1BnBoCAA2KStUAAoCEmSY,AAAmBoEI,MACtByBI,AAAkBzEM,AACPlBY,A,AArC3ByEU,AACAAW,A;eAzKQCAAqBRDQ,AAAYPS,AACerEQ,A;eAlBnBkCAAyKSvBAAqCEVY,AAAmBoEI,MACjByBI,AAAkBzEM,AACZlBY,A,AAtC3ByEU,AACAAW,A;cAvKYvCAA4KKgDmB,AAGjBTO,AAAmBYkB,AACnBZW,AACACAApKADQ,AAAYPS,AACerEQ,A,M;wCANhBoEU;YACG0BI;AAAkBzEK;sDAWrBZkB;uCAIXmEU;uEAQWnEkB;0FAIyC0CoB;kBAM7BqCmB;SAKbMM;AAAkBzEO;AADZGAAhzBDvGAA76DsBkFW,A,AA+6DjB7FAAh2DN8FG,A,UAm2DatFAA/2DbwFG,A,AAk3DYqDI,+C;AAsyBxBiBO;AAEcpDkB;AAGdoDU;4BAMqBkBiB;AAEZ1BQ;sBAGTQO;2BAE4BvDc;AAChBpGAA9uFuBkFY,A;AAgvF/ByEO;YAGmCbK;cAInCaO;+BA+BKRa;AAnBY0B2B;uCAwBI1BU;aAIbAU;cAIRQU;WAIJAU;YAKKRU;iBAGIAwB;AAC0BamB;AACbAK;SACc5DM;AACmBxBAA3iFlBhfc,A;AA4iFfoeM;AAEAHM;AAEADK;AACpB+FO;2BASAAO;OAGyBtEY;kFAgCnB8Dc;UAERQO;AAAsBxHM;AAAgB0IY;iBAItClBO;AAAsB5HM;AAAc8IY;0EAOnB7FgB;AAAmBoEI;MACtByBI;AAAkBzEM;AACPlBY;2DAiBK8EK;8FASZjFQ;8BAEAFI;sBAOAEQ;+BAGAFI;wBAOL7EAAj6FsBkFG,A;4BAm6FR7FAAp1Ff8FE,A;IAq1FY/FM;AACP2FQ;gBAEDIK;SAIE9FAA51FN8FM,A;AA61FDnFAA56FwBkFQ,A;wFAm7FbpFU;AACPiFQ;QAEDIK;qEAwDDpF8B;AACG4IW;YAET7G8B;AACF8GW;0GA8DLrM0B;sBAEYyDAAljGuBkFG,A;wCAyjGnCj1BAA4ZE+vBG,A;0CAtZemFE;AADHvFAAx7FFsFc,A;YA67FAlFAAnkGuBkFsB,A;iCA2kGRzFAA99Ff0FQ,A;0EAu+FM1FAAv+FN0FY,A;wBA2+FMxEAAr/FNwEY,A;qCA6/FIxEAA7/FJwEY,A;qEAghGI1FAAtgGJ0Fa,A;2FAkhGQ/EAAvhGR+EY,A;yBAkiGa1FAA7hGb0FS,A;+FAyiGiB/EAA9iGjB+EQ,A;+IAskGIxFM;AACAAM;AACGoFgB;AACAAQ;SAGkBDwB;AACAAwB;oBAGjBKO;AACAAI;kEAOkBzFAApkG1ByFM,A;AAqkGNzFAArkGMyFQ,A;sQAgmGM3EAA1mGN2EQ,A;AA2mGM3EAA3mGN2EU,A;aAgnGsB3FO;AACAAM;AAGdeM;AAEAAM;AACewEW;AACAAQ;yBAMf7EM;AAEAAM;AACe6EW;AACAAQ;wCAKAFI;YACbMgB;6BAOaNI;YACbMkB;6BASbNM;YACaMgB;YAMOlFM;AACAAM;AACP8EW;AACAAQ;0BAIFMS;0BAGEAI;2BAIEJM;qCAMcJM;sBAENAM;YACbMkB;+BAQRFM;0DASIpFAAvvGHwFM,A;AAwvGGxFAAxvGHwFQ,A;WAswGOrGAAnhDL2LG,I;2CAshDCtFI;YAIMoDI;uBAEH1DQ;AACWvPoBAsLA8Oa,AAAjB0FK,A;+BApLW3EK;wBAITvFQ;gBAOFAW;AACAAQ;8BAWIiFQ;2BAUAIO;AACAAU;6CAwCA9EM;AACAAM;AACA0EgB;AACAAQ;aAEFzEAA30GF+EM,A;AA40GE/EAA50GF+EG,A;oCAg1GMFO;AACAAU;iCASPnFAAn7GwBkF+B,A;sCAu7GIvEAAp1G3BwEK,A;eAq1G+B1FAA30G/B0FI,A;uBAu1GiB5I+B;uBAQlByDAA58GwBkFG,A;qDA+/G1B6D4B;AACEhEQ;oBAEEMI;4CAOgBfa;AAAjB0FI;grBO/pHRrLS;4BA2BR/YU;wBAwGOASApCSsZAAAAtZyB,A,a;uCAmDC+gBE;+BAqBjBhBwG;oCAUACgC;gIA4BmBhgBoB;AAAAueW;8HAiCPjRK;mLC0PImOiB;AACItDG;cAIE7G0D;wIAyBNmKkB;AACItDI;mBAIE7G0D;2GAuBbjlBgB;uFAuIkB4uBqB;gCAGYjCG;AACxByIM;sHA+BcIG;2CACD9CK;0CAIb0CM;mDA4EIGG;uLAkBTyCwB;wBAMgBzIe;AACFwBsB;AACZhFyB;gDAcIgFwB;iBAEVmBiB;AAGAXmB;sQG72BQPU;iBAUqBrdqB;qCAKrBqdU;sFAoBkBrdiB;6IAuD3B3TW;iBCi5EG2TqB;OAAAAU;uCExsDFAAD/tBgBsN0B,AAAX+XU,A;uPA+YN5DS;0lFGpZUzhBmB;oHAoBNyWG;uYCsLsCqKyDrBxRtCmCYA6EiC+B2B,A,A;0DqBub1BzCgB;AAED1DO;0BAGFAO;oBAGEAU;4IhB/dJLAgByLSiGAvB4NX/BiB,A,A;QOnZA7FO;8jBkB6vBCuImB;8EAqBcplBc;oBAGpBolB6B;wDAMK3OG;0lDE10BiBzWe;mDCfP2fARsJX3f+C,A;gBQ9IQqZuK;AAEEkLACwFUvkBO,A;kBDxFVukBACwFUvkBa,A;yBDpF5BAO;2IAoBAqjBAAX+BrG2B,AAAkBuHQRiczBvkBW,A,A;+bWtda4gBmE;yBAMAC+C;0MhCuSLuCW;gBAqB5BjCe;qjBGxEFtBqB;sDA2CO7fY;QAAAA2B;qEA2ZqB4iBe;gBAaF5iBoB;QAAAAW;oqCE3rBAAkB;wBAAAAgC;mBA+IxBAqD;sOA4LwBAU;6CAAAAa;k6BJgvCEuiB+B;qrBAq6BwB9De;8BAOlC7BiC;AACAwGS;m5CMz4EXjjCiB;iBAAAAAAoZ0Bu+BqB,A;eA9YD/pBMAsZZ+pBqB,A;2aOlbhBrDkB;sPAsKArbc;8PgBpFAqiBW;AACSriBYVmfIsNI,AADnBtNAAAAA+B,A,A;YUhfyBAAA1KnBAATyzBAAAD/tBgBsN0B,AAAX+XU,A,A,uBUhGXrlBAAAAAc,A,A;AAkLEwXwE;kDAgCaxXQ;AADTqiBU;mEAIOriByD;+BAgEP+bG;qCAIADG;kDAaE5CI;iEAMAiE6E;qDAUFrBS;sBAOAuGkB;mGAkB0CtGS;OAIjC/bQ;AADT+bU;0DAQADG;0BACAZW;4BAMEYS;+IfpNDiGW;oBACEhDW;AAA6B9FI;8CAazB8FK;gGAQL8CU;oTAsIkBvUW;kGAoBAtNuC;OACPwWwD;uDASOxW+B;OACP4kByD;2GAoGblIG;6CAQiBvEQ;AACLyDY;qBAQdvvBgB;+EAQEqwBG;kGAiBiBvEQ;AACLyDY;gCAQdvvBgB;2RAgKFkyBW;kCAQAZmB;gGA8DAtxBmB;iGAwBAAmB;yjBAwEyBs1BGAjnBlB5CS,AAAUHa,A;8BAmnBwB5FE;2BACDAQ;mDAOc4CiB;AAC3BXmB;IACqBjCI;+LAkBjB0IC;IAAAAAA1rBxB3CQ,AAA+BhCO,A;8HAmsBC/DS;iBAElB8IAA3sBdhFU,A;wDAgtBsB9Da;yFIiaHhZ6B;kKAQpBqYU;uBAAAAAJtoBJkGW,S;wCM5HGhDU;0DAUAAW;AAGmBvbG;uFAkBpBubkB;QAYKvbQ;AADLqiBU;wDAIGriBiD;uCA2GFgcU;sJAgBLhBADtQsBiBI,Q;YCsQtBjBqC;yBAgEIOU;yCAQAAU;4GAyBsBvbY;qBA6CImVkB;2JD/rBXoNsB;6BA2Jf/GG;mDAIcxbY;qDAgDSAG;2BAEtBmbG;mEAciBcI;gFA6FlBdoB;iDAEoBwBgCA/L2B4FkB,A;sEA0M5BtGY;iGA4BnBpDmB;qBAAAAmB;oHA6GA4JG;uMAWFnBmCA6BFgCI,A;MA7BEhCAA6BFgCG,A;iUJ66BE7BU;0GAYAAU;ogBMv+CKzhBmB;8CAAAAoB;qFAU8BobS;6EAGHAS;8bAqDhCkC2BAOShFAAoOe0JwB,A,iH;qlBAhCf1JAAgCe0JmB,A;yLAmEnBhiBU;4BAAAAoB;iNa/ZmBAkB;qBAAAAW;QAAAAY;+CA2IUAY;QAAAA6B;eA6WjB4iBe;8RZlafuCmB;AACAAAC0YJrGU,A;ADzYIqGe;s1Bf4WoB/PK;+5BgB5aMgOc;2iBKtC9BxR6B;gCAYoB5RARgFdAI,A;AQhFNgdgC;SACiBkEkB;0DACc9JY;EAC7B4FoB;AAAApLARmjBG6KG,qBACLlFkDAsD6BvXY,A,A;6CQllB3BmkBAAhBFllBAAlCFmiBc,AAAcjKqB,AAA6CEa,qC,A;AAqDvDlYAa9CFskBgE,A;qsTzCixCiBE0G;CAAAAG;6DAUAC8G;CAAAAG;2DAUACuD;CAAAAG;6DAUAC2D;CAAAAG;" + "frames": "4zHA6He6jCyB;oCAKAAyB;eAKCTG;kBACeDE;gEAIlBAE;KAGOFO;iGAaA/iCAA8CgBCeANKkDuC,A,I;qMATrCjDAAmB0BDeAVWkDoC,A,AAUvC2/BkC,A;65DKiKWngB2C;QAEFsXyC;oYJ3QW4NuB;uEA6BL7EG;oQAuJqB9HqC;wGA8JlB0JiB;cAAAAa;0CAuBQhCS;gJAYVgCiB;oFAqBLwCAARF/BiB,A;yDAkBWUW;mKAumBoB9RoB;oDAUtBA+C;8DAwEGtRqC;yfAyQZAmR;gZA4MAAW;ifA0DyBAW;uWAkCJAW;cAOpBAkC;6BAIiBkgBoD;OAChBlgBU;0DAOC8kBI;aAIgB9kBwC;2JASjBAU;yEAiCmBAW;sCAGtBAc;sSAkIFAAQn5D8BAgE,A;keRojE1BAkC;cAEAA0D;y4CAyPEA4D;6sBAqF6BkiBuC;AACH+BmC;yEA4HtB/jCAM/9DTCMA3B4Bu+Bc,A,M;qDNghElB1eiD;kKAuJXAY;4EC7iFO0jBI;YACc/iCAAsE3BDAFlJAy/ByB,kF,A;QE4E2Bx/BAAuEpB2/BE,A;OAtEWoDI;uBAKK9iCAAzCJuhCkB,AAAZuBI,A;6CA+CMAI;YACkB/iCAAyD/BDAFlJAy/ByB,kF,A;QEyF+Bx/BAA0DxB2/BE,A;OAzDWoDI;uBAGK9iCAApDJuhCkB,AAAZuBS,A;4EA0EE/iCAA+BTDAFlJAy/ByB,kF,A;QEmHSx/BAAgCF2/BE,A;sDAvBEz/BAA2BTHAFvJAy/BsB,A,0BEuJAz/BkF,A;QA3BSGAA4BFy/BE,A;+DAfoCqCqB;UAElC9hCAAYTHAFvJAy/BsB,A,0BEuJAz/BkF,A;QAZSGAAaFy/BE,A;gEAMP5/BAF9JAy/ByB,6B;yJE0K2CwCoB;gLAsCjCRmB;0KAaFzhCAF7NRy/ByB,mG;2DE2O2BuD4D;wTA+EXtiCc;81CKzNSo+BG;gBAIjBtBW;AADuCnDAAgK/BwEQ,A;WAtJOjDO;AAFAkDG;gBAGftBgB;AAD0CrEAAgKlC0FM,A;gBApFCnFAAzBsBkFG,A;oCA2BECG;uCA2JzBEG;sBAgJMfmB;iEAyEPtEAA/YwBkFG,A;mEAwZbCG;qEAMAAG;qEAMAAG;qEAMWrFG;uDAMkBDAA7WvCwFK,A;aAgXGhGAApWH8FG,A;sBAsWQ/FG;6EAQHkBAApWIHO,A;AAqWJEG;sEAMIGAAlVT2EG,A;sBAqViC3FG;6EAU5BGQ;AACDoFQ;uBAGDrFAAzVHyFG,A;+EAgWIvFAAtVJsFG,A;sBA0VULO;uIAeNEkB;yBAGDII;kFAaCJkB;0BAImBFO;AACEAS;AACtBMM;qFAcK5EsB;AAIALK;iBAGQDK;8CAMiB2EAAxRRhfc,A;AAyRrBoeM;AAEAHM;AAEADK;uHAwCFuBM;yDAaZ5DI;sEAuBFEG;eAIOuGoB;qSAkFkBzGkD;uBAKvB+Ce;uDAeYOI;uBAENl9BQAvZU28BoB,A;6DAieFp7BoBAlFlBq4BgB,A;uCAsFc+DO;GAEL0CoB;OAAwBvHO;uBAOMr3BO;AAA9Bk2BG;gBAA8Bl2BAAKrCi6BY,A;SAS0BwDW;AADV/W0B;iBAGXlKAAmCTAAAAAAAACMydG,A,A,W;SAlC6BiBoB;AAE/Bl7BG;AADOk2BG;gBACPl2BAAfAi6BY,A;mBAuCqB17BMA1hBH28BoB,A;gEA0lBlB76BAAoiF6B8yB+B,A;6BAjiFzByDG;qEAcYuEAAr/BY5DAAuKhBwEQ,A,A;AA+0BQnFAAl7BekFG,A;0KA87BnBrFAA33BJwFG,A;IA43BMvFiB;AAYdoEU;uEAUCx6BQA8BmB42BAA15BZ+EI,A,AA25BMhFI,A;+DArBXiBC;AADPoCK;0CAsCAj6BAAg8E6B8yB0B,A;mEAr7EtBcC;AADP8FK;6BAKWnDAAnhCwBkFQ,A;kEAwhCCvEAAr7BxBwEK,A;eAs7B4B1FAA56B5B0FsB,A;mEAu7BCbc;gDAeNhDI;AADOlBAA18BF+EO,A;mDAo9BFzEG;iBAKVeG;8GAsBOuGoB;YACGtHG;iBAKVeG;wFA0BWHU;+DAYAAU;uCAWTvC0B;qJAuCc9KuB;mBAiBTqNc;AADSiDAAzwChBvEAAoEmCkFQ,A,AApEPvEAAuKhBwEK,A,A;QAmmCQ1FAAzlCR0FS,A;MA2lCmBbiB;AAD3BhDI;kiDA2NmByDQ;qBAEDIO;sCAYA7EAAv1CV+EM,A;AAw1CKhFG;qCAMG0EQ;AACFuFkB;AACEvFU;gEAOGIO;gBAELEI;kHAaMNQ;kNAgBFIO;AACjB17BAAo+DwB8yBAAK/B/rBAAGawvBAA58GwBkFG,A,A,wCAy8GhB74BAAgBd+7Ba,A,K,A;oDAh/DY5HAAv3CCLO,A;AAw3CeXM;AAEbeM;AACcwEW;AAEd7EM;AACc6EW;AACN9EM;AACP8EQ;0DASCIQ;2DAUEAQ;oEAYbFM;yBAIIEe;AAEJEI;sGA6BArFAApjDwBkFG,A;wIA6jDdvEAA19CTwEK,A;cAy+Ca/EAAp+Cb+EG,A;cAs+CSnFAA9kDckFG,A;uEAulDVzFAA1+Cb0FS,A;mBA++CItFAAzhDJwFI,A;GAkiDMvFG;4HAgBOJAAz/CbyFM,A;AA0/CGxFG;eAODCAAv/CIOM,A;qFA+/CF2KuB;yDAoLP9LAAHK2LG,S;uBAKP3LAALO2LG,I;oCAWDtEO;+DAKOnBI;AACPjDgB;oGAiBO0IM;wBA4BAtEM;aAWHsCS;AADPrCe;oBAGFzDyB;AACH+FW;gCAMSrJG;cAGVkEa;AAEakFW;oBAET9FuB;AACH+FW;kCAKSzJG;cAGViEgB;AAEuBtTAApuDfuVI,A;AAquDKsDW;gCAGX3IAA95D6BkFS,A;AA+5Dd9FQ;AAKhBwJW;mBAqCHzFS;AACAOQ;qBAuFeiFW;AADPrCW;oBAGsB5HAAIpBkGAAz3DPhfsB,A,AA03DH+dM,AACALM,W;AANGpCAApFA0HC,AAAOtCa,A;qBAiGKqCS;AAFN7KAA/CKhOAAz0DJuVW,A,A;AAy3DFiBW;oCAGLpFAAnGA0HC,AAAOtCa,A;0CA0GOtGAAzjEgBkFG,A;oEAikEvBNAAn5DPhfsB,A;AAo5DH+dM;AACAIK;CACATM;4BAQeqFS;AAFN/KAAzEK9NAA30DJuVW,A,A;AAq5DFiBW;oCAGLpFAA/HA0HC,AAAOtCa,A;4CAsIOtGAArlEgBkFQ,A;0DA0lEZzFAA7+DX0FI,A;kEAm/DaxEAA7/DbwEG,A;IA8/DiBnFAAjmEMkFc,A;AAmmEdzFAAt/DT0FI,A;gCA6/DAPAA57DPhfsB,A;AA67DH+dM;AACAIK;CACATM;4BAQeqFS;AAFNlLAAhHK3NAA70DJuVW,A,A;AA87DFiBW;oCAGLpFAAxKA0HC,AAAOtCa,A;wCA+KOtGG;0DAMVkCe;qCAKG0CAA39DPhfsB,A;AA49DH+dM;AACAIK;CACATM;0BAOeqFsB;AADPrCW;oBAIRhIAAKUsGAA7+DPhfsB,A,AA8+DH+dO,AACAIM,AACATM,W;AATGpCAAtMA0HC,AAAOtCa,A;8BAqNMvBQ;sCAEIIG;AACCrVAAj/DXuVI,A;kCA0/DMNQ;qCAGmBFO;AACZIwB;AAIPEK;AACKrVAAngEXuVI,A;uCAuhED1HAAVOoHU,mB;AAYD4DG;AADPrCW;oBAIO/HAAKLqGAAziEPhfsB,A,AA0iEH+dM,AACAIM,AACAES,AACgBcW,AAEdjBI,AAA6BeK,AAE/BvBM,W;AAdGpCAAlQA0HC,AAAOtCa,A;yCAsSNtGAArvE6BkFY,A;AAsvErB7FAAvqEF8FG,A;AAyqEDLG;AAAgB1FkB;QAEhB9BGAjBLxNAAnjEMuVuB,A,A;AAskEKsDG;AADPrCW;oBAIOlIAAKLwGAAtlEPhfsB,A,AAulEH+dO,AACAIM,AACAEM,AACAXM,W;AAVGpCAA/SA0HC,AAAOtCa,A;qBAyUDzIoC;AAEM8KC;AADPrCW;oBAIR9HAAKUoGAApnEPhfsB,A,AAqnEH+dO,AACAIM,AACAEM,AACAXM,W;AAVGpCAA7UA0HC,AAAOtCa,A;qBAoYD/IAAtCPCiB,AADY1NO,AACZ0NAAKkB+CM,AACcwEW,AAEd7EM,AACc6EW,AACN9EM,AACP8EsB,oF,AAZvBjCY,A;AAyCiB6FG;AADPrCW;oBAIRjIAAKUuGAA/qEPhfsB,A,AAgrEH+dO,AACAIM,AACAEM,AACAXM,W;AAVGpCAAxYA0HC,AAAOtCa,A;uBAgaD5ISAPH5NAAlrEIuVwB,A,A;AA2rEKsDC;AADPrCW;sCAGLpFAApaA0HC,AAAOtCa,A;sDA8aQvBQ;kCAICIQ;AACXnFAAl4EyBkFe,A;sEAm5EvBNAAruEPhfsB,A;AAsuEH+dO;AACAIM;AACAEK;CACAXM;4FAqKoBwGM;AACJIU;kBAGT1EkB;4LAcHmEW;cAIAAW;cAIAAO;KACWkBI;AAAkBzEG;AAAqB+CU;cAIlDQO;AACIcM;AAA2BIG;AAA3BJAAkWSvFU,A;cA9VbyEO;AAAsB1HM;AAAiB4IW;cAIvClBO;AAAsB3HM;AAAkB6IW;eAIxClBO;AAAsBvHM;AAAeyIW;cAIrCjBAAgFRDQ,AAAYPS,AACerEQ,A;iEArEX8FG;AACRlBO;cAIkBvDG;AAAqB+CU;AAC/BLK;iBAIA+BG;AACRlBO;cAIkBvDG;AAAqB+CU;AAC/BLK;iBAIA+BG;AACRlBO;cAIkBvDG;AAAqB+CU;AAC/BLK;cAIRaW;AACACAAqCRDQ,AAAYPS,AACerEQ,A;sCA9BnB6EAA6BRDQ,AAAYPS,AACerEQ,A;cA1BnBoCAA2KStUAAoCEmSY,AAAmBoEI,MACtByBI,AAAkBzEM,AACPlBY,A,AArC3ByEU,AACAAW,A;eAzKQCAAqBRDQ,AAAYPS,AACerEQ,A;eAlBnBkCAAyKSvBAAqCEVY,AAAmBoEI,MACjByBI,AAAkBzEM,AACZlBY,A,AAtC3ByEU,AACAAW,A;cAvKYvCAA4KKgDmB,AAGjBTO,AAAmBYkB,AACnBZW,AACACAApKADQ,AAAYPS,AACerEQ,A,M;wCANhBoEU;YACG0BI;AAAkBzEK;sDAWrBZkB;uCAIXmEU;uEAQWnEkB;0FAIyC0CoB;kBAM7BqCmB;SAKbMM;AAAkBzEO;AADZGAAhzBDvGAA76DsBkFW,A,AA+6DjB7FAAh2DN8FG,A,UAm2DatFAA/2DbwFG,A,AAk3DYqDI,+C;AAsyBxBiBO;AAEcpDkB;AAGdoDU;4BAMqBkBiB;AAEZ1BQ;sBAGTQO;2BAE4BvDc;AAChBpGAA9uFuBkFY,A;AAgvF/ByEO;YAGmCbK;cAInCaO;+BA+BKRa;AAnBY0B2B;uCAwBI1BU;aAIbAU;cAIRQU;WAIJAU;YAKKRU;iBAGIAwB;AAC0BamB;AACbAK;SACc5DM;AACmBxBAA3iFlBhfc,A;AA4iFfoeM;AAEAHM;AAEADK;AACpB+FO;2BASAAO;OAGyBtEY;kFAgCnB8Dc;UAERQO;AAAsBxHM;AAAgB0IY;iBAItClBO;AAAsB5HM;AAAc8IY;0EAOnB7FgB;AAAmBoEI;MACtByBI;AAAkBzEM;AACPlBY;2DAiBK8EK;8FASZjFQ;8BAEAFI;sBAOAEQ;+BAGAFI;wBAOL7EAAj6FsBkFG,A;4BAm6FR7FAAp1Ff8FE,A;IAq1FY/FM;AACP2FQ;gBAEDIK;SAIE9FAA51FN8FM,A;AA61FDnFAA56FwBkFQ,A;wFAm7FbpFU;AACPiFQ;QAEDIK;qEAwDDpF8B;AACG4IW;YAET7G8B;AACF8GW;0GA8DLrM0B;sBAEYyDAAljGuBkFG,A;wCAyjGnCj1BAA4ZE+vBG,A;0CAtZemFE;AADHvFAAx7FFsFc,A;YA67FAlFAAnkGuBkFsB,A;iCA2kGRzFAA99Ff0FQ,A;0EAu+FM1FAAv+FN0FY,A;wBA2+FMxEAAr/FNwEY,A;qCA6/FIxEAA7/FJwEY,A;qEAghGI1FAAtgGJ0Fa,A;2FAkhGQ/EAAvhGR+EY,A;yBAkiGa1FAA7hGb0FS,A;+FAyiGiB/EAA9iGjB+EQ,A;+IAskGIxFM;AACAAM;AACGoFgB;AACAAQ;SAGkBDwB;AACAAwB;oBAGjBKO;AACAAI;kEAOkBzFAApkG1ByFM,A;AAqkGNzFAArkGMyFQ,A;sQAgmGM3EAA1mGN2EQ,A;AA2mGM3EAA3mGN2EU,A;aAgnGsB3FO;AACAAM;AAGdeM;AAEAAM;AACewEW;AACAAQ;yBAMf7EM;AAEAAM;AACe6EW;AACAAQ;wCAKAFI;YACbMgB;6BAOaNI;YACbMkB;6BASbNM;YACaMgB;YAMOlFM;AACAAM;AACP8EW;AACAAQ;0BAIFMS;0BAGEAI;2BAIEJM;qCAMcJM;sBAENAM;YACbMkB;+BAQRFM;0DASIpFAAvvGHwFM,A;AAwvGGxFAAxvGHwFQ,A;WAswGOrGAAnhDL2LG,I;2CAshDCtFI;YAIMoDI;uBAEH1DQ;AACWvPoBAsLA8Oa,AAAjB0FK,A;+BApLW3EK;wBAITvFQ;gBAOFAW;AACAAQ;8BAWIiFQ;2BAUAIO;AACAAU;6CAwCA9EM;AACAAM;AACA0EgB;AACAAQ;aAEFzEAA30GF+EM,A;AA40GE/EAA50GF+EG,A;oCAg1GMFO;AACAAU;iCASPnFAAn7GwBkF+B,A;sCAu7GIvEAAp1G3BwEK,A;eAq1G+B1FAA30G/B0FI,A;uBAu1GiB5I+B;uBAQlByDAA58GwBkFG,A;qDA+/G1B6D4B;AACEhEQ;oBAEEMI;4CAOgBfa;AAAjB0FI;grBO/pHRrLS;4BA2BR/YU;wBAwGOASApCSsZAAAAtZyB,A,a;uCAmDC+gBE;+BAqBjBhBwG;oCAUACgC;gIA4BmBhgBoB;AAAAueW;8HAiCPjRK;mLC0PImOiB;AACItDG;cAIE7G0D;wIAyBNmKkB;AACItDI;mBAIE7G0D;2GAuBbjlBgB;uFAuIkB4uBqB;gCAGYjCG;AACxByIM;sHA+BcIG;2CACD9CK;0CAIb0CM;mDA4EIGG;uLAkBTyCwB;wBAMgBzIe;AACFwBsB;AACZhFyB;gDAcIgFwB;iBAEVmBiB;AAGAXmB;sQG72BQPU;iBAUqBrdqB;qCAKrBqdU;sFAoBkBrdiB;6IAuD3B3TW;iBCi5EG2TqB;OAAAAU;uCExsDFAAD/tBgBsN0B,AAAX+XU,A;uPA+YN5DS;0lFGpZUzhBmB;oHAoBNyWG;uYCsLsCqKyDrBxRtCmCYA6EiC+B2B,A,A;0DqBub1BzCgB;AAED1DO;0BAGFAO;oBAGEAU;4IhB/dJLAgByLSiGAvB4NX/BiB,A,A;QOnZA7FO;8jBkB6vBCuImB;8EAqBcplBc;oBAGpBolB6B;wDAMK3OG;0lDE10BiBzWe;mDCfP2fARsJX3f+C,A;gBQ9IQqZuK;AAEEkLACwFUvkBO,A;kBDxFVukBACwFUvkBa,A;yBDpF5BAO;2IAoBAqjBAAX+BrG2B,AAAkBuHQRiczBvkBW,A,A;+bWtda4gBmE;yBAMAC+C;0MhCuSLuCW;gBAqB5BjCe;qjBGxEFtBqB;sDA2CO7fY;QAAAA2B;qEA2ZqB4iBe;gBAaF5iBoB;QAAAAW;oqCE3rBAAkB;wBAAAAgC;mBA+IxBAqD;sOA4LwBAU;6CAAAAa;k6BJgvCEuiB+B;qrBAq6BwB9De;8BAOlC7BiC;AACAwGS;m5CMz4EXjjCiB;iBAAAAAAoZ0Bu+BqB,A;eA9YD/pBMAsZZ+pBqB,A;2aOlbhBrDkB;sPAsKArbc;8PgBpFAqiBW;AACSriBYVmfIsNI,AADnBtNAAAAA+B,A,A;YUhfyBAAA1KnBAATyzBAAAD/tBgBsN0B,AAAX+XU,A,A,uBUhGXrlBAAAAAc,A,A;AAkLEwXwE;kDAgCaxXQ;AADTqiBU;mEAIOriByD;+BAgEP+bG;qCAIADG;kDAaE5CI;iEAMAiE6E;qDAUFrBS;sBAOAuGkB;mGAkB0CtGS;OAIjC/bQ;AADT+bU;0DAQADG;0BACAZW;4BAMEYS;+IfpNDiGW;oBACEhDW;AAA6B9FI;8CAazB8FK;gGAQL8CU;oTAsIkBvUW;kGAoBAtNuC;OACPwWwD;uDASOxW+B;OACP4kByD;2GAoGblIG;6CAQiBvEQ;AACLyDY;qBAQdvvBgB;+EAQEqwBG;kGAiBiBvEQ;AACLyDY;gCAQdvvBgB;2RAgKFkyBW;kCAQAZmB;gGA8DAtxBmB;iGAwBAAmB;yjBAwEyBs1BGAjnBlB5CS,AAAUHa,A;8BAmnBwB5FE;2BACDAQ;mDAOc4CiB;AAC3BXmB;IACqBjCI;+LAkBjB0IC;IAAAAAA1rBxB3CQ,AAA+BhCO,A;8HAmsBC/DS;iBAElB8IAA3sBdhFU,A;wDAgtBsB9Da;yFIiaHhZ6B;kKAQpBqYU;uBAAAAAJtoBJkGW,S;wCM5HGhDU;0DAUAAW;AAGmBvbG;uFAkBpBubkB;QAYKvbQ;AADLqiBU;wDAIGriBiD;uCA2GFgcU;sJAgBLhBADtQsBiBI,Q;YCsQtBjBqC;yBAgEIOU;yCAQAAU;4GAyBsBvbY;qBA6CImVkB;2JD/rBXoNsB;6BA2Jf/GG;mDAIcxbY;qDAgDSAG;2BAEtBmbG;mEAciBcI;gFA6FlBdoB;iDAEoBwBgCA/L2B4FkB,A;sEA0M5BtGY;iGA4BnBpDmB;qBAAAAmB;oHA6GA4JG;uMAWFnBmCA6BFgCI,A;MA7BEhCAA6BFgCG,A;iUJ66BE7BU;0GAYAAU;ogBMv+CKzhBmB;8CAAAAoB;qFAU8BobS;6EAGHAS;8bAqDhCkC2BAOShFAAoOe0JwB,A,iH;qlBAhCf1JAAgCe0JmB,A;yLAmEnBhiBU;4BAAAAoB;iNa/ZmBAkB;qBAAAAW;QAAAAY;+CA2IUAY;QAAAA6B;eA6WjB4iBe;8RZlafuCmB;AACAAAC0YJrGU,A;ADzYIqGe;s1Bf4WoB/PK;+5BgB5aMgOc;2iBKtC9BxR6B;gCAYoB5RARgFdAI,A;AQhFNgdgC;SACiBkEkB;0DACc9JY;EAC7B4FoB;AAAApLARmjBG6KG,qBACLlFkDAsD6BvXY,A,A;6CQtlB3BmkBAAZFllBAAlCFmiBc,AAAcjKqB,AAA6CEa,qC,A;AAiDvDlYAa1CFskBgE,A;qsTzCixCiBE0G;CAAAAG;6DAUAC8G;CAAAAG;2DAUACuD;CAAAAG;6DAUAC2D;CAAAAG;" } } From 092ee8bdd23fe7a36dddfa31cda2674f3b9431ed Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Thu, 12 Dec 2024 11:56:34 +0100 Subject: [PATCH 10/30] ++ --- example/lib/loopback.dart | 3 +-- example/pubspec.lock | 30 +++++++++++++++--------------- example/web/index.html | 1 + 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/example/lib/loopback.dart b/example/lib/loopback.dart index 8d23ef7..f348744 100644 --- a/example/lib/loopback.dart +++ b/example/lib/loopback.dart @@ -119,7 +119,6 @@ class _LoopBackState extends State { Future init() async { /// Initialize the player and the recorder. - soloud.deinit(); await soloud.init(channels: Channels.mono, sampleRate: sampleRate); // soloud.filters.echoFilter.activate(); // soloud.filters.echoFilter.delay.value = 0.1; @@ -210,7 +209,7 @@ class _LoopBackState extends State { // if (echoCancellation) EchoCancellationSliders(), - // const Bars(), + const Bars(), ], ); } diff --git a/example/pubspec.lock b/example/pubspec.lock index a8f5a06..f453a6d 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -37,10 +37,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" cupertino_icons: dependency: "direct main" description: @@ -122,18 +122,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -314,7 +314,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_span: dependency: transitive description: @@ -327,10 +327,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -343,10 +343,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -359,10 +359,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" typed_data: dependency: transitive description: @@ -391,10 +391,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" web: dependency: transitive description: diff --git a/example/web/index.html b/example/web/index.html index 1945db1..446719c 100644 --- a/example/web/index.html +++ b/example/web/index.html @@ -34,6 +34,7 @@ + From df007a5e66c40383832a01eafd3ba169136935cc Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Fri, 13 Dec 2024 11:43:07 +0100 Subject: [PATCH 11/30] WASM JS Module renamed --- CHANGELOG.md | 11 ++- example/lib/loopback.dart | 12 ++- example/lib/main.dart | 70 +++++++++++------- example/pubspec.lock | 2 +- example/pubspec.yaml | 1 + lib/src/bindings/js_extension.dart | 108 ++++++++++++++++----------- lib/src/bindings/recorder.dart | 2 +- lib/src/bindings/recorder_io.dart | 2 +- lib/src/bindings/recorder_web.dart | 5 +- lib/src/flutter_recorder.dart | 109 ++++++++++++++++++++++++++-- lib/src/worker/worker.dart | 2 +- pubspec.yaml | 1 + src/filters/autogain.cpp | 108 ++++++++++++++------------- src/flutter_recorder.cpp | 35 ++++++--- src/wav.h | 54 +++++++------- web/compile_wasm.sh | 3 +- web/libflutter_recorder_plugin.js | 20 ++++- web/libflutter_recorder_plugin.wasm | Bin 274011 -> 273980 bytes 18 files changed, 364 insertions(+), 181 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cb77d0..4a93d3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,14 @@ +## 0.9.3 +- added `autoGain` filter +- breaking change: + - the `init` method is now async + ## 0.9.2 -* fix: the stop was instead einit the device -* fix: removed dialog when stopping stream in the example +- fix: the stop was instead einit the device +- fix: removed dialog when stopping stream in the example ## 0.9.1 -* breaking change: +- breaking change: - renamed `startListen` to `start` - renamed `stopListen` to `stop` - renamed `isDeviceStartedListen` to `isDeviceStarted` diff --git a/example/lib/loopback.dart b/example/lib/loopback.dart index f348744..aee621d 100644 --- a/example/lib/loopback.dart +++ b/example/lib/loopback.dart @@ -12,8 +12,6 @@ import 'package:permission_handler/permission_handler.dart'; /// If you want to try other formats than `f32le`, you must comment out /// the `Bars()` widget. /// -/// No web support yet. -/// /// The `Echo Cancellation` code is not yet ready and don't know if it will be! void main() async { runApp( @@ -124,12 +122,12 @@ class _LoopBackState extends State { // soloud.filters.echoFilter.delay.value = 0.1; // soloud.filters.echoFilter.decay.value = 0.2; + await recorder.init( + format: recorderFormat, + sampleRate: sampleRate, + channels: recorderChannels, + ); recorder - ..init( - format: recorderFormat, - sampleRate: sampleRate, - channels: recorderChannels, - ) ..start() ..startStreamingData(); diff --git a/example/lib/main.dart b/example/lib/main.dart index bb823d5..9b95486 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,10 +1,11 @@ import 'dart:io'; +import 'dart:developer' as dev; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - import 'package:flutter_recorder/flutter_recorder.dart'; import 'package:flutter_recorder_example/ui/bars.dart'; +import 'package:logging/logging.dart'; import 'package:open_filex/open_filex.dart'; import 'package:path_provider/path_provider.dart'; import 'package:permission_handler/permission_handler.dart'; @@ -14,6 +15,23 @@ import 'package:permission_handler/permission_handler.dart'; /// The silence detection and the visualizer works when using [PCMFormat.f32]. /// Writing audio stream to file is not implemented on Web. void main() async { + // The `flutter_soloud` package logs everything + // (from severe warnings to fine debug messages) + // using the standard `package:logging`. + // You can listen to the logs as shown below. + Logger.root.level = kDebugMode ? Level.FINE : Level.INFO; + Logger.root.onRecord.listen((record) { + dev.log( + record.message, + time: record.time, + level: record.level.value, + name: record.loggerName, + zone: record.zone, + error: record.error, + stackTrace: record.stackTrace, + ); + }); + runApp( MaterialApp( home: Scaffold( @@ -38,7 +56,7 @@ class _MyAppState extends State { final format = PCMFormat.f32le; final sampleRate = 22050; final channels = RecorderChannels.mono; - final _recorder = Recorder.instance; + final recorder = Recorder.instance; String? filePath; var thresholdDb = -20.0; var silenceDuration = 2.0; @@ -59,7 +77,7 @@ class _MyAppState extends State { } /// Listen to audio data stream. The data is received in Uint8List. - _recorder.uint8ListStream.listen((data) { + recorder.uint8ListStream.listen((data) { /// Write the PCM data to file. It can then be imported with the correct /// parameters with for example Audacity. /// Not testing on Web platform. @@ -94,9 +112,9 @@ class _MyAppState extends State { child: const Text('listCaptureDevices'), ), OutlinedButton( - onPressed: () { + onPressed: () async{ try { - _recorder.init( + await recorder.init( format: format, sampleRate: sampleRate, channels: channels, @@ -110,7 +128,7 @@ class _MyAppState extends State { OutlinedButton( onPressed: () { try { - _recorder.start(); + recorder.start(); } on Exception catch (e) { debugPrint('-------------- start() error: $e\n'); } @@ -119,7 +137,7 @@ class _MyAppState extends State { ), OutlinedButton( onPressed: () { - _recorder.deinit(); + recorder.deinit(); }, child: const Text('deinit'), ), @@ -141,9 +159,9 @@ class _MyAppState extends State { if (!kIsWeb) { final downloadsDir = await getDownloadsDirectory(); filePath = '${downloadsDir!.path}/flutter_recorder.wav'; - _recorder.startRecording(completeFilePath: filePath!); + recorder.startRecording(completeFilePath: filePath!); } else { - _recorder.startRecording(); + recorder.startRecording(); } } on Exception catch (e) { debugPrint('-------------- startRecording() $e\n'); @@ -153,19 +171,19 @@ class _MyAppState extends State { ), ElevatedButton( onPressed: () { - _recorder.setPauseRecording(pause: true); + recorder.setPauseRecording(pause: true); }, child: const Text('Pause recording'), ), ElevatedButton( onPressed: () { - _recorder.setPauseRecording(pause: false); + recorder.setPauseRecording(pause: false); }, child: const Text('UN-Pause recording'), ), ElevatedButton( onPressed: () { - _recorder.stopRecording(); + recorder.stopRecording(); if (!kIsWeb) { debugPrint('Audio recorded to "$filePath"'); showFileRecordedDialog(filePath!); @@ -185,7 +203,7 @@ class _MyAppState extends State { CircularProgressIndicator(), OutlinedButton( onPressed: () async { - _recorder.startStreamingData(); + recorder.startStreamingData(); if (!kIsWeb) { savingDir = await getDownloadsDirectory(); @@ -211,7 +229,7 @@ class _MyAppState extends State { ), OutlinedButton( onPressed: () { - _recorder.stopStreamingData(); + recorder.stopStreamingData(); }, child: const Text('stop stream'), ), @@ -227,7 +245,7 @@ class _MyAppState extends State { Column( children: [ StreamBuilder( - stream: _recorder.silenceChangedEvents, + stream: recorder.silenceChangedEvents, builder: (context, snapshot) { return ColoredBox( color: snapshot.hasData && snapshot.data!.isSilent @@ -238,7 +256,7 @@ class _MyAppState extends State { height: 50, child: Center( child: Text( - _recorder.getVolumeDb().toStringAsFixed(1)), + recorder.getVolumeDb().toStringAsFixed(1)), ), ), ); @@ -251,7 +269,7 @@ class _MyAppState extends State { children: [ OutlinedButton( onPressed: () { - _recorder.setSilenceDetection( + recorder.setSilenceDetection( enable: true, onSilenceChanged: (isSilent, decibel) { /// Here you can check if silence is changed. @@ -260,9 +278,9 @@ class _MyAppState extends State { // debugPrint('SILENCE CHANGED: $isSilent, $decibel'); }, ); - _recorder.setSilenceThresholdDb(-27); - _recorder.setSilenceDuration(0.5); - _recorder.setSecondsOfAudioToWriteBefore(0.0); + recorder.setSilenceThresholdDb(-27); + recorder.setSilenceDuration(0.5); + recorder.setSecondsOfAudioToWriteBefore(0.0); setState(() { thresholdDb = -27; silenceDuration = 0.5; @@ -274,7 +292,7 @@ class _MyAppState extends State { ), OutlinedButton( onPressed: () { - _recorder.setSilenceDetection(enable: false); + recorder.setSilenceDetection(enable: false); }, child: const Text('setSilenceDetection OFF'), ), @@ -283,7 +301,7 @@ class _MyAppState extends State { OutlinedButton( onPressed: () { - _recorder.filters.autoGainFilter.activate(); + recorder.filters.autoGainFilter.activate(); }, child: const Text('autogain'), ), @@ -300,7 +318,7 @@ class _MyAppState extends State { max: 0, label: thresholdDb.toStringAsFixed(1), onChanged: (value) { - _recorder.setSilenceThresholdDb(value); + recorder.setSilenceThresholdDb(value); setState(() { thresholdDb = value; }); @@ -323,7 +341,7 @@ class _MyAppState extends State { max: 10, label: silenceDuration.toStringAsFixed(1), onChanged: (value) { - _recorder.setSilenceDuration(value); + recorder.setSilenceDuration(value); setState(() { silenceDuration = value; }); @@ -346,7 +364,7 @@ class _MyAppState extends State { max: 5, label: silenceDuration.toStringAsFixed(1), onChanged: (value) { - _recorder.setSecondsOfAudioToWriteBefore(value); + recorder.setSecondsOfAudioToWriteBefore(value); setState(() { secondsOfAudioToWriteBefore = value; }); @@ -397,7 +415,7 @@ class _MyAppState extends State { } Future showDeviceListDialog() async { - final devices = _recorder.listCaptureDevices(); + final devices = recorder.listCaptureDevices(); String devicesString = devices.asMap().entries.map((entry) { return '${entry.value.id} ${entry.value.isDefault ? 'DEFAULT' : ''} - ' ' ${entry.value.name}'; diff --git a/example/pubspec.lock b/example/pubspec.lock index f453a6d..08d5c9c 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -151,7 +151,7 @@ packages: source: hosted version: "5.0.0" logging: - dependency: transitive + dependency: "direct main" description: name: logging sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 diff --git a/example/pubspec.yaml b/example/pubspec.yaml index ee42066..15169b2 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -20,6 +20,7 @@ dependencies: # ref: main cupertino_icons: ^1.0.8 + logging: ^1.3.0 open_filex: ^4.5.0 path_provider: ^2.1.5 permission_handler: ^11.3.1 diff --git a/lib/src/bindings/js_extension.dart b/lib/src/bindings/js_extension.dart index 883f532..aba4b0b 100644 --- a/lib/src/bindings/js_extension.dart +++ b/lib/src/bindings/js_extension.dart @@ -1,37 +1,63 @@ // ignore_for_file: public_member_api_docs, avoid_positional_boolean_parameters +import 'dart:async'; import 'dart:js_interop'; +import 'dart:js_util'; +import 'package:flutter/foundation.dart'; import 'package:web/web.dart' as web; +@JS('RecorderModule') +external JSObject getRecorderModule(); + +@JS('RecorderModule') +external JSObject recorderModuleConstructor(); // Represents the IIFE + +@JS('self.RecorderModule') // Attach RecorderModule to the global scope +external set globalRecorderModule(JSObject module); + +Future initializeRecorderModule() async { + try { + // Convert JavaScript Promise to Dart Future + final promise = recorderModuleConstructor(); + final module = await promiseToFuture(promise); + globalRecorderModule = module; // Make it globally accessible + debugPrint('RecorderModule initialized and set globally.'); + return module; // Return the initialized module + } catch (e) { + debugPrint('Failed to initialize RecorderModule: $e'); + rethrow; + } +} + // ////////////////////////// // common // ////////////////////////// -@JS('Module._malloc') +@JS('RecorderModule._malloc') external int wasmMalloc(int bytesCount); -@JS('Module._free') +@JS('RecorderModule._free') external void wasmFree(int ptrAddress); -@JS('Module.getValue') +@JS('RecorderModule.getValue') external int wasmGetI32Value(int ptrAddress, String type); -@JS('Module.getValue') +@JS('RecorderModule.getValue') external double wasmGetF32Value(int ptrAddress, String type); -@JS('Module.UTF8ToString') +@JS('RecorderModule.UTF8ToString') external String wasmUtf8ToString(int ptrAddress); -@JS('Module.setValue') +@JS('RecorderModule.setValue') external void wasmSetValue(int ptrAddress, int value, String type); -@JS('Module.cwrap') +@JS('RecorderModule.cwrap') external JSFunction wasmCwrap( JSString fName, JSString returnType, JSArray argTypes, ); -@JS('Module.ccall') +@JS('RecorderModule.ccall') external JSFunction wasmCccall( JSString fName, JSString returnType, @@ -39,37 +65,37 @@ external JSFunction wasmCccall( JSArray args, ); -@JS('Module._createWorkerInWasm') +@JS('RecorderModule._createWorkerInWasm') external void wasmCreateWorkerInWasm(); -@JS('Module._setDartEventCallback') +@JS('RecorderModule._setDartEventCallback') external void wasmSetDartEventCallback(int callbackPtr, int callbackPtr2); -@JS('Module._sendToWorker') +@JS('RecorderModule._sendToWorker') external void wasmSendToWorker(int message, int value); -@JS('Module.wasmWorker') +@JS('RecorderModule.wasmWorker') external web.Worker wasmWorker; // ////////////////////////// // bindings // ////////////////////////// -@JS('Module._setSilenceDetection') +@JS('RecorderModule._setSilenceDetection') external void wasmSetSilenceDetection(bool enable); -@JS('Module._setSilenceThresholdDb') +@JS('RecorderModule._setSilenceThresholdDb') external void wasmSetSilenceThresholdDb(double silenceThresholdDb); -@JS('Module._setSilenceDuration') +@JS('RecorderModule._setSilenceDuration') external void wasmSetSilenceDuration(double silenceDuration); -@JS('Module._setSecondsOfAudioToWriteBefore') +@JS('RecorderModule._setSecondsOfAudioToWriteBefore') external void wasmSetSecondsOfAudioToWriteBefore( double secondsOfAudioToWriteBefore, ); -@JS('Module._listCaptureDevices') +@JS('RecorderModule._listCaptureDevices') external void wasmListCaptureDevices( int namesPtr, int deviceIdPtr, @@ -77,7 +103,7 @@ external void wasmListCaptureDevices( int nDevicePtr, ); -@JS('Module._freeListCaptureDevices') +@JS('RecorderModule._freeListCaptureDevices') external void wasmFreeListCaptureDevices( int namesPtr, int deviceIdPtr, @@ -85,79 +111,79 @@ external void wasmFreeListCaptureDevices( int nDevicePtr, ); -@JS('Module._init') +@JS('RecorderModule._init') external int wasmInit(int deviceID, int format, int sampleRate, int channels); -@JS('Module._deinit') +@JS('RecorderModule._deinit') external void wasmDeinit(); -@JS('Module._isInited') +@JS('RecorderModule._isInited') external int wasmIsDeviceInitialized(); -@JS('Module._isDeviceStarted') +@JS('RecorderModule._isDeviceStarted') external int wasmIsDeviceStarted(); -@JS('Module._start') +@JS('RecorderModule._start') external int wasmStart(); -@JS('Module._stop') +@JS('RecorderModule._stop') external void wasmStop(); -@JS('Module._startStreamingData') +@JS('RecorderModule._startStreamingData') external void wasmStartStreamingData(); -@JS('Module._stopStreamingData') +@JS('RecorderModule._stopStreamingData') external void wasmStopStreamingData(); -@JS('Module._startRecording') +@JS('RecorderModule._startRecording') external int wasmStartRecording(int pathPtr); -@JS('Module._setPauseRecording') +@JS('RecorderModule._setPauseRecording') external void wasmSetPauseRecording(bool pause); -@JS('Module._stopRecording') +@JS('RecorderModule._stopRecording') external void wasmStopRecording(); -@JS('Module._setFftSmoothing') +@JS('RecorderModule._setFftSmoothing') external void wasmSetFftSmoothing(double smooth); -@JS('Module._getFft') +@JS('RecorderModule._getFft') external void wasmGetFft(int samplesPtr); -@JS('Module._getWave') +@JS('RecorderModule._getWave') external void wasmGetWave(int samplesPtr); -@JS('Module._getTexture') +@JS('RecorderModule._getTexture') external void wasmGetTexture(int samplesPtr); -@JS('Module._getTexture2D') +@JS('RecorderModule._getTexture2D') external void wasmGetTexture2D(int samplesPtr); -@JS('Module._getVolumeDb') +@JS('RecorderModule._getVolumeDb') external void wasmGetVolumeDb(int volumeDbPtr); -@JS('Module._isFilterActive') +@JS('RecorderModule._isFilterActive') external int wasmIsFilterActive(int filterTypeId); -@JS('Module._addFilter') +@JS('RecorderModule._addFilter') external int wasmAddFilter(int filterTypeId); -@JS('Module._removeFilter') +@JS('RecorderModule._removeFilter') external int wasmRemoveFilter(int filterTypeId); -@JS('Module._getFilterParamNames') +@JS('RecorderModule._getFilterParamNames') external int wasmGetFilterParamNames( int filterTypeId, int namesPtr, int paramsCountPtr, ); -@JS('Module._setFilterParamValue') +@JS('RecorderModule._setFilterParams') external void wasmSetFilterParamValue( int filterTypeId, int attributeId, double value, ); -@JS('Module._getFilterParamValue') +@JS('RecorderModule._getFilterParams') external double wasmGetFilterParamValue(int filterTypeId, int attributeId); diff --git a/lib/src/bindings/recorder.dart b/lib/src/bindings/recorder.dart index 060ed65..2f119ab 100644 --- a/lib/src/bindings/recorder.dart +++ b/lib/src/bindings/recorder.dart @@ -44,7 +44,7 @@ abstract class RecorderImpl { /// Set Dart functions to call when an event occurs. @mustBeOverridden - void setDartEventCallbacks(); + FutureOr setDartEventCallbacks(); /// Enable or disable silence detection. /// diff --git a/lib/src/bindings/recorder_io.dart b/lib/src/bindings/recorder_io.dart index 3e8a23d..ade65f6 100644 --- a/lib/src/bindings/recorder_io.dart +++ b/lib/src/bindings/recorder_io.dart @@ -74,7 +74,7 @@ class RecorderFfi extends RecorderImpl { ffi.NativeCallable? nativeStreamDataCallable; @override - void setDartEventCallbacks() { + Future setDartEventCallbacks() async { // Create a NativeCallable for the Dart functions final nativeSilenceChangedCallable = ffi.NativeCallable.listener( diff --git a/lib/src/bindings/recorder_web.dart b/lib/src/bindings/recorder_web.dart index 2f1176f..2ce114f 100644 --- a/lib/src/bindings/recorder_web.dart +++ b/lib/src/bindings/recorder_web.dart @@ -34,7 +34,8 @@ class RecorderWeb extends RecorderImpl { /// Create the worker in the WASM Module and listen for events coming /// from `web/worker.dart.js` @override - void setDartEventCallbacks() { + Future setDartEventCallbacks() async{ + await initializeRecorderModule(); // This calls the native WASM `createWorkerInWasm()` in `bindings.cpp`. // The latter creates a web Worker using `EM_ASM` inlining JS code to // create the worker in the WASM `Module`. @@ -42,7 +43,7 @@ class RecorderWeb extends RecorderImpl { wasmSetDartEventCallback(0, 0); - // Here the `Module.wasmModule` binded to a local [WorkerController] + // Here the `RecorderModule.wasmModule` binded to a local [WorkerController] // is used in the main isolate to listen for events coming from native. // From native the events can be sent from the main thread and even from // other threads like the audio thread. diff --git a/lib/src/flutter_recorder.dart b/lib/src/flutter_recorder.dart index d13d57d..31dbfa0 100644 --- a/lib/src/flutter_recorder.dart +++ b/lib/src/flutter_recorder.dart @@ -7,6 +7,7 @@ import 'package:flutter_recorder/src/bindings/recorder.dart'; import 'package:flutter_recorder/src/enums.dart'; import 'package:flutter_recorder/src/exceptions/exceptions.dart'; import 'package:flutter_recorder/src/filters/filters.dart'; +import 'package:logging/logging.dart'; /// Callback when silence state is changed. typedef SilenceCallback = void Function(bool isSilent, double decibel); @@ -20,6 +21,8 @@ interface class Recorder { /// instantiating new instances. Recorder._(); + static final Logger _log = Logger('flutter_recorder.Recorder'); + /// The singleton instance of [Recorder]. Only one Recorder instance /// can exist in C++ land, so – for consistency and to avoid confusion /// – only one instance can exist in Dart land. @@ -62,10 +65,52 @@ interface class Recorder { /// ``` static final Recorder instance = Recorder._(); + /// This can be used to access all the available filter functionalities. + /// + /// ```dart + /// final recorder = await Recorder.instance.init(); + /// ... + /// /// activate the filter. + ///recorder.filters.autoGainFilter.activate(); + /// + /// /// Later on, deactivate it. + /// recorder.filters.autoGainFilter.deactivate(); + /// ``` + /// + /// It's possible to get and set filter parameters: + /// ```dart + /// /// Set + /// recorder.filters.autoGainFilter.targetRms.value = 0.6; + /// /// Get + /// final targetRmsValue = recorder.filters.autoGainFilter.targetRms.value; + /// ``` + /// + /// It's possible to query filter parameters: + /// ```dart + /// final targetRms = recorder.filters.autoGainFilter.queryTargetRms; + /// ``` + /// + /// Now with `targetRms` you have access to: + /// - `toString()` gives the "human readable" parameter name. + /// - `min` which represent the minimum accepted value. + /// - `max` which represent the maximum accepted value. + /// - `def` which represent the default value. final filters = const Filters(); final _recoreder = RecorderController(); + /// Whether the device is started. + bool _isStarted = false; + + /// Currently used recorder configuration. + PCMFormat _recorderFormat = PCMFormat.s16le; + + /// Currently used recorder configuration. + int _recorderSampleRate = 22050; + + /// Currently used recorder configuration. + RecorderChannels _recorderChannels = RecorderChannels.mono; + /// Listening to silence state changes. Stream get silenceChangedEvents => _recoreder.impl.silenceChangedEvents; @@ -150,23 +195,27 @@ interface class Recorder { /// /// Thows [RecorderInitializeFailedException] if something goes wrong, ie. no /// device found with [deviceID] id. - void init({ + Future init({ int deviceID = -1, PCMFormat format = PCMFormat.s16le, int sampleRate = 22050, RecorderChannels channels = RecorderChannels.mono, - }) { + }) async { + await _recoreder.impl.setDartEventCallbacks(); _recoreder.impl.init( deviceID: deviceID, format: format, sampleRate: sampleRate, channels: channels, ); - _recoreder.impl.setDartEventCallbacks(); + _recorderFormat = format; + _recorderSampleRate = sampleRate; + _recorderChannels = channels; } /// Dispose capture device. void deinit() { + _isStarted = false; _recoreder.impl.deinit(); } @@ -177,7 +226,9 @@ interface class Recorder { /// Whether the device is started. bool isDeviceStarted() { - return _recoreder.impl.isDeviceStarted(); + // ignore: join_return_with_assignment + _isStarted = _recoreder.impl.isDeviceStarted(); + return _isStarted; } /// Start the device. @@ -189,10 +240,12 @@ interface class Recorder { /// Throws [RecorderFailedToStartDeviceException]. void start() { _recoreder.impl.start(); + _isStarted = true; } /// Stop the device. void stop() { + _isStarted = false; _recoreder.impl.stop(); } @@ -249,33 +302,73 @@ interface class Recorder { /// Return a 256 float array containing FFT data in the range [-1.0, 1.0] /// not clamped. - /// + /// /// **NOTE**: use this only with format [PCMFormat.f32le]. Float32List getFft() { + if (!_isStarted) { + _log.warning(() => 'Recorder is not started.'); + return Float32List(256); + } + if (_recorderFormat != PCMFormat.f32le) { + _log.warning( + () => 'getFft: FFT data can be get only with f32le format.', + ); + return Float32List(256); + } return _recoreder.impl.getFft(); } /// Return a 256 float array containing wave data in the range [-1.0, 1.0] /// not clamped. - /// + /// /// **NOTE**: use this only with format [PCMFormat.f32le]. Float32List getWave() { + if (!_isStarted) { + _log.warning(() => 'Recorder is not started.'); + return Float32List(256); + } + if (_recorderFormat != PCMFormat.f32le) { + _log.warning( + () => 'getWave: wave data can be get only with f32le format.', + ); + return Float32List(256); + } return _recoreder.impl.getWave(); } /// Get the audio data representing an array of 256 floats FFT data and /// 256 float of wave data. - /// + /// /// **NOTE**: use this only with format [PCMFormat.f32le]. Float32List getTexture2D() { + if (!_isStarted) { + _log.warning(() => 'Recorder is not started.'); + return Float32List(256); + } + if (_recorderFormat != PCMFormat.f32le) { + _log.warning( + () => 'getTexture2D: texture can be get only with f32le format.', + ); + return Float32List(256); + } return _recoreder.impl.getTexture2D(); } /// Get the current volume in dB. Returns -100 if the capture is not inited. /// 0 is the max volume the capture device can handle. - /// + /// /// **NOTE**: use this only with format [PCMFormat.f32le]. double getVolumeDb() { + if (!_isStarted) { + _log.warning(() => 'Recorder is not started.'); + return -100; + } + if (_recorderFormat != PCMFormat.f32le) { + _log.warning( + () => 'getVolumeDb: volume can be get only with f32le format.', + ); + return -100; + } return _recoreder.impl.getVolumeDb(); } diff --git a/lib/src/worker/worker.dart b/lib/src/worker/worker.dart index 21c95ef..289b35f 100644 --- a/lib/src/worker/worker.dart +++ b/lib/src/worker/worker.dart @@ -36,7 +36,7 @@ class WorkerController { }).toJS; } - /// Not used with `Module.wasmWorker`. + /// Not used with `RecorderModule.wasmWorker`. void sendMessage(dynamic message) { switch (message) { case Map(): diff --git a/pubspec.yaml b/pubspec.yaml index 8da16f1..1fe76ef 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -31,6 +31,7 @@ dependencies: ffi: ^2.1.3 flutter: sdk: flutter + logging: ^1.3.0 meta: ^1.12.0 plugin_platform_interface: ^2.0.2 web: ^1.1.0 diff --git a/src/filters/autogain.cpp b/src/filters/autogain.cpp index 810485d..f3c86a6 100644 --- a/src/filters/autogain.cpp +++ b/src/filters/autogain.cpp @@ -118,8 +118,8 @@ void AutoGain::process(void *pInput, ma_uint32 frameCount, unsigned int channels // mCurrentGain += delta * getParamValue(GainSmoothing); // } - printf("currentRMS: %f smoothedRMS: %f targetGain: %f currentGain: %f\n", - currentRMS, mSmoothedRMS, targetGain, mCurrentGain); + // printf("currentRMS: %f smoothedRMS: %f targetGain: %f currentGain: %f\n", + // currentRMS, mSmoothedRMS, targetGain, mCurrentGain); // Apply the gain to the input buffer applyGain((void *)pInput, frameCount, channels, format); @@ -192,59 +192,63 @@ void AutoGain::applyGain(void *pInput, ma_uint32 frameCount, unsigned int channe switch (format) { - case ma_format_u8: - for (ma_uint32 i = 0; i < sampleCount; ++i) - { - float sample = (static_cast(pInput)[i] - 128) / 128.0f * mCurrentGain; - sample = std::clamp(sample, -1.0f, 1.0f); - static_cast(pInput)[i] = static_cast((sample * 128.0f) + 128); - } - break; - case ma_format_s16: - for (ma_uint32 i = 0; i < sampleCount; ++i) - { - float sample = static_cast(pInput)[i] / 32768.0f * mCurrentGain; - sample = std::clamp(sample, -1.0f, 1.0f); - static_cast(pInput)[i] = static_cast(sample * 32768.0f); - } - break; - case ma_format_s24: - for (ma_uint32 i = 0; i < sampleCount; ++i) - { - // Read the 24-bit signed sample (3 bytes per sample) - uint8_t *samplePtr = static_cast(pInput) + i * 3; - int32_t sample = (samplePtr[0] << 8) | (samplePtr[1] << 16) | (samplePtr[2] << 24); // Reassemble to 32-bit signed - sample >>= 8; // Shift to make it a signed 24-bit value + case ma_format_u8: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + float sample = (static_cast(pInput)[i] - 128) / 128.0f * mCurrentGain; + sample = std::clamp(sample, -1.0f, 1.0f); + static_cast(pInput)[i] = static_cast((sample * 128.0f) + 128); + } + break; + case ma_format_s16: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + float sample = static_cast(pInput)[i] / 32768.0f * mCurrentGain; + sample = std::clamp(sample, -1.0f, 1.0f); + static_cast(pInput)[i] = static_cast(sample * 32768.0f); + } + break; + case ma_format_s24: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + // Read the 24-bit signed sample (3 bytes per sample) + uint8_t *samplePtr = static_cast(pInput) + i * 3; + int32_t sample = (samplePtr[0] << 8) | (samplePtr[1] << 16) | (samplePtr[2] << 24); // Reassemble to 32-bit signed + sample >>= 8; // Shift to make it a signed 24-bit value - // Scale and apply gain - float normalizedSample = sample / 8388608.0f; // Scale to -1.0 to +1.0 range - normalizedSample *= mCurrentGain; - normalizedSample = std::clamp(normalizedSample, -1.0f, 1.0f); + // Scale and apply gain + float normalizedSample = sample / 8388608.0f; // Scale to -1.0 to +1.0 range + normalizedSample *= mCurrentGain; + normalizedSample = std::clamp(normalizedSample, -1.0f, 1.0f); - // Convert back to signed 24-bit - int32_t processedSample = static_cast(normalizedSample * 8388608.0f); - processedSample = std::clamp(processedSample, -8388608, 8388607); + // Convert back to signed 24-bit + int32_t processedSample = static_cast(normalizedSample * 8388608.0f); + processedSample = std::clamp(processedSample, -8388608, 8388607); - // Write back the processed sample into 3 bytes - samplePtr[0] = (processedSample & 0xFF0000) >> 16; - samplePtr[1] = (processedSample & 0x00FF00) >> 8; - samplePtr[2] = (processedSample & 0x0000FF); - } - break; - case ma_format_s32: - for (ma_uint32 i = 0; i < sampleCount; ++i) - { - float sample = static_cast(pInput)[i] / 2147483648.0f * mCurrentGain; - sample = std::clamp(sample, -1.0f, 1.0f); - static_cast(pInput)[i] = static_cast(sample * 2147483648.0f); - } - break; - case ma_format_f32: - for (ma_uint32 i = 0; i < sampleCount; ++i) - { - static_cast(pInput)[i] *= mCurrentGain; - } - break; + // Write back the processed sample into 3 bytes + samplePtr[0] = (processedSample & 0xFF0000) >> 16; + samplePtr[1] = (processedSample & 0x00FF00) >> 8; + samplePtr[2] = (processedSample & 0x0000FF); + } + break; + case ma_format_s32: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + float sample = static_cast(pInput)[i] / 2147483648.0f * mCurrentGain; + sample = std::clamp(sample, -1.0f, 1.0f); + static_cast(pInput)[i] = static_cast(sample * 2147483648.0f); + } + break; + case ma_format_f32: + for (ma_uint32 i = 0; i < sampleCount; ++i) + { + static_cast(pInput)[i] *= mCurrentGain; + } + break; + case ma_format_unknown: + break; + case ma_format_count: + break; } } diff --git a/src/flutter_recorder.cpp b/src/flutter_recorder.cpp index 0e35705..0b394b2 100644 --- a/src/flutter_recorder.cpp +++ b/src/flutter_recorder.cpp @@ -28,16 +28,16 @@ dartStreamDataCallback_t nativeStreamDataCallback; /// WEB WORKER #ifdef __EMSCRIPTEN__ -/// Create the web worker and store a global "Module.workerUri" in JS. +/// Create the web worker and store a global "RecorderModule.workerUri" in JS. FFI_PLUGIN_EXPORT void createWorkerInWasm() { EM_ASM({ - if (!Module.wasmWorker) + if (!RecorderModule.wasmWorker) { // Create a new Worker from the URI var workerUri = "assets/packages/flutter_recorder/web/worker.dart.js"; - Module.wasmWorker = new Worker(workerUri); - console.log("EM_ASM creating web worker! " + workerUri + " " + Module.wasmWorker); + RecorderModule.wasmWorker = new Worker(workerUri); + console.log("EM_ASM creating web worker! " + workerUri + " " + RecorderModule.wasmWorker); } else { @@ -50,10 +50,10 @@ FFI_PLUGIN_EXPORT void createWorkerInWasm() FFI_PLUGIN_EXPORT void sendSilenceEventToWorker(const char *message, bool isSilent, float energyDb) { EM_ASM({ - if (Module.wasmWorker) + if (RecorderModule.wasmWorker) { // Send the message - Module.wasmWorker.postMessage({ + RecorderModule.wasmWorker.postMessage({ message : UTF8ToString($0), isSilent : $1, energyDb : $2, @@ -69,12 +69,12 @@ FFI_PLUGIN_EXPORT void sendSilenceEventToWorker(const char *message, bool isSile FFI_PLUGIN_EXPORT void sendStreamToWorker(const char *message, unsigned char *audioData, int audioDataLength) { EM_ASM({ - if (Module.wasmWorker) + if (RecorderModule.wasmWorker) { // Convert audioData to Uint8Array for JavaScript compatibility - const audioDataArray = new Uint8Array(Module.HEAPU8.subarray($1, $1 + $2)); + const audioDataArray = new Uint8Array(RecorderModule.HEAPU8.subarray($1, $1 + $2)); // Send the message and data - Module.wasmWorker.postMessage({ + RecorderModule.wasmWorker.postMessage({ message : UTF8ToString($0), data : audioDataArray, }); @@ -288,17 +288,26 @@ FFI_PLUGIN_EXPORT void stopRecording() FFI_PLUGIN_EXPORT void getVolumeDb(float *volumeDb) { + if (!capture.isInited()) + { + *volumeDb = 0; + return; + } *volumeDb = capture.getVolumeDb(); } FFI_PLUGIN_EXPORT void setFftSmoothing(float smooth) { + if (!capture.isInited()) + return; analyzerCapture.get()->setSmoothing(smooth); } /// Return a 256 float array containing FFT data. FFI_PLUGIN_EXPORT void getFft(float **fft) { + if (!capture.isInited()) + return; float *wave = capture.getWave(); *fft = analyzerCapture.get()->calcFFT(wave); } @@ -306,11 +315,15 @@ FFI_PLUGIN_EXPORT void getFft(float **fft) /// Return a 256 float array containing wave data. FFI_PLUGIN_EXPORT void getWave(float **wave) { + if (!capture.isInited()) + return; *wave = capture.getWave(); } FFI_PLUGIN_EXPORT void getTexture(float *samples) { + if (!capture.isInited()) + return; if (analyzerCapture.get() == nullptr || !capture.isInited()) { memset(samples, 0, sizeof(float) * 512); @@ -332,6 +345,8 @@ FFI_PLUGIN_EXPORT void getTexture(float *samples) float capturedTexture2D[256][512]; FFI_PLUGIN_EXPORT void getTexture2D(float **samples) { + if (!capture.isInited()) + return; if (analyzerCapture.get() == nullptr || !capture.isInited()) { *samples = *capturedTexture2D; @@ -347,6 +362,8 @@ FFI_PLUGIN_EXPORT void getTexture2D(float **samples) FFI_PLUGIN_EXPORT float getTextureValue(int row, int column) { + if (!capture.isInited()) + return .0f; return capturedTexture2D[row][column]; } diff --git a/src/wav.h b/src/wav.h index 100681b..f02e493 100644 --- a/src/wav.h +++ b/src/wav.h @@ -79,7 +79,7 @@ namespace WriteAudio // ma_format_s32 = 4 // ma_format_f32 = 5 - // Store parameters to the WASM Module. + // Store parameters to the WASM RecorderModule. EM_ASM({ let format; switch ($2) { @@ -103,11 +103,11 @@ namespace WriteAudio break; } console.log("EM_ASM init wav! " + $0 + " " + $1 + " " + format); - Module.dataChunks = []; - Module.fileName = "output.wav"; - Module.numChannels = $0; - Module.sampleRate = $1; - Module.format = format; }, deviceConfig.capture.channels, deviceConfig.sampleRate, deviceConfig.capture.format); + RecorderModule.dataChunks = []; + RecorderModule.fileName = "output.wav"; + RecorderModule.numChannels = $0; + RecorderModule.sampleRate = $1; + RecorderModule.format = format; }, deviceConfig.capture.channels, deviceConfig.sampleRate, deviceConfig.capture.format); isRecording = true; return captureNoError; @@ -123,30 +123,30 @@ namespace WriteAudio } let buffer; - switch (Module.format) { + switch (RecorderModule.format) { case 'u8': - buffer = HEAPU8.subarray($0, $0 + $1 * Module.numChannels); + buffer = HEAPU8.subarray($0, $0 + $1 * RecorderModule.numChannels); break; case 's16': - buffer = HEAP16.subarray($0 / 2, ($0 / 2) + $1 * Module.numChannels); + buffer = HEAP16.subarray($0 / 2, ($0 / 2) + $1 * RecorderModule.numChannels); break; case 's24': - buffer = HEAPU8.subarray($0, $0 + $1 * Module.numChannels * 3); + buffer = HEAPU8.subarray($0, $0 + $1 * RecorderModule.numChannels * 3); break; case 's32': - buffer = HEAP32.subarray($0 / 4, ($0 / 4) + $1 * Module.numChannels); + buffer = HEAP32.subarray($0 / 4, ($0 / 4) + $1 * RecorderModule.numChannels); break; case 'f32': default: - buffer = HEAPF32.subarray($0 / 4, ($0 / 4) + $1 * Module.numChannels); + buffer = HEAPF32.subarray($0 / 4, ($0 / 4) + $1 * RecorderModule.numChannels); } - if (!Module.dataChunks) { - Module.dataChunks = []; + if (!RecorderModule.dataChunks) { + RecorderModule.dataChunks = []; } // Add new audio data to the buffer. - Module.dataChunks.push(...buffer); + RecorderModule.dataChunks.push(...buffer); }, bufferPointer, numFrames); } @@ -157,33 +157,33 @@ namespace WriteAudio EM_ASM({ function encodeWAV() { - const numChannels = Module.numChannels; - const sampleRate = Module.sampleRate; + const numChannels = RecorderModule.numChannels; + const sampleRate = RecorderModule.sampleRate; let bitsPerSample; let audioData; let formatCode = 1; // Default to PCM - switch (Module.format) { + switch (RecorderModule.format) { case 'u8': bitsPerSample = 8; - audioData = new Uint8Array(Module.dataChunks); + audioData = new Uint8Array(RecorderModule.dataChunks); break; case 's16': bitsPerSample = 16; - audioData = new Int16Array(Module.dataChunks); + audioData = new Int16Array(RecorderModule.dataChunks); break; case 's24': bitsPerSample = 24; - audioData = new Uint8Array(Module.dataChunks); + audioData = new Uint8Array(RecorderModule.dataChunks); break; case 's32': bitsPerSample = 32; - audioData = new Int32Array(Module.dataChunks); + audioData = new Int32Array(RecorderModule.dataChunks); break; case 'f32': bitsPerSample = 32; formatCode = 3; // Floating-point PCM format - audioData = new Float32Array(Module.dataChunks); + audioData = new Float32Array(RecorderModule.dataChunks); break; default: throw new Error("Formato non supportato"); @@ -193,7 +193,7 @@ namespace WriteAudio const byteRate = sampleRate * blockAlign; let dataSize = audioData.length * (bitsPerSample / 8); const totalFileSize = 44 + dataSize; - if (Module.format == 's24') { + if (RecorderModule.format == 's24') { // If we are using s24 `audioData` is a Uint8Array which reflects the `dataSize`. dataSize = audioData.length; } @@ -232,7 +232,7 @@ namespace WriteAudio // view.setUint8(44 + i * 3 + 2, audioData[i * 3 + 2]); view.setUint8(44 + i, audioData[i]); } else if (bitsPerSample === 32) { - if (Module.format === 'f32') { + if (RecorderModule.format === 'f32') { view.setFloat32(44 + i * 4, audioData[i], true); } else { view.setInt32(44 + i * 4, audioData[i], true); @@ -249,7 +249,7 @@ namespace WriteAudio if (window.showSaveFilePicker) { try { const handle = await window.showSaveFilePicker({ - suggestedName : Module.fileName || 'output.wav', + suggestedName : RecorderModule.fileName || 'output.wav', types : [ { description : 'Audio WAV file', accept : {'audio/wav' : ['.wav']} } ], }); const writable = await handle.createWritable(); @@ -262,7 +262,7 @@ namespace WriteAudio const blob = new Blob([wavFile], { type: 'audio/wav' }); const link = document.createElement('a'); link.href = URL.createObjectURL(blob); - link.download = Module.fileName || 'output.wav'; + link.download = RecorderModule.fileName || 'output.wav'; link.click(); URL.revokeObjectURL(link.href); } diff --git a/web/compile_wasm.sh b/web/compile_wasm.sh index ca1719f..ab9a3d1 100755 --- a/web/compile_wasm.sh +++ b/web/compile_wasm.sh @@ -19,8 +19,9 @@ em++ \ ../../src/filters/filters.cpp \ ../../src/filters/autogain.cpp \ ../../src/filters/echo_cancellation.cpp \ --O3 \ +-s MODULARIZE=1 -s EXPORT_NAME="'RecorderModule'" \ -msimd128 -msse3 \ +-O3 \ -s "EXPORTED_RUNTIME_METHODS=['ccall','cwrap']" \ -s "EXPORTED_FUNCTIONS=['_free', '_malloc']" \ -s EXPORT_ALL=1 -s NO_EXIT_RUNTIME=1 \ diff --git a/web/libflutter_recorder_plugin.js b/web/libflutter_recorder_plugin.js index 05dc5c0..c3f47ee 100644 --- a/web/libflutter_recorder_plugin.js +++ b/web/libflutter_recorder_plugin.js @@ -1 +1,19 @@ -var Module=typeof Module!="undefined"?Module:{};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(binary?data.buffer:data)})})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];function getSafeHeapType(bytes,isFloat){switch(bytes){case 1:return"i8";case 2:return"i16";case 4:return isFloat?"float":"i32";case 8:return isFloat?"double":"i64";default:abort(`getSafeHeapType() invalid bytes=${bytes}`)}}function SAFE_HEAP_STORE(dest,value,bytes,isFloat){if(dest<=0)abort(`segmentation fault storing ${bytes} bytes to address ${dest}`);if(dest%bytes!==0)abort(`alignment error storing to address ${dest}, which was expected to be aligned to a multiple of ${bytes}`);if(runtimeInitialized){var brk=_sbrk(0);if(dest+bytes>brk)abort(`segmentation fault, exceeded the top of the available dynamic heap when storing ${bytes} bytes to address ${dest}. DYNAMICTOP=${brk}`);if(brk<_emscripten_stack_get_base())abort(`brk >= _emscripten_stack_get_base() (brk=${brk}, _emscripten_stack_get_base()=${_emscripten_stack_get_base()})`);if(brk>wasmMemory.buffer.byteLength)abort(`brk <= wasmMemory.buffer.byteLength (brk=${brk}, wasmMemory.buffer.byteLength=${wasmMemory.buffer.byteLength})`)}setValue_safe(dest,value,getSafeHeapType(bytes,isFloat));return value}function SAFE_HEAP_STORE_D(dest,value,bytes){return SAFE_HEAP_STORE(dest,value,bytes,true)}function SAFE_HEAP_LOAD(dest,bytes,unsigned,isFloat){if(dest<=0)abort(`segmentation fault loading ${bytes} bytes from address ${dest}`);if(dest%bytes!==0)abort(`alignment error loading from address ${dest}, which was expected to be aligned to a multiple of ${bytes}`);if(runtimeInitialized){var brk=_sbrk(0);if(dest+bytes>brk)abort(`segmentation fault, exceeded the top of the available dynamic heap when loading ${bytes} bytes from address ${dest}. DYNAMICTOP=${brk}`);if(brk<_emscripten_stack_get_base())abort(`brk >= _emscripten_stack_get_base() (brk=${brk}, _emscripten_stack_get_base()=${_emscripten_stack_get_base()})`);if(brk>wasmMemory.buffer.byteLength)abort(`brk <= wasmMemory.buffer.byteLength (brk=${brk}, wasmMemory.buffer.byteLength=${wasmMemory.buffer.byteLength})`)}var type=getSafeHeapType(bytes,isFloat);var ret=getValue_safe(dest,type);if(unsigned)ret=unSign(ret,parseInt(type.substr(1),10));return ret}function SAFE_HEAP_LOAD_D(dest,bytes,unsigned){return SAFE_HEAP_LOAD(dest,bytes,unsigned,true)}function segfault(){abort("segmentation fault")}function alignfault(){abort("alignment fault")}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){var f="libflutter_recorder_plugin.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["s"];updateMemoryViews();addOnInit(wasmExports["t"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}wasmBinaryFile??=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={31976:()=>{if(!Module.wasmWorker){var workerUri="assets/packages/flutter_recorder/web/worker.dart.js";Module.wasmWorker=new Worker(workerUri);console.log("EM_ASM creating web worker! "+workerUri+" "+Module.wasmWorker)}else{console.log("EM_ASM web worker already created!")}},32266:($0,$1,$2)=>{if(Module.wasmWorker){Module.wasmWorker.postMessage({message:UTF8ToString($0),isSilent:$1,energyDb:$2})}else{console.error("Worker not found.")}},32436:($0,$1,$2)=>{if(Module.wasmWorker){const audioDataArray=new Uint8Array(Module.HEAPU8.subarray($1,$1+$2));Module.wasmWorker.postMessage({message:UTF8ToString($0),data:audioDataArray})}else{console.error("Worker not found.")}},32675:($0,$1,$2,$3,$4)=>{if(typeof window==="undefined"||(window.AudioContext||window.webkitAudioContext)===undefined){return 0}if(typeof window.miniaudio==="undefined"){window.miniaudio={referenceCount:0};window.miniaudio.device_type={};window.miniaudio.device_type.playback=$0;window.miniaudio.device_type.capture=$1;window.miniaudio.device_type.duplex=$2;window.miniaudio.device_state={};window.miniaudio.device_state.stopped=$3;window.miniaudio.device_state.started=$4;miniaudio.devices=[];miniaudio.track_device=function(device){for(var iDevice=0;iDevice0){if(miniaudio.devices[miniaudio.devices.length-1]==null){miniaudio.devices.pop()}else{break}}};miniaudio.untrack_device=function(device){for(var iDevice=0;iDevice{Module._ma_device__on_notification_unlocked(device.pDevice)},error=>{console.error("Failed to resume audiocontext",error)})}}miniaudio.unlock_event_types.map(function(event_type){document.removeEventListener(event_type,miniaudio.unlock,true)})};miniaudio.unlock_event_types.map(function(event_type){document.addEventListener(event_type,miniaudio.unlock,true)})}window.miniaudio.referenceCount+=1;return 1},34833:()=>{if(typeof window.miniaudio!=="undefined"){window.miniaudio.referenceCount-=1;if(window.miniaudio.referenceCount===0){delete window.miniaudio}}},34997:()=>navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined,35101:()=>{try{var temp=new(window.AudioContext||window.webkitAudioContext);var sampleRate=temp.sampleRate;temp.close();return sampleRate}catch(e){return 0}},35272:($0,$1,$2,$3,$4,$5)=>{var deviceType=$0;var channels=$1;var sampleRate=$2;var bufferSize=$3;var pIntermediaryBuffer=$4;var pDevice=$5;if(typeof window.miniaudio==="undefined"){return-1}var device={};var audioContextOptions={};if(deviceType==window.miniaudio.device_type.playback&&sampleRate!=0){audioContextOptions.sampleRate=sampleRate}device.webaudio=new(window.AudioContext||window.webkitAudioContext)(audioContextOptions);device.webaudio.suspend();device.state=window.miniaudio.device_state.stopped;var channelCountIn=0;var channelCountOut=channels;if(deviceType!=window.miniaudio.device_type.playback){channelCountIn=channels}device.scriptNode=device.webaudio.createScriptProcessor(bufferSize,channelCountIn,channelCountOut);device.scriptNode.onaudioprocess=function(e){if(device.intermediaryBufferView==null||device.intermediaryBufferView.length==0){device.intermediaryBufferView=new Float32Array(Module.HEAPF32.buffer,pIntermediaryBuffer,bufferSize*channels)}if(deviceType==miniaudio.device_type.capture||deviceType==miniaudio.device_type.duplex){for(var iChannel=0;iChannelminiaudio.get_device_by_index($0).webaudio.sampleRate,38166:$0=>{var device=miniaudio.get_device_by_index($0);if(device.scriptNode!==undefined){device.scriptNode.onaudioprocess=function(e){};device.scriptNode.disconnect();device.scriptNode=undefined}if(device.streamNode!==undefined){device.streamNode.disconnect();device.streamNode=undefined}device.webaudio.close();device.webaudio=undefined;device.pDevice=undefined},38559:$0=>{miniaudio.untrack_device_by_index($0)},38602:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.resume();device.state=miniaudio.device_state.started},38727:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.suspend();device.state=miniaudio.device_state.stopped},38853:($0,$1)=>{if($0==0||$1<=0){console.error("Invalid buffer pointer or number of frames");return}let buffer;switch(Module.format){case"u8":buffer=HEAPU8.subarray($0,$0+$1*Module.numChannels);break;case"s16":buffer=HEAP16.subarray($0/2,$0/2+$1*Module.numChannels);break;case"s24":buffer=HEAPU8.subarray($0,$0+$1*Module.numChannels*3);break;case"s32":buffer=HEAP32.subarray($0/4,$0/4+$1*Module.numChannels);break;case"f32":default:buffer=HEAPF32.subarray($0/4,$0/4+$1*Module.numChannels)}if(!Module.dataChunks){Module.dataChunks=[]}Module.dataChunks.push(...buffer)},39511:()=>{function encodeWAV(){const numChannels=Module.numChannels;const sampleRate=Module.sampleRate;let bitsPerSample;let audioData;let formatCode=1;switch(Module.format){case"u8":bitsPerSample=8;audioData=new Uint8Array(Module.dataChunks);break;case"s16":bitsPerSample=16;audioData=new Int16Array(Module.dataChunks);break;case"s24":bitsPerSample=24;audioData=new Uint8Array(Module.dataChunks);break;case"s32":bitsPerSample=32;audioData=new Int32Array(Module.dataChunks);break;case"f32":bitsPerSample=32;formatCode=3;audioData=new Float32Array(Module.dataChunks);break;default:throw new Error("Formato non supportato")}const blockAlign=numChannels*(bitsPerSample/8);const byteRate=sampleRate*blockAlign;let dataSize=audioData.length*(bitsPerSample/8);const totalFileSize=44+dataSize;if(Module.format=="s24"){dataSize=audioData.length}const wavBuffer=new ArrayBuffer(totalFileSize);const view=new DataView(wavBuffer);view.setUint32(0,1380533830,false);view.setUint32(4,totalFileSize-8,true);view.setUint32(8,1463899717,false);view.setUint32(12,1718449184,false);view.setUint32(16,16,true);view.setUint16(20,formatCode,true);view.setUint16(22,numChannels,true);view.setUint32(24,sampleRate,true);view.setUint32(28,byteRate,true);view.setUint16(32,blockAlign,true);view.setUint16(34,bitsPerSample,true);view.setUint32(36,1684108385,false);view.setUint32(40,dataSize,true);for(let i=0;i{let format;switch($2){case 5:format="f32";break;case 4:format="s32";break;case 3:format="s24";break;case 2:format="s16";break;case 1:format="u8";break;default:format="unknown";break}console.log("EM_ASM init wav! "+$0+" "+$1+" "+format);Module.dataChunks=[];Module.fileName="output.wav";Module.numChannels=$0;Module.sampleRate=$1;Module.format=format}};class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}Module["ExitStatus"]=ExitStatus;var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};Module["callRuntimeCallbacks"]=callRuntimeCallbacks;function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return SAFE_HEAP_LOAD(ptr,1,0);case"i8":return SAFE_HEAP_LOAD(ptr,1,0);case"i16":return SAFE_HEAP_LOAD((ptr>>1)*2,2,0);case"i32":return SAFE_HEAP_LOAD((ptr>>2)*4,4,0);case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return SAFE_HEAP_LOAD_D((ptr>>2)*4,4,0);case"double":return SAFE_HEAP_LOAD_D((ptr>>3)*8,8,0);case"*":return SAFE_HEAP_LOAD((ptr>>2)*4,4,1);default:abort(`invalid type for getValue: ${type}`)}}Module["getValue"]=getValue;function getValue_safe(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}Module["getValue_safe"]=getValue_safe;var noExitRuntime=Module["noExitRuntime"]||true;Module["noExitRuntime"]=noExitRuntime;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":SAFE_HEAP_STORE(ptr,value,1);break;case"i8":SAFE_HEAP_STORE(ptr,value,1);break;case"i16":SAFE_HEAP_STORE((ptr>>1)*2,value,2);break;case"i32":SAFE_HEAP_STORE((ptr>>2)*4,value,4);break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":SAFE_HEAP_STORE_D((ptr>>2)*4,value,4);break;case"double":SAFE_HEAP_STORE_D((ptr>>3)*8,value,8);break;case"*":SAFE_HEAP_STORE((ptr>>2)*4,value,4);break;default:abort(`invalid type for setValue: ${type}`)}}Module["setValue"]=setValue;function setValue_safe(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}Module["setValue_safe"]=setValue_safe;var stackRestore=val=>__emscripten_stack_restore(val);Module["stackRestore"]=stackRestore;var stackSave=()=>_emscripten_stack_get_current();Module["stackSave"]=stackSave;var unSign=(value,bits)=>{if(value>=0){return value}return bits<=32?2*Math.abs(1<{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};Module["UTF8ArrayToString"]=UTF8ArrayToString;var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";Module["UTF8ToString"]=UTF8ToString;var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};Module["___assert_fail"]=___assert_fail;class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){SAFE_HEAP_STORE((this.ptr+4>>2)*4,type,4)}get_type(){return SAFE_HEAP_LOAD((this.ptr+4>>2)*4,4,1)}set_destructor(destructor){SAFE_HEAP_STORE((this.ptr+8>>2)*4,destructor,4)}get_destructor(){return SAFE_HEAP_LOAD((this.ptr+8>>2)*4,4,1)}set_caught(caught){caught=caught?1:0;SAFE_HEAP_STORE(this.ptr+12,caught,1)}get_caught(){return SAFE_HEAP_LOAD(this.ptr+12,1,0)!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;SAFE_HEAP_STORE(this.ptr+13,rethrown,1)}get_rethrown(){return SAFE_HEAP_LOAD(this.ptr+13,1,0)!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){SAFE_HEAP_STORE((this.ptr+16>>2)*4,adjustedPtr,4)}get_adjusted_ptr(){return SAFE_HEAP_LOAD((this.ptr+16>>2)*4,4,1)}}Module["ExceptionInfo"]=ExceptionInfo;var exceptionLast=0;Module["exceptionLast"]=exceptionLast;var uncaughtExceptionCount=0;Module["uncaughtExceptionCount"]=uncaughtExceptionCount;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};Module["___cxa_throw"]=___cxa_throw;var __abort_js=()=>{abort("")};Module["__abort_js"]=__abort_js;var nowIsMonotonic=1;Module["nowIsMonotonic"]=nowIsMonotonic;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;Module["__emscripten_get_now_is_monotonic"]=__emscripten_get_now_is_monotonic;var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);Module["__emscripten_memcpy_js"]=__emscripten_memcpy_js;var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};Module["stringToUTF8Array"]=stringToUTF8Array;var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);Module["stringToUTF8"]=stringToUTF8;var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);SAFE_HEAP_STORE((timezone>>2)*4,stdTimezoneOffset*60,4);SAFE_HEAP_STORE((daylight>>2)*4,Number(winterOffset!=summerOffset),4);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{readEmAsmArgsArray.length=0;var ch;while(ch=SAFE_HEAP_LOAD(sigPtr++,1,1)){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?SAFE_HEAP_LOAD((buf>>2)*4,4,1):ch==105?SAFE_HEAP_LOAD((buf>>2)*4,4,0):SAFE_HEAP_LOAD_D((buf>>3)*8,8,0));buf+=wide?8:4}return readEmAsmArgsArray};Module["readEmAsmArgs"]=readEmAsmArgs;var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};Module["runEmAsmFunction"]=runEmAsmFunction;var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);Module["_emscripten_asm_const_int"]=_emscripten_asm_const_int;var _emscripten_date_now=()=>Date.now();Module["_emscripten_date_now"]=_emscripten_date_now;var _emscripten_get_now=()=>performance.now();Module["_emscripten_get_now"]=_emscripten_get_now;var getHeapMax=()=>2147483648;Module["getHeapMax"]=getHeapMax;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;Module["alignMemory"]=alignMemory;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};Module["growMemory"]=growMemory;var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};Module["_emscripten_resize_heap"]=_emscripten_resize_heap;var ENV={};Module["ENV"]=ENV;var getExecutableName=()=>thisProgram||"./this.program";Module["getExecutableName"]=getExecutableName;var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};Module["getEnvStrings"]=getEnvStrings;var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;SAFE_HEAP_STORE((__environ+i*4>>2)*4,ptr,4);stringToAscii(string,ptr);bufSize+=string.length+1});return 0};Module["_environ_get"]=_environ_get;var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();SAFE_HEAP_STORE((penviron_count>>2)*4,strings.length,4);var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);SAFE_HEAP_STORE((penviron_buf_size>>2)*4,bufSize,4);return 0};Module["_environ_sizes_get"]=_environ_sizes_get;var runtimeKeepaliveCounter=0;Module["runtimeKeepaliveCounter"]=runtimeKeepaliveCounter;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;Module["keepRuntimeAlive"]=keepRuntimeAlive;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};Module["_proc_exit"]=_proc_exit;var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};Module["exitJS"]=exitJS;var _exit=exitJS;Module["_exit"]=_exit;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};Module["PATH"]=PATH;var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};Module["initRandomFill"]=initRandomFill;var randomFill=view=>(randomFill=initRandomFill())(view);Module["randomFill"]=randomFill;var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};Module["lengthBytesUTF8"]=lengthBytesUTF8;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};Module["FS_stdin_getChar"]=FS_stdin_getChar;var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};Module["TTY"]=TTY;var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size)};Module["zeroMemory"]=zeroMemory;var mmapAlloc=size=>{abort()};Module["mmapAlloc"]=mmapAlloc;var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};Module["asyncLoad"]=asyncLoad;var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};Module["FS_createDataFile"]=FS_createDataFile;var preloadPlugins=Module["preloadPlugins"]||[];Module["preloadPlugins"]=preloadPlugins;var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};Module["FS_handledByPreloadPlugin"]=FS_handledByPreloadPlugin;var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};Module["FS_createPreloadedFile"]=FS_createPreloadedFile;var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};Module["FS_modeStringToFlags"]=FS_modeStringToFlags;var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};Module["FS_getMode"]=FS_getMode;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};Module["FS"]=FS;var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);SAFE_HEAP_STORE((buf>>2)*4,stat.dev,4);SAFE_HEAP_STORE((buf+4>>2)*4,stat.mode,4);SAFE_HEAP_STORE((buf+8>>2)*4,stat.nlink,4);SAFE_HEAP_STORE((buf+12>>2)*4,stat.uid,4);SAFE_HEAP_STORE((buf+16>>2)*4,stat.gid,4);SAFE_HEAP_STORE((buf+20>>2)*4,stat.rdev,4);tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+24>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+28>>2)*4,tempI64[1],4);SAFE_HEAP_STORE((buf+32>>2)*4,4096,4);SAFE_HEAP_STORE((buf+36>>2)*4,stat.blocks,4);var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+40>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+44>>2)*4,tempI64[1],4);SAFE_HEAP_STORE((buf+48>>2)*4,atime%1e3*1e3*1e3,4);tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+56>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+60>>2)*4,tempI64[1],4);SAFE_HEAP_STORE((buf+64>>2)*4,mtime%1e3*1e3*1e3,4);tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+72>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+76>>2)*4,tempI64[1],4);SAFE_HEAP_STORE((buf+80>>2)*4,ctime%1e3*1e3*1e3,4);tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+88>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+92>>2)*4,tempI64[1],4);return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};Module["SYSCALLS"]=SYSCALLS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_close"]=_fd_close;var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2)*4,4,1);var len=SAFE_HEAP_LOAD((iov+4>>2)*4,4,1);iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2)*4,num,4);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_read"]=_fd_read;var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;Module["convertI32PairToI53Checked"]=convertI32PairToI53Checked;function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((newOffset>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((newOffset+4>>2)*4,tempI64[1],4);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_seek"]=_fd_seek;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2)*4,4,1);var len=SAFE_HEAP_LOAD((iov+4>>2)*4,4,1);iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2)*4,num,4);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_write"]=_fd_write;var getCFunc=ident=>{var func=Module["_"+ident];return func};Module["getCFunc"]=getCFunc;var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};Module["writeArrayToMemory"]=writeArrayToMemory;var stackAlloc=sz=>__emscripten_stack_alloc(sz);Module["stackAlloc"]=stackAlloc;var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};Module["stringToUTF8OnStack"]=stringToUTF8OnStack;var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};Module["cwrap"]=cwrap;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";var wasmImports={a:___assert_fail,e:___cxa_throw,q:__abort_js,i:__emscripten_get_now_is_monotonic,k:__emscripten_memcpy_js,n:__tzset_js,c:alignfault,d:_emscripten_asm_const_int,j:_emscripten_date_now,r:_emscripten_resize_heap,o:_environ_get,p:_environ_sizes_get,l:_exit,g:_fd_close,h:_fd_read,m:_fd_seek,f:_fd_write,b:segfault};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["t"])();var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["v"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["w"])(a0);var __Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=a0=>(__Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=wasmExports["x"])(a0);var _ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=(a0,a1)=>(_ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=wasmExports["y"])(a0,a1);var _ma_free_emscripten=Module["_ma_free_emscripten"]=(a0,a1)=>(_ma_free_emscripten=Module["_ma_free_emscripten"]=wasmExports["z"])(a0,a1);var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=wasmExports["A"])(a0,a1,a2);var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=wasmExports["B"])(a0,a1,a2);var _createWorkerInWasm=Module["_createWorkerInWasm"]=()=>(_createWorkerInWasm=Module["_createWorkerInWasm"]=wasmExports["C"])();var __Z24sendSilenceEventToWorkerPKcbf=Module["__Z24sendSilenceEventToWorkerPKcbf"]=(a0,a1,a2)=>(__Z24sendSilenceEventToWorkerPKcbf=Module["__Z24sendSilenceEventToWorkerPKcbf"]=wasmExports["D"])(a0,a1,a2);var __Z18sendStreamToWorkerPKcPhi=Module["__Z18sendStreamToWorkerPKcPhi"]=(a0,a1,a2)=>(__Z18sendStreamToWorkerPKcPhi=Module["__Z18sendStreamToWorkerPKcPhi"]=wasmExports["E"])(a0,a1,a2);var _setDartEventCallback=Module["_setDartEventCallback"]=(a0,a1)=>(_setDartEventCallback=Module["_setDartEventCallback"]=wasmExports["F"])(a0,a1);var _nativeFree=Module["_nativeFree"]=a0=>(_nativeFree=Module["_nativeFree"]=wasmExports["G"])(a0);var _listCaptureDevices=Module["_listCaptureDevices"]=(a0,a1,a2,a3)=>(_listCaptureDevices=Module["_listCaptureDevices"]=wasmExports["H"])(a0,a1,a2,a3);var _freeListCaptureDevices=Module["_freeListCaptureDevices"]=(a0,a1,a2,a3)=>(_freeListCaptureDevices=Module["_freeListCaptureDevices"]=wasmExports["I"])(a0,a1,a2,a3);var _init=Module["_init"]=(a0,a1,a2,a3)=>(_init=Module["_init"]=wasmExports["J"])(a0,a1,a2,a3);var _deinit=Module["_deinit"]=()=>(_deinit=Module["_deinit"]=wasmExports["K"])();var _isInited=Module["_isInited"]=()=>(_isInited=Module["_isInited"]=wasmExports["L"])();var _isDeviceStarted=Module["_isDeviceStarted"]=()=>(_isDeviceStarted=Module["_isDeviceStarted"]=wasmExports["M"])();var __Z16isCaptureStartedv=Module["__Z16isCaptureStartedv"]=()=>(__Z16isCaptureStartedv=Module["__Z16isCaptureStartedv"]=wasmExports["N"])();var _start=Module["_start"]=()=>(_start=Module["_start"]=wasmExports["O"])();var _stop=Module["_stop"]=()=>(_stop=Module["_stop"]=wasmExports["P"])();var _startStreamingData=Module["_startStreamingData"]=()=>(_startStreamingData=Module["_startStreamingData"]=wasmExports["Q"])();var _stopStreamingData=Module["_stopStreamingData"]=()=>(_stopStreamingData=Module["_stopStreamingData"]=wasmExports["R"])();var _setSilenceDetection=Module["_setSilenceDetection"]=a0=>(_setSilenceDetection=Module["_setSilenceDetection"]=wasmExports["S"])(a0);var _setSilenceThresholdDb=Module["_setSilenceThresholdDb"]=a0=>(_setSilenceThresholdDb=Module["_setSilenceThresholdDb"]=wasmExports["T"])(a0);var _setSilenceDuration=Module["_setSilenceDuration"]=a0=>(_setSilenceDuration=Module["_setSilenceDuration"]=wasmExports["U"])(a0);var _setSecondsOfAudioToWriteBefore=Module["_setSecondsOfAudioToWriteBefore"]=a0=>(_setSecondsOfAudioToWriteBefore=Module["_setSecondsOfAudioToWriteBefore"]=wasmExports["V"])(a0);var _startRecording=Module["_startRecording"]=a0=>(_startRecording=Module["_startRecording"]=wasmExports["W"])(a0);var _setPauseRecording=Module["_setPauseRecording"]=a0=>(_setPauseRecording=Module["_setPauseRecording"]=wasmExports["X"])(a0);var _stopRecording=Module["_stopRecording"]=()=>(_stopRecording=Module["_stopRecording"]=wasmExports["Y"])();var _getVolumeDb=Module["_getVolumeDb"]=a0=>(_getVolumeDb=Module["_getVolumeDb"]=wasmExports["Z"])(a0);var _setFftSmoothing=Module["_setFftSmoothing"]=a0=>(_setFftSmoothing=Module["_setFftSmoothing"]=wasmExports["_"])(a0);var _getFft=Module["_getFft"]=a0=>(_getFft=Module["_getFft"]=wasmExports["$"])(a0);var _getWave=Module["_getWave"]=a0=>(_getWave=Module["_getWave"]=wasmExports["aa"])(a0);var _getTexture=Module["_getTexture"]=a0=>(_getTexture=Module["_getTexture"]=wasmExports["ba"])(a0);var _getTexture2D=Module["_getTexture2D"]=a0=>(_getTexture2D=Module["_getTexture2D"]=wasmExports["ca"])(a0);var _getTextureValue=Module["_getTextureValue"]=(a0,a1)=>(_getTextureValue=Module["_getTextureValue"]=wasmExports["da"])(a0,a1);var _isFilterActive=Module["_isFilterActive"]=a0=>(_isFilterActive=Module["_isFilterActive"]=wasmExports["ea"])(a0);var _addFilter=Module["_addFilter"]=a0=>(_addFilter=Module["_addFilter"]=wasmExports["fa"])(a0);var _removeFilter=Module["_removeFilter"]=a0=>(_removeFilter=Module["_removeFilter"]=wasmExports["ga"])(a0);var _getFilterParamNames=Module["_getFilterParamNames"]=(a0,a1,a2)=>(_getFilterParamNames=Module["_getFilterParamNames"]=wasmExports["ha"])(a0,a1,a2);var _setFilterParams=Module["_setFilterParams"]=(a0,a1,a2)=>(_setFilterParams=Module["_setFilterParams"]=wasmExports["ia"])(a0,a1,a2);var _getFilterParams=Module["_getFilterParams"]=(a0,a1)=>(_getFilterParams=Module["_getFilterParams"]=wasmExports["ja"])(a0,a1);var _sbrk=a0=>(_sbrk=wasmExports["ka"])(a0);var _emscripten_get_sbrk_ptr=()=>(_emscripten_get_sbrk_ptr=wasmExports["la"])();var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["ma"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["na"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["oa"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["pa"])();var dynCall_iiiji=Module["dynCall_iiiji"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiji=Module["dynCall_iiiji"]=wasmExports["qa"])(a0,a1,a2,a3,a4,a5);var dynCall_jii=Module["dynCall_jii"]=(a0,a1,a2)=>(dynCall_jii=Module["dynCall_jii"]=wasmExports["ra"])(a0,a1,a2);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["sa"])(a0,a1,a2,a3,a4);var dynCall_viijii=Module["dynCall_viijii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viijii=Module["dynCall_viijii"]=wasmExports["ta"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiij=Module["dynCall_iiiiij"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiij=Module["dynCall_iiiiij"]=wasmExports["ua"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=wasmExports["va"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=wasmExports["wa"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);Module["ccall"]=ccall;Module["cwrap"]=cwrap;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + +var RecorderModule = (() => { + var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined; + if (typeof __filename != 'undefined') _scriptName = _scriptName || __filename; + return ( +function(moduleArg = {}) { + var moduleRtn; + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(binary?data.buffer:data)})})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];function getSafeHeapType(bytes,isFloat){switch(bytes){case 1:return"i8";case 2:return"i16";case 4:return isFloat?"float":"i32";case 8:return isFloat?"double":"i64";default:abort(`getSafeHeapType() invalid bytes=${bytes}`)}}function SAFE_HEAP_STORE(dest,value,bytes,isFloat){if(dest<=0)abort(`segmentation fault storing ${bytes} bytes to address ${dest}`);if(dest%bytes!==0)abort(`alignment error storing to address ${dest}, which was expected to be aligned to a multiple of ${bytes}`);if(runtimeInitialized){var brk=_sbrk(0);if(dest+bytes>brk)abort(`segmentation fault, exceeded the top of the available dynamic heap when storing ${bytes} bytes to address ${dest}. DYNAMICTOP=${brk}`);if(brk<_emscripten_stack_get_base())abort(`brk >= _emscripten_stack_get_base() (brk=${brk}, _emscripten_stack_get_base()=${_emscripten_stack_get_base()})`);if(brk>wasmMemory.buffer.byteLength)abort(`brk <= wasmMemory.buffer.byteLength (brk=${brk}, wasmMemory.buffer.byteLength=${wasmMemory.buffer.byteLength})`)}setValue_safe(dest,value,getSafeHeapType(bytes,isFloat));return value}function SAFE_HEAP_STORE_D(dest,value,bytes){return SAFE_HEAP_STORE(dest,value,bytes,true)}function SAFE_HEAP_LOAD(dest,bytes,unsigned,isFloat){if(dest<=0)abort(`segmentation fault loading ${bytes} bytes from address ${dest}`);if(dest%bytes!==0)abort(`alignment error loading from address ${dest}, which was expected to be aligned to a multiple of ${bytes}`);if(runtimeInitialized){var brk=_sbrk(0);if(dest+bytes>brk)abort(`segmentation fault, exceeded the top of the available dynamic heap when loading ${bytes} bytes from address ${dest}. DYNAMICTOP=${brk}`);if(brk<_emscripten_stack_get_base())abort(`brk >= _emscripten_stack_get_base() (brk=${brk}, _emscripten_stack_get_base()=${_emscripten_stack_get_base()})`);if(brk>wasmMemory.buffer.byteLength)abort(`brk <= wasmMemory.buffer.byteLength (brk=${brk}, wasmMemory.buffer.byteLength=${wasmMemory.buffer.byteLength})`)}var type=getSafeHeapType(bytes,isFloat);var ret=getValue_safe(dest,type);if(unsigned)ret=unSign(ret,parseInt(type.substr(1),10));return ret}function SAFE_HEAP_LOAD_D(dest,bytes,unsigned){return SAFE_HEAP_LOAD(dest,bytes,unsigned,true)}function segfault(){abort("segmentation fault")}function alignfault(){abort("alignment fault")}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){var f="libflutter_recorder_plugin.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["s"];updateMemoryViews();addOnInit(wasmExports["t"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}wasmBinaryFile??=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;var ASM_CONSTS={31912:()=>{if(!RecorderModule.wasmWorker){var workerUri="assets/packages/flutter_recorder/web/worker.dart.js";RecorderModule.wasmWorker=new Worker(workerUri);console.log("EM_ASM creating web worker! "+workerUri+" "+RecorderModule.wasmWorker)}else{console.log("EM_ASM web worker already created!")}},32226:($0,$1,$2)=>{if(RecorderModule.wasmWorker){RecorderModule.wasmWorker.postMessage({message:UTF8ToString($0),isSilent:$1,energyDb:$2})}else{console.error("Worker not found.")}},32412:($0,$1,$2)=>{if(RecorderModule.wasmWorker){const audioDataArray=new Uint8Array(RecorderModule.HEAPU8.subarray($1,$1+$2));RecorderModule.wasmWorker.postMessage({message:UTF8ToString($0),data:audioDataArray})}else{console.error("Worker not found.")}},32675:($0,$1,$2,$3,$4)=>{if(typeof window==="undefined"||(window.AudioContext||window.webkitAudioContext)===undefined){return 0}if(typeof window.miniaudio==="undefined"){window.miniaudio={referenceCount:0};window.miniaudio.device_type={};window.miniaudio.device_type.playback=$0;window.miniaudio.device_type.capture=$1;window.miniaudio.device_type.duplex=$2;window.miniaudio.device_state={};window.miniaudio.device_state.stopped=$3;window.miniaudio.device_state.started=$4;miniaudio.devices=[];miniaudio.track_device=function(device){for(var iDevice=0;iDevice0){if(miniaudio.devices[miniaudio.devices.length-1]==null){miniaudio.devices.pop()}else{break}}};miniaudio.untrack_device=function(device){for(var iDevice=0;iDevice{Module._ma_device__on_notification_unlocked(device.pDevice)},error=>{console.error("Failed to resume audiocontext",error)})}}miniaudio.unlock_event_types.map(function(event_type){document.removeEventListener(event_type,miniaudio.unlock,true)})};miniaudio.unlock_event_types.map(function(event_type){document.addEventListener(event_type,miniaudio.unlock,true)})}window.miniaudio.referenceCount+=1;return 1},34833:()=>{if(typeof window.miniaudio!=="undefined"){window.miniaudio.referenceCount-=1;if(window.miniaudio.referenceCount===0){delete window.miniaudio}}},34997:()=>navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined,35101:()=>{try{var temp=new(window.AudioContext||window.webkitAudioContext);var sampleRate=temp.sampleRate;temp.close();return sampleRate}catch(e){return 0}},35272:($0,$1,$2,$3,$4,$5)=>{var deviceType=$0;var channels=$1;var sampleRate=$2;var bufferSize=$3;var pIntermediaryBuffer=$4;var pDevice=$5;if(typeof window.miniaudio==="undefined"){return-1}var device={};var audioContextOptions={};if(deviceType==window.miniaudio.device_type.playback&&sampleRate!=0){audioContextOptions.sampleRate=sampleRate}device.webaudio=new(window.AudioContext||window.webkitAudioContext)(audioContextOptions);device.webaudio.suspend();device.state=window.miniaudio.device_state.stopped;var channelCountIn=0;var channelCountOut=channels;if(deviceType!=window.miniaudio.device_type.playback){channelCountIn=channels}device.scriptNode=device.webaudio.createScriptProcessor(bufferSize,channelCountIn,channelCountOut);device.scriptNode.onaudioprocess=function(e){if(device.intermediaryBufferView==null||device.intermediaryBufferView.length==0){device.intermediaryBufferView=new Float32Array(Module.HEAPF32.buffer,pIntermediaryBuffer,bufferSize*channels)}if(deviceType==miniaudio.device_type.capture||deviceType==miniaudio.device_type.duplex){for(var iChannel=0;iChannelminiaudio.get_device_by_index($0).webaudio.sampleRate,38166:$0=>{var device=miniaudio.get_device_by_index($0);if(device.scriptNode!==undefined){device.scriptNode.onaudioprocess=function(e){};device.scriptNode.disconnect();device.scriptNode=undefined}if(device.streamNode!==undefined){device.streamNode.disconnect();device.streamNode=undefined}device.webaudio.close();device.webaudio=undefined;device.pDevice=undefined},38559:$0=>{miniaudio.untrack_device_by_index($0)},38602:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.resume();device.state=miniaudio.device_state.started},38727:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.suspend();device.state=miniaudio.device_state.stopped},38853:($0,$1)=>{if($0==0||$1<=0){console.error("Invalid buffer pointer or number of frames");return}let buffer;switch(RecorderModule.format){case"u8":buffer=HEAPU8.subarray($0,$0+$1*RecorderModule.numChannels);break;case"s16":buffer=HEAP16.subarray($0/2,$0/2+$1*RecorderModule.numChannels);break;case"s24":buffer=HEAPU8.subarray($0,$0+$1*RecorderModule.numChannels*3);break;case"s32":buffer=HEAP32.subarray($0/4,$0/4+$1*RecorderModule.numChannels);break;case"f32":default:buffer=HEAPF32.subarray($0/4,$0/4+$1*RecorderModule.numChannels)}if(!RecorderModule.dataChunks){RecorderModule.dataChunks=[]}RecorderModule.dataChunks.push(...buffer)},39583:()=>{function encodeWAV(){const numChannels=RecorderModule.numChannels;const sampleRate=RecorderModule.sampleRate;let bitsPerSample;let audioData;let formatCode=1;switch(RecorderModule.format){case"u8":bitsPerSample=8;audioData=new Uint8Array(RecorderModule.dataChunks);break;case"s16":bitsPerSample=16;audioData=new Int16Array(RecorderModule.dataChunks);break;case"s24":bitsPerSample=24;audioData=new Uint8Array(RecorderModule.dataChunks);break;case"s32":bitsPerSample=32;audioData=new Int32Array(RecorderModule.dataChunks);break;case"f32":bitsPerSample=32;formatCode=3;audioData=new Float32Array(RecorderModule.dataChunks);break;default:throw new Error("Formato non supportato")}const blockAlign=numChannels*(bitsPerSample/8);const byteRate=sampleRate*blockAlign;let dataSize=audioData.length*(bitsPerSample/8);const totalFileSize=44+dataSize;if(RecorderModule.format=="s24"){dataSize=audioData.length}const wavBuffer=new ArrayBuffer(totalFileSize);const view=new DataView(wavBuffer);view.setUint32(0,1380533830,false);view.setUint32(4,totalFileSize-8,true);view.setUint32(8,1463899717,false);view.setUint32(12,1718449184,false);view.setUint32(16,16,true);view.setUint16(20,formatCode,true);view.setUint16(22,numChannels,true);view.setUint32(24,sampleRate,true);view.setUint32(28,byteRate,true);view.setUint16(32,blockAlign,true);view.setUint16(34,bitsPerSample,true);view.setUint32(36,1684108385,false);view.setUint32(40,dataSize,true);for(let i=0;i{let format;switch($2){case 5:format="f32";break;case 4:format="s32";break;case 3:format="s24";break;case 2:format="s16";break;case 1:format="u8";break;default:format="unknown";break}console.log("EM_ASM init wav! "+$0+" "+$1+" "+format);RecorderModule.dataChunks=[];RecorderModule.fileName="output.wav";RecorderModule.numChannels=$0;RecorderModule.sampleRate=$1;RecorderModule.format=format}};class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}Module["ExitStatus"]=ExitStatus;var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};Module["callRuntimeCallbacks"]=callRuntimeCallbacks;function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return SAFE_HEAP_LOAD(ptr,1,0);case"i8":return SAFE_HEAP_LOAD(ptr,1,0);case"i16":return SAFE_HEAP_LOAD((ptr>>1)*2,2,0);case"i32":return SAFE_HEAP_LOAD((ptr>>2)*4,4,0);case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return SAFE_HEAP_LOAD_D((ptr>>2)*4,4,0);case"double":return SAFE_HEAP_LOAD_D((ptr>>3)*8,8,0);case"*":return SAFE_HEAP_LOAD((ptr>>2)*4,4,1);default:abort(`invalid type for getValue: ${type}`)}}Module["getValue"]=getValue;function getValue_safe(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}Module["getValue_safe"]=getValue_safe;var noExitRuntime=Module["noExitRuntime"]||true;Module["noExitRuntime"]=noExitRuntime;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":SAFE_HEAP_STORE(ptr,value,1);break;case"i8":SAFE_HEAP_STORE(ptr,value,1);break;case"i16":SAFE_HEAP_STORE((ptr>>1)*2,value,2);break;case"i32":SAFE_HEAP_STORE((ptr>>2)*4,value,4);break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":SAFE_HEAP_STORE_D((ptr>>2)*4,value,4);break;case"double":SAFE_HEAP_STORE_D((ptr>>3)*8,value,8);break;case"*":SAFE_HEAP_STORE((ptr>>2)*4,value,4);break;default:abort(`invalid type for setValue: ${type}`)}}Module["setValue"]=setValue;function setValue_safe(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}Module["setValue_safe"]=setValue_safe;var stackRestore=val=>__emscripten_stack_restore(val);Module["stackRestore"]=stackRestore;var stackSave=()=>_emscripten_stack_get_current();Module["stackSave"]=stackSave;var unSign=(value,bits)=>{if(value>=0){return value}return bits<=32?2*Math.abs(1<{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};Module["UTF8ArrayToString"]=UTF8ArrayToString;var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";Module["UTF8ToString"]=UTF8ToString;var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};Module["___assert_fail"]=___assert_fail;class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){SAFE_HEAP_STORE((this.ptr+4>>2)*4,type,4)}get_type(){return SAFE_HEAP_LOAD((this.ptr+4>>2)*4,4,1)}set_destructor(destructor){SAFE_HEAP_STORE((this.ptr+8>>2)*4,destructor,4)}get_destructor(){return SAFE_HEAP_LOAD((this.ptr+8>>2)*4,4,1)}set_caught(caught){caught=caught?1:0;SAFE_HEAP_STORE(this.ptr+12,caught,1)}get_caught(){return SAFE_HEAP_LOAD(this.ptr+12,1,0)!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;SAFE_HEAP_STORE(this.ptr+13,rethrown,1)}get_rethrown(){return SAFE_HEAP_LOAD(this.ptr+13,1,0)!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){SAFE_HEAP_STORE((this.ptr+16>>2)*4,adjustedPtr,4)}get_adjusted_ptr(){return SAFE_HEAP_LOAD((this.ptr+16>>2)*4,4,1)}}Module["ExceptionInfo"]=ExceptionInfo;var exceptionLast=0;Module["exceptionLast"]=exceptionLast;var uncaughtExceptionCount=0;Module["uncaughtExceptionCount"]=uncaughtExceptionCount;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};Module["___cxa_throw"]=___cxa_throw;var __abort_js=()=>{abort("")};Module["__abort_js"]=__abort_js;var nowIsMonotonic=1;Module["nowIsMonotonic"]=nowIsMonotonic;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;Module["__emscripten_get_now_is_monotonic"]=__emscripten_get_now_is_monotonic;var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);Module["__emscripten_memcpy_js"]=__emscripten_memcpy_js;var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};Module["stringToUTF8Array"]=stringToUTF8Array;var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);Module["stringToUTF8"]=stringToUTF8;var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);SAFE_HEAP_STORE((timezone>>2)*4,stdTimezoneOffset*60,4);SAFE_HEAP_STORE((daylight>>2)*4,Number(winterOffset!=summerOffset),4);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{readEmAsmArgsArray.length=0;var ch;while(ch=SAFE_HEAP_LOAD(sigPtr++,1,1)){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?SAFE_HEAP_LOAD((buf>>2)*4,4,1):ch==105?SAFE_HEAP_LOAD((buf>>2)*4,4,0):SAFE_HEAP_LOAD_D((buf>>3)*8,8,0));buf+=wide?8:4}return readEmAsmArgsArray};Module["readEmAsmArgs"]=readEmAsmArgs;var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};Module["runEmAsmFunction"]=runEmAsmFunction;var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);Module["_emscripten_asm_const_int"]=_emscripten_asm_const_int;var _emscripten_date_now=()=>Date.now();Module["_emscripten_date_now"]=_emscripten_date_now;var _emscripten_get_now=()=>performance.now();Module["_emscripten_get_now"]=_emscripten_get_now;var getHeapMax=()=>2147483648;Module["getHeapMax"]=getHeapMax;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;Module["alignMemory"]=alignMemory;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};Module["growMemory"]=growMemory;var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};Module["_emscripten_resize_heap"]=_emscripten_resize_heap;var ENV={};Module["ENV"]=ENV;var getExecutableName=()=>thisProgram||"./this.program";Module["getExecutableName"]=getExecutableName;var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};Module["getEnvStrings"]=getEnvStrings;var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;SAFE_HEAP_STORE((__environ+i*4>>2)*4,ptr,4);stringToAscii(string,ptr);bufSize+=string.length+1});return 0};Module["_environ_get"]=_environ_get;var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();SAFE_HEAP_STORE((penviron_count>>2)*4,strings.length,4);var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);SAFE_HEAP_STORE((penviron_buf_size>>2)*4,bufSize,4);return 0};Module["_environ_sizes_get"]=_environ_sizes_get;var runtimeKeepaliveCounter=0;Module["runtimeKeepaliveCounter"]=runtimeKeepaliveCounter;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;Module["keepRuntimeAlive"]=keepRuntimeAlive;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};Module["_proc_exit"]=_proc_exit;var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};Module["exitJS"]=exitJS;var _exit=exitJS;Module["_exit"]=_exit;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};Module["PATH"]=PATH;var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};Module["initRandomFill"]=initRandomFill;var randomFill=view=>(randomFill=initRandomFill())(view);Module["randomFill"]=randomFill;var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};Module["lengthBytesUTF8"]=lengthBytesUTF8;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};Module["FS_stdin_getChar"]=FS_stdin_getChar;var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};Module["TTY"]=TTY;var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size)};Module["zeroMemory"]=zeroMemory;var mmapAlloc=size=>{abort()};Module["mmapAlloc"]=mmapAlloc;var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};Module["asyncLoad"]=asyncLoad;var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};Module["FS_createDataFile"]=FS_createDataFile;var preloadPlugins=Module["preloadPlugins"]||[];Module["preloadPlugins"]=preloadPlugins;var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};Module["FS_handledByPreloadPlugin"]=FS_handledByPreloadPlugin;var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};Module["FS_createPreloadedFile"]=FS_createPreloadedFile;var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};Module["FS_modeStringToFlags"]=FS_modeStringToFlags;var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};Module["FS_getMode"]=FS_getMode;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};Module["FS"]=FS;var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);SAFE_HEAP_STORE((buf>>2)*4,stat.dev,4);SAFE_HEAP_STORE((buf+4>>2)*4,stat.mode,4);SAFE_HEAP_STORE((buf+8>>2)*4,stat.nlink,4);SAFE_HEAP_STORE((buf+12>>2)*4,stat.uid,4);SAFE_HEAP_STORE((buf+16>>2)*4,stat.gid,4);SAFE_HEAP_STORE((buf+20>>2)*4,stat.rdev,4);tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+24>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+28>>2)*4,tempI64[1],4);SAFE_HEAP_STORE((buf+32>>2)*4,4096,4);SAFE_HEAP_STORE((buf+36>>2)*4,stat.blocks,4);var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+40>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+44>>2)*4,tempI64[1],4);SAFE_HEAP_STORE((buf+48>>2)*4,atime%1e3*1e3*1e3,4);tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+56>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+60>>2)*4,tempI64[1],4);SAFE_HEAP_STORE((buf+64>>2)*4,mtime%1e3*1e3*1e3,4);tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+72>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+76>>2)*4,tempI64[1],4);SAFE_HEAP_STORE((buf+80>>2)*4,ctime%1e3*1e3*1e3,4);tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((buf+88>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((buf+92>>2)*4,tempI64[1],4);return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};Module["SYSCALLS"]=SYSCALLS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_close"]=_fd_close;var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2)*4,4,1);var len=SAFE_HEAP_LOAD((iov+4>>2)*4,4,1);iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2)*4,num,4);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_read"]=_fd_read;var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;Module["convertI32PairToI53Checked"]=convertI32PairToI53Checked;function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],SAFE_HEAP_STORE((newOffset>>2)*4,tempI64[0],4),SAFE_HEAP_STORE((newOffset+4>>2)*4,tempI64[1],4);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_seek"]=_fd_seek;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2)*4,4,1);var len=SAFE_HEAP_LOAD((iov+4>>2)*4,4,1);iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2)*4,num,4);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_write"]=_fd_write;var getCFunc=ident=>{var func=Module["_"+ident];return func};Module["getCFunc"]=getCFunc;var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};Module["writeArrayToMemory"]=writeArrayToMemory;var stackAlloc=sz=>__emscripten_stack_alloc(sz);Module["stackAlloc"]=stackAlloc;var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};Module["stringToUTF8OnStack"]=stringToUTF8OnStack;var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};Module["cwrap"]=cwrap;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";var wasmImports={a:___assert_fail,e:___cxa_throw,q:__abort_js,i:__emscripten_get_now_is_monotonic,k:__emscripten_memcpy_js,n:__tzset_js,c:alignfault,d:_emscripten_asm_const_int,j:_emscripten_date_now,r:_emscripten_resize_heap,o:_environ_get,p:_environ_sizes_get,l:_exit,g:_fd_close,h:_fd_read,m:_fd_seek,f:_fd_write,b:segfault};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["t"])();var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["v"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["w"])(a0);var __Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=a0=>(__Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=wasmExports["x"])(a0);var _ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=(a0,a1)=>(_ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=wasmExports["y"])(a0,a1);var _ma_free_emscripten=Module["_ma_free_emscripten"]=(a0,a1)=>(_ma_free_emscripten=Module["_ma_free_emscripten"]=wasmExports["z"])(a0,a1);var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=wasmExports["A"])(a0,a1,a2);var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=wasmExports["B"])(a0,a1,a2);var _createWorkerInWasm=Module["_createWorkerInWasm"]=()=>(_createWorkerInWasm=Module["_createWorkerInWasm"]=wasmExports["C"])();var __Z24sendSilenceEventToWorkerPKcbf=Module["__Z24sendSilenceEventToWorkerPKcbf"]=(a0,a1,a2)=>(__Z24sendSilenceEventToWorkerPKcbf=Module["__Z24sendSilenceEventToWorkerPKcbf"]=wasmExports["D"])(a0,a1,a2);var __Z18sendStreamToWorkerPKcPhi=Module["__Z18sendStreamToWorkerPKcPhi"]=(a0,a1,a2)=>(__Z18sendStreamToWorkerPKcPhi=Module["__Z18sendStreamToWorkerPKcPhi"]=wasmExports["E"])(a0,a1,a2);var _setDartEventCallback=Module["_setDartEventCallback"]=(a0,a1)=>(_setDartEventCallback=Module["_setDartEventCallback"]=wasmExports["F"])(a0,a1);var _nativeFree=Module["_nativeFree"]=a0=>(_nativeFree=Module["_nativeFree"]=wasmExports["G"])(a0);var _listCaptureDevices=Module["_listCaptureDevices"]=(a0,a1,a2,a3)=>(_listCaptureDevices=Module["_listCaptureDevices"]=wasmExports["H"])(a0,a1,a2,a3);var _freeListCaptureDevices=Module["_freeListCaptureDevices"]=(a0,a1,a2,a3)=>(_freeListCaptureDevices=Module["_freeListCaptureDevices"]=wasmExports["I"])(a0,a1,a2,a3);var _init=Module["_init"]=(a0,a1,a2,a3)=>(_init=Module["_init"]=wasmExports["J"])(a0,a1,a2,a3);var _deinit=Module["_deinit"]=()=>(_deinit=Module["_deinit"]=wasmExports["K"])();var _isInited=Module["_isInited"]=()=>(_isInited=Module["_isInited"]=wasmExports["L"])();var _isDeviceStarted=Module["_isDeviceStarted"]=()=>(_isDeviceStarted=Module["_isDeviceStarted"]=wasmExports["M"])();var __Z16isCaptureStartedv=Module["__Z16isCaptureStartedv"]=()=>(__Z16isCaptureStartedv=Module["__Z16isCaptureStartedv"]=wasmExports["N"])();var _start=Module["_start"]=()=>(_start=Module["_start"]=wasmExports["O"])();var _stop=Module["_stop"]=()=>(_stop=Module["_stop"]=wasmExports["P"])();var _startStreamingData=Module["_startStreamingData"]=()=>(_startStreamingData=Module["_startStreamingData"]=wasmExports["Q"])();var _stopStreamingData=Module["_stopStreamingData"]=()=>(_stopStreamingData=Module["_stopStreamingData"]=wasmExports["R"])();var _setSilenceDetection=Module["_setSilenceDetection"]=a0=>(_setSilenceDetection=Module["_setSilenceDetection"]=wasmExports["S"])(a0);var _setSilenceThresholdDb=Module["_setSilenceThresholdDb"]=a0=>(_setSilenceThresholdDb=Module["_setSilenceThresholdDb"]=wasmExports["T"])(a0);var _setSilenceDuration=Module["_setSilenceDuration"]=a0=>(_setSilenceDuration=Module["_setSilenceDuration"]=wasmExports["U"])(a0);var _setSecondsOfAudioToWriteBefore=Module["_setSecondsOfAudioToWriteBefore"]=a0=>(_setSecondsOfAudioToWriteBefore=Module["_setSecondsOfAudioToWriteBefore"]=wasmExports["V"])(a0);var _startRecording=Module["_startRecording"]=a0=>(_startRecording=Module["_startRecording"]=wasmExports["W"])(a0);var _setPauseRecording=Module["_setPauseRecording"]=a0=>(_setPauseRecording=Module["_setPauseRecording"]=wasmExports["X"])(a0);var _stopRecording=Module["_stopRecording"]=()=>(_stopRecording=Module["_stopRecording"]=wasmExports["Y"])();var _getVolumeDb=Module["_getVolumeDb"]=a0=>(_getVolumeDb=Module["_getVolumeDb"]=wasmExports["Z"])(a0);var _setFftSmoothing=Module["_setFftSmoothing"]=a0=>(_setFftSmoothing=Module["_setFftSmoothing"]=wasmExports["_"])(a0);var _getFft=Module["_getFft"]=a0=>(_getFft=Module["_getFft"]=wasmExports["$"])(a0);var _getWave=Module["_getWave"]=a0=>(_getWave=Module["_getWave"]=wasmExports["aa"])(a0);var _getTexture=Module["_getTexture"]=a0=>(_getTexture=Module["_getTexture"]=wasmExports["ba"])(a0);var _getTexture2D=Module["_getTexture2D"]=a0=>(_getTexture2D=Module["_getTexture2D"]=wasmExports["ca"])(a0);var _getTextureValue=Module["_getTextureValue"]=(a0,a1)=>(_getTextureValue=Module["_getTextureValue"]=wasmExports["da"])(a0,a1);var _isFilterActive=Module["_isFilterActive"]=a0=>(_isFilterActive=Module["_isFilterActive"]=wasmExports["ea"])(a0);var _addFilter=Module["_addFilter"]=a0=>(_addFilter=Module["_addFilter"]=wasmExports["fa"])(a0);var _removeFilter=Module["_removeFilter"]=a0=>(_removeFilter=Module["_removeFilter"]=wasmExports["ga"])(a0);var _getFilterParamNames=Module["_getFilterParamNames"]=(a0,a1,a2)=>(_getFilterParamNames=Module["_getFilterParamNames"]=wasmExports["ha"])(a0,a1,a2);var _setFilterParams=Module["_setFilterParams"]=(a0,a1,a2)=>(_setFilterParams=Module["_setFilterParams"]=wasmExports["ia"])(a0,a1,a2);var _getFilterParams=Module["_getFilterParams"]=(a0,a1)=>(_getFilterParams=Module["_getFilterParams"]=wasmExports["ja"])(a0,a1);var _sbrk=a0=>(_sbrk=wasmExports["ka"])(a0);var _emscripten_get_sbrk_ptr=()=>(_emscripten_get_sbrk_ptr=wasmExports["la"])();var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["ma"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["na"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["oa"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["pa"])();var dynCall_iiiji=Module["dynCall_iiiji"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiji=Module["dynCall_iiiji"]=wasmExports["qa"])(a0,a1,a2,a3,a4,a5);var dynCall_jii=Module["dynCall_jii"]=(a0,a1,a2)=>(dynCall_jii=Module["dynCall_jii"]=wasmExports["ra"])(a0,a1,a2);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["sa"])(a0,a1,a2,a3,a4);var dynCall_viijii=Module["dynCall_viijii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viijii=Module["dynCall_viijii"]=wasmExports["ta"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiij=Module["dynCall_iiiiij"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiij=Module["dynCall_iiiiij"]=wasmExports["ua"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=wasmExports["va"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=wasmExports["wa"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);Module["ccall"]=ccall;Module["cwrap"]=cwrap;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();moduleRtn=readyPromise; + + + return moduleRtn; +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = RecorderModule; +else if (typeof define === 'function' && define['amd']) + define([], () => RecorderModule); diff --git a/web/libflutter_recorder_plugin.wasm b/web/libflutter_recorder_plugin.wasm index 909e03e83020fa6f79feaabbcaf8602b552e0424..c45d37387f0024bbce4f034ec143efae7f915326 100755 GIT binary patch delta 24072 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 N8mm&-r>&Oqe*h#a)t3MO delta 24093 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 lKst(4oVBV@gEYoJnN&5-er!p}#Y Date: Fri, 13 Dec 2024 11:57:33 +0100 Subject: [PATCH 12/30] WASM JS Module renamed --- example/lib/main.dart | 2 +- lib/src/bindings/recorder.dart | 8 ++++---- lib/src/bindings/recorder_web.dart | 2 +- lib/src/filters/filters.dart | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 9b95486..24f2a7f 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -112,7 +112,7 @@ class _MyAppState extends State { child: const Text('listCaptureDevices'), ), OutlinedButton( - onPressed: () async{ + onPressed: () async { try { await recorder.init( format: format, diff --git a/lib/src/bindings/recorder.dart b/lib/src/bindings/recorder.dart index 2f119ab..f80d9e4 100644 --- a/lib/src/bindings/recorder.dart +++ b/lib/src/bindings/recorder.dart @@ -183,26 +183,26 @@ abstract class RecorderImpl { /// Return a 256 float array containing FFT data in the range [-1.0, 1.0] /// not clamped. - /// + /// /// **NOTE**: use this only with format [PCMFormat.f32le]. @mustBeOverridden Float32List getFft(); /// Return a 256 float array containing wave data in the range [-1.0, 1.0]. - /// + /// /// **NOTE**: use this only with format [PCMFormat.f32le]. @mustBeOverridden Float32List getWave(); /// Get the audio data representing an array of 256 floats FFT data and /// 256 float of wave data. - /// + /// /// **NOTE**: use this only with format [PCMFormat.f32le]. @mustBeOverridden Float32List getTexture2D(); /// Get the current volume in dB. Returns -100 if the capture is not inited. - /// + /// /// **NOTE**: use this only with format [PCMFormat.f32le]. @mustBeOverridden double getVolumeDb(); diff --git a/lib/src/bindings/recorder_web.dart b/lib/src/bindings/recorder_web.dart index 2ce114f..b2def2f 100644 --- a/lib/src/bindings/recorder_web.dart +++ b/lib/src/bindings/recorder_web.dart @@ -34,7 +34,7 @@ class RecorderWeb extends RecorderImpl { /// Create the worker in the WASM Module and listen for events coming /// from `web/worker.dart.js` @override - Future setDartEventCallbacks() async{ + Future setDartEventCallbacks() async { await initializeRecorderModule(); // This calls the native WASM `createWorkerInWasm()` in `bindings.cpp`. // The latter creates a web Worker using `EM_ASM` inlining JS code to diff --git a/lib/src/filters/filters.dart b/lib/src/filters/filters.dart index be210f0..e5dc8e9 100644 --- a/lib/src/filters/filters.dart +++ b/lib/src/filters/filters.dart @@ -77,7 +77,7 @@ final class Filters { /// - Adjust to: Avoid muting low signals unless silence is acceptable. /// /// #### Recommended Settings for Common Scenarios - /// + /// /// **Speech in a Noisy Environment** /// - targetRMS = 0.1f /// - attackTime = 0.02f @@ -85,7 +85,7 @@ final class Filters { /// - gainSmoothing = 0.01f /// - maxGain = 6.0f /// - minGain = 0.2f - /// + /// /// **Music Playback** /// - targetRMS = 0.2f /// - attackTime = 0.01f @@ -93,7 +93,7 @@ final class Filters { /// - gainSmoothing = 0.05f /// - maxGain = 4.0f /// - minGain = 0.1f - /// + /// /// **Podcast Recording** /// - targetRMS = 0.15f /// - attackTime = 0.02f From 412f75f7c0c448a8e4a70ddaf63cb71f9eade0e7 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Fri, 13 Dec 2024 13:01:34 +0100 Subject: [PATCH 13/30] just a log when init recorder when already initialized --- example/lib/loopback.dart | 14 ++++++-------- lib/src/bindings/recorder.dart | 2 +- lib/src/flutter_recorder.dart | 26 +++++++++++++++++--------- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/example/lib/loopback.dart b/example/lib/loopback.dart index aee621d..939c7aa 100644 --- a/example/lib/loopback.dart +++ b/example/lib/loopback.dart @@ -117,6 +117,7 @@ class _LoopBackState extends State { Future init() async { /// Initialize the player and the recorder. + await disposeAudioSource(); await soloud.init(channels: Channels.mono, sampleRate: sampleRate); // soloud.filters.echoFilter.activate(); // soloud.filters.echoFilter.delay.value = 0.1; @@ -131,15 +132,16 @@ class _LoopBackState extends State { ..start() ..startStreamingData(); - setState(() {}); + if (context.mounted) { + setState(() {}); + } } @override Widget build(BuildContext context) { - const gap = SizedBox(width: 8, height: 8); - return Column( mainAxisSize: MainAxisSize.min, + spacing: 10, children: [ // Start / Stop Row( @@ -151,7 +153,6 @@ class _LoopBackState extends State { }, child: const Text('Init loopback'), ), - gap, OutlinedButton( onPressed: () { soloud.deinit(); @@ -164,10 +165,10 @@ class _LoopBackState extends State { ), ], ), - gap, Row( mainAxisSize: MainAxisSize.min, + spacing: 10, children: [ Text('Auto gain'), Checkbox( @@ -183,8 +184,6 @@ class _LoopBackState extends State { }); }, ), - // gap, - // gap, // Text('Echo Cancellation'), // Checkbox( // value: echoCancellation, @@ -201,7 +200,6 @@ class _LoopBackState extends State { // ), ], ), - gap, if (autoGain) AutoGainSliders(), diff --git a/lib/src/bindings/recorder.dart b/lib/src/bindings/recorder.dart index f80d9e4..e37f161 100644 --- a/lib/src/bindings/recorder.dart +++ b/lib/src/bindings/recorder.dart @@ -44,7 +44,7 @@ abstract class RecorderImpl { /// Set Dart functions to call when an event occurs. @mustBeOverridden - FutureOr setDartEventCallbacks(); + Future setDartEventCallbacks(); /// Enable or disable silence detection. /// diff --git a/lib/src/flutter_recorder.dart b/lib/src/flutter_recorder.dart index 31dbfa0..ec781e6 100644 --- a/lib/src/flutter_recorder.dart +++ b/lib/src/flutter_recorder.dart @@ -99,18 +99,15 @@ interface class Recorder { final _recoreder = RecorderController(); + /// Whether the device is initialized. + bool _isInitialized = false; + /// Whether the device is started. bool _isStarted = false; /// Currently used recorder configuration. PCMFormat _recorderFormat = PCMFormat.s16le; - /// Currently used recorder configuration. - int _recorderSampleRate = 22050; - - /// Currently used recorder configuration. - RecorderChannels _recorderChannels = RecorderChannels.mono; - /// Listening to silence state changes. Stream get silenceChangedEvents => _recoreder.impl.silenceChangedEvents; @@ -202,6 +199,15 @@ interface class Recorder { RecorderChannels channels = RecorderChannels.mono, }) async { await _recoreder.impl.setDartEventCallbacks(); + if (_isInitialized) { + _log.warning('init() called when the native device is already ' + 'initialized. This is expected after a hot restart but not ' + "otherwise. If you see this in production logs, there's probably " + 'a bug in your code. You may have neglected to deinit() Recorder ' + 'during the current lifetime of the app.'); + deinit(); + } + _recoreder.impl.init( deviceID: deviceID, format: format, @@ -209,19 +215,21 @@ interface class Recorder { channels: channels, ); _recorderFormat = format; - _recorderSampleRate = sampleRate; - _recorderChannels = channels; + _isInitialized = true; } /// Dispose capture device. void deinit() { + _isInitialized = false; _isStarted = false; _recoreder.impl.deinit(); } /// Whether the device is initialized. bool isDeviceInitialized() { - return _recoreder.impl.isDeviceInitialized(); + // ignore: join_return_with_assignment + _isInitialized = _recoreder.impl.isDeviceInitialized(); + return _isInitialized; } /// Whether the device is started. From c31a25103014116709044e94d5155083fdbea5b9 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Fri, 13 Dec 2024 13:22:12 +0100 Subject: [PATCH 14/30] added `uint8ListStream` note --- lib/src/flutter_recorder.dart | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/src/flutter_recorder.dart b/lib/src/flutter_recorder.dart index ec781e6..f0ce12c 100644 --- a/lib/src/flutter_recorder.dart +++ b/lib/src/flutter_recorder.dart @@ -114,7 +114,15 @@ interface class Recorder { /// Listen to audio data. /// - /// The streaming must be enable calling [startStreamingData]. + /// The streaming must be enabled calling [startStreamingData]. + /// + /// *NOTE*: the audio data must be managed as the data is received. Since the + /// memory used to store data is the same for all the received streams to + /// have better performances, the data will be overwritten. Hence, you + /// must copy the data if you want fill a buffer. This happens + /// for example when using "RxDart.bufferTime" which will fill a "List" of + /// [AudioDataContainer] but when you will try to read them, you will notice + /// that all the items have the same data. Stream get uint8ListStream => _recoreder.impl.uint8ListStream; @@ -207,7 +215,7 @@ interface class Recorder { 'during the current lifetime of the app.'); deinit(); } - + _recoreder.impl.init( deviceID: deviceID, format: format, From 5decc2865c3a5e9c0a7895b4ab83f84bdf39a95f Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Fri, 13 Dec 2024 13:37:26 +0100 Subject: [PATCH 15/30] added `uint8ListStream` note --- lib/src/flutter_recorder.dart | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/src/flutter_recorder.dart b/lib/src/flutter_recorder.dart index f0ce12c..a7d097c 100644 --- a/lib/src/flutter_recorder.dart +++ b/lib/src/flutter_recorder.dart @@ -116,13 +116,13 @@ interface class Recorder { /// /// The streaming must be enabled calling [startStreamingData]. /// - /// *NOTE*: the audio data must be managed as the data is received. Since the - /// memory used to store data is the same for all the received streams to - /// have better performances, the data will be overwritten. Hence, you - /// must copy the data if you want fill a buffer. This happens - /// for example when using "RxDart.bufferTime" which will fill a "List" of - /// [AudioDataContainer] but when you will try to read them, you will notice - /// that all the items have the same data. + /// **NOTE**: Audio data must be processed as it is received. To optimize + /// performance, the same memory is used to store data for all incoming + /// streams, meaning the data will be overwritten. Therefore, you must copy + /// the data if you need to populate a buffer. For example, when using + /// **RxDart.bufferTime**, it will fill a **List** of `AudioDataContainer` + /// objects, but when you attempt to read them, you will find that all + /// the items contain the same data. Stream get uint8ListStream => _recoreder.impl.uint8ListStream; From dc38b6c77a936e1d1ef163c919329e4f95f3ab50 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Fri, 13 Dec 2024 13:37:42 +0100 Subject: [PATCH 16/30] update README --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6b2a2f7..509dab4 100644 --- a/README.md +++ b/README.md @@ -140,4 +140,7 @@ Recorder.instance.uint8ListStream.listen((data) { Recorder.instance.startStreamingData(); /// Stop streaming: Recorder.instance.stopStreamingData(); -``` \ No newline at end of file +``` +> [!CAUTION] +> Audio data must be processed as it is received. To optimize performance, the same memory is used to store data for all incoming streams, meaning the data will be overwritten. Therefore, you must copy the data if you need to populate a buffer while it arrives. +> For example, when using **RxDart.bufferTime**, it will fill a **List** of `AudioDataContainer` objects, but when you attempt to read them, you will find that all the items contain the same data. \ No newline at end of file From 802d1269afc2777bc00401941a2191e94bb58e84 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Fri, 13 Dec 2024 13:52:53 +0100 Subject: [PATCH 17/30] update README --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 509dab4..03bcc9a 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,10 @@ Add this in `web/index.html` under the `` tag. ``` ``` +The plugin is **WASM** compatible and your app can be compiled and run locally with something like: +``` +flutter run -d chrome --web-renderer canvaskit --web-browser-flag '--disable-web-security' -t lib/main.dart --release +``` #### Linux - [`GStreamer`](https://gstreamer.freedesktop.org/documentation/installing/index.html?gi-language=c) is installed by default on most distributions, but if not, please [install it](https://gstreamer.freedesktop.org/documentation/installing/on-linux.html?gi-language=c) through your distribution's package manager. From 68dedc7d33545214f11f6c897c58052ffafaead1 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Fri, 13 Dec 2024 17:19:54 +0100 Subject: [PATCH 18/30] fix the call to native function before init --- lib/src/flutter_recorder.dart | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/lib/src/flutter_recorder.dart b/lib/src/flutter_recorder.dart index a7d097c..e0fa45e 100644 --- a/lib/src/flutter_recorder.dart +++ b/lib/src/flutter_recorder.dart @@ -115,7 +115,7 @@ interface class Recorder { /// Listen to audio data. /// /// The streaming must be enabled calling [startStreamingData]. - /// + /// /// **NOTE**: Audio data must be processed as it is received. To optimize /// performance, the same memory is used to store data for all incoming /// streams, meaning the data will be overwritten. Therefore, you must copy @@ -235,6 +235,9 @@ interface class Recorder { /// Whether the device is initialized. bool isDeviceInitialized() { + if (!_isInitialized) { + return false; + } // ignore: join_return_with_assignment _isInitialized = _recoreder.impl.isDeviceInitialized(); return _isInitialized; @@ -242,6 +245,9 @@ interface class Recorder { /// Whether the device is started. bool isDeviceStarted() { + if (!_isInitialized) { + return false; + } // ignore: join_return_with_assignment _isStarted = _recoreder.impl.isDeviceStarted(); return _isStarted; @@ -255,23 +261,27 @@ interface class Recorder { /// Throws [RecorderCaptureNotInitializedException]. /// Throws [RecorderFailedToStartDeviceException]. void start() { + if (!_isInitialized) return; _recoreder.impl.start(); _isStarted = true; } /// Stop the device. void stop() { + if (!_isInitialized) return; _isStarted = false; _recoreder.impl.stop(); } /// Start streaming data. void startStreamingData() { + if (!_isInitialized) return; _recoreder.impl.startStreamingData(); } /// Stop streaming data. void stopStreamingData() { + if (!_isInitialized) return; _recoreder.impl.stopStreamingData(); } @@ -289,16 +299,21 @@ interface class Recorder { !kIsWeb && completeFilePath.isNotEmpty, 'completeFilePath is required ' 'on all platforms but on the Web.'); + if (!_isInitialized) { + throw const RecorderCaptureNotInitializedException(); + } _recoreder.impl.startRecording(completeFilePath); } /// Pause recording. void setPauseRecording({required bool pause}) { + if (!_isInitialized) return; _recoreder.impl.setPauseRecording(pause: pause); } /// Stop recording. void stopRecording() { + if (!_isInitialized) return; _recoreder.impl.stopRecording(); } @@ -321,6 +336,10 @@ interface class Recorder { /// /// **NOTE**: use this only with format [PCMFormat.f32le]. Float32List getFft() { + if (!_isInitialized) { + _log.warning(() => 'Recorder is not initialized.'); + return Float32List(256); + } if (!_isStarted) { _log.warning(() => 'Recorder is not started.'); return Float32List(256); @@ -339,6 +358,10 @@ interface class Recorder { /// /// **NOTE**: use this only with format [PCMFormat.f32le]. Float32List getWave() { + if (!_isInitialized) { + _log.warning(() => 'Recorder is not initialized.'); + return Float32List(256); + } if (!_isStarted) { _log.warning(() => 'Recorder is not started.'); return Float32List(256); @@ -357,6 +380,10 @@ interface class Recorder { /// /// **NOTE**: use this only with format [PCMFormat.f32le]. Float32List getTexture2D() { + if (!_isInitialized) { + _log.warning(() => 'Recorder is not initialized.'); + return Float32List(256); + } if (!_isStarted) { _log.warning(() => 'Recorder is not started.'); return Float32List(256); @@ -375,6 +402,10 @@ interface class Recorder { /// /// **NOTE**: use this only with format [PCMFormat.f32le]. double getVolumeDb() { + if (!_isInitialized) { + _log.warning(() => 'Recorder is not initialized.'); + return -100; + } if (!_isStarted) { _log.warning(() => 'Recorder is not started.'); return -100; From 6da1d7878bfcb3e49a8afc082840fb95c0f6b9ff Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Fri, 13 Dec 2024 17:26:36 +0100 Subject: [PATCH 19/30] chore --- example/lib/loopback.dart | 21 +++++++++++++++++++++ example/lib/main.dart | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/example/lib/loopback.dart b/example/lib/loopback.dart index 939c7aa..35de2d2 100644 --- a/example/lib/loopback.dart +++ b/example/lib/loopback.dart @@ -1,10 +1,14 @@ +import 'dart:developer' as dev; + import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_recorder/flutter_recorder.dart'; import 'package:flutter_recorder_example/ui/bars.dart'; import 'package:flutter_soloud/flutter_soloud.dart'; +import 'package:logging/logging.dart'; import 'package:permission_handler/permission_handler.dart'; + /// Loopback example which uses `flutter_soloud` to play audio back to the /// device from the microphone data stream. Please try it with headset to /// prevent audio feedback. @@ -14,6 +18,23 @@ import 'package:permission_handler/permission_handler.dart'; /// /// The `Echo Cancellation` code is not yet ready and don't know if it will be! void main() async { + // The `flutter_recorder` package logs everything + // (from severe warnings to fine debug messages) + // using the standard `package:logging`. + // You can listen to the logs as shown below. + Logger.root.level = kDebugMode ? Level.FINE : Level.INFO; + Logger.root.onRecord.listen((record) { + dev.log( + record.message, + time: record.time, + level: record.level.value, + name: record.loggerName, + zone: record.zone, + error: record.error, + stackTrace: record.stackTrace, + ); + }); + runApp( MaterialApp( home: Scaffold( diff --git a/example/lib/main.dart b/example/lib/main.dart index 24f2a7f..a4dd1c8 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -15,7 +15,7 @@ import 'package:permission_handler/permission_handler.dart'; /// The silence detection and the visualizer works when using [PCMFormat.f32]. /// Writing audio stream to file is not implemented on Web. void main() async { - // The `flutter_soloud` package logs everything + // The `flutter_recorder` package logs everything // (from severe warnings to fine debug messages) // using the standard `package:logging`. // You can listen to the logs as shown below. From 63309a41bc2d2060eb39a1b5c6c9503f8a373b1a Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Mon, 16 Dec 2024 14:04:20 +0100 Subject: [PATCH 20/30] renamed `FilterType` to `RecorderFilterType` --- CHANGELOG.md | 1 + example/lib/loopback.dart | 15 +++++++++++++- lib/flutter_recorder.dart | 1 + .../flutter_recorder_bindings_generated.dart | 12 +++++------ lib/src/bindings/recorder.dart | 12 +++++------ lib/src/bindings/recorder_io.dart | 12 +++++------ lib/src/bindings/recorder_web.dart | 13 ++++++------ lib/src/filters/autogain.dart | 2 +- lib/src/filters/echo_cancellation.dart | 2 +- lib/src/filters/filters.dart | 20 +++++++++---------- lib/src/flutter_recorder.dart | 20 +++++++++---------- 11 files changed, 63 insertions(+), 47 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a93d3c..becd499 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ - added `autoGain` filter - breaking change: - the `init` method is now async + - `FilterType` renamed to `RecorderFilterType` ## 0.9.2 - fix: the stop was instead einit the device diff --git a/example/lib/loopback.dart b/example/lib/loopback.dart index 35de2d2..f26289b 100644 --- a/example/lib/loopback.dart +++ b/example/lib/loopback.dart @@ -85,6 +85,11 @@ class _LoopBackState extends State { }); } + + + final b = recorder.isFilterActive(RecorderFilterType.autogain); + print('Is Filter Active: $b'); + /// Listen for microphne data. recorder.uint8ListStream.listen((chunks) { if (audioSource != null) { @@ -149,6 +154,7 @@ class _LoopBackState extends State { sampleRate: sampleRate, channels: recorderChannels, ); + recorder ..start() ..startStreamingData(); @@ -168,6 +174,13 @@ class _LoopBackState extends State { Row( mainAxisSize: MainAxisSize.min, children: [ + OutlinedButton( + onPressed: () { + final b = recorder.isFilterActive(RecorderFilterType.autogain); + print('Is Filter Active: $b'); + }, + child: const Text('Is Filter Active'), + ), OutlinedButton( onPressed: () { init(); @@ -226,7 +239,7 @@ class _LoopBackState extends State { // if (echoCancellation) EchoCancellationSliders(), - const Bars(), + // const Bars(), ], ); } diff --git a/lib/flutter_recorder.dart b/lib/flutter_recorder.dart index 2703872..ad911df 100644 --- a/lib/flutter_recorder.dart +++ b/lib/flutter_recorder.dart @@ -5,4 +5,5 @@ export 'src/audio_data_container.dart'; export 'src/enums.dart' show PCMFormat, RecorderChannels; export 'src/filters/autogain.dart'; export 'src/filters/echo_cancellation.dart'; +export 'src/filters/filters.dart' show RecorderFilterType; export 'src/flutter_recorder.dart'; diff --git a/lib/src/bindings/flutter_recorder_bindings_generated.dart b/lib/src/bindings/flutter_recorder_bindings_generated.dart index 5fb762f..282ca23 100644 --- a/lib/src/bindings/flutter_recorder_bindings_generated.dart +++ b/lib/src/bindings/flutter_recorder_bindings_generated.dart @@ -405,7 +405,7 @@ class FlutterRecorderBindings { /// FILTERS /// ////////////////////// int isFilterActive( - FilterType filterType, + RecorderFilterType filterType, ) { return _isFilterActive( filterType.value, @@ -419,7 +419,7 @@ class FlutterRecorderBindings { _isFilterActivePtr.asFunction(); CaptureErrors addFilter( - FilterType filterType, + RecorderFilterType filterType, ) { return CaptureErrors.fromValue(_addFilter( filterType.value, @@ -432,7 +432,7 @@ class FlutterRecorderBindings { late final _addFilter = _addFilterPtr.asFunction(); CaptureErrors removeFilter( - FilterType filterType, + RecorderFilterType filterType, ) { return CaptureErrors.fromValue(_removeFilter( filterType.value, @@ -445,7 +445,7 @@ class FlutterRecorderBindings { late final _removeFilter = _removeFilterPtr.asFunction(); void getFilterParamNames( - FilterType filterType, + RecorderFilterType filterType, ffi.Pointer> names, ffi.Pointer paramsCount, ) { @@ -465,7 +465,7 @@ class FlutterRecorderBindings { int, ffi.Pointer>, ffi.Pointer)>(); void setFilterParams( - FilterType filterType, + RecorderFilterType filterType, int attributeId, double value, ) { @@ -484,7 +484,7 @@ class FlutterRecorderBindings { _setFilterParamsPtr.asFunction(); double getFilterParams( - FilterType filterType, + RecorderFilterType filterType, int attributeId, ) { return _getFilterParams( diff --git a/lib/src/bindings/recorder.dart b/lib/src/bindings/recorder.dart index e37f161..d1d81e3 100644 --- a/lib/src/bindings/recorder.dart +++ b/lib/src/bindings/recorder.dart @@ -214,7 +214,7 @@ abstract class RecorderImpl { /// Check if a filter is active. /// Return -1 if the filter is not active or its index. @mustBeOverridden - int isFilterActive(FilterType filterType); + int isFilterActive(RecorderFilterType filterType); /// Add a filter. /// @@ -222,28 +222,28 @@ abstract class RecorderImpl { /// been added. /// Throws [RecorderFilterNotFoundException] if the filter could not be found. @mustBeOverridden - void addFilter(FilterType filterType); + void addFilter(RecorderFilterType filterType); /// Remove a filter. /// /// Throws [RecorderFilterNotFoundException] if trying to a non active /// filter. @mustBeOverridden - CaptureErrors removeFilter(FilterType filterType); + CaptureErrors removeFilter(RecorderFilterType filterType); /// Get filter param names. @mustBeOverridden - List getFilterParamNames(FilterType filterType); + List getFilterParamNames(RecorderFilterType filterType); /// Set filter param value. @mustBeOverridden void setFilterParamValue( - FilterType filterType, + RecorderFilterType filterType, int attributeId, double value, ); /// Get filter param value. @mustBeOverridden - double getFilterParamValue(FilterType filterType, int attributeId); + double getFilterParamValue(RecorderFilterType filterType, int attributeId); } diff --git a/lib/src/bindings/recorder_io.dart b/lib/src/bindings/recorder_io.dart index ade65f6..e30e79b 100644 --- a/lib/src/bindings/recorder_io.dart +++ b/lib/src/bindings/recorder_io.dart @@ -314,12 +314,12 @@ class RecorderFfi extends RecorderImpl { } @override - int isFilterActive(FilterType filterType) { + int isFilterActive(RecorderFilterType filterType) { return _bindings.isFilterActive(filterType); } @override - void addFilter(FilterType filterType) { + void addFilter(RecorderFilterType filterType) { final error = _bindings.addFilter(filterType); if (error != CaptureErrors.captureNoError) { throw RecorderCppException.fromRecorderError(error); @@ -327,7 +327,7 @@ class RecorderFfi extends RecorderImpl { } @override - CaptureErrors removeFilter(FilterType filterType) { + CaptureErrors removeFilter(RecorderFilterType filterType) { final error = _bindings.removeFilter(filterType); if (error != CaptureErrors.captureNoError) { throw RecorderCppException.fromRecorderError(error); @@ -336,7 +336,7 @@ class RecorderFfi extends RecorderImpl { } @override - List getFilterParamNames(FilterType filterType) { + List getFilterParamNames(RecorderFilterType filterType) { final ffi.Pointer> names = calloc(ffi.sizeOf>>() * 30); final ffi.Pointer paramsCount = calloc(ffi.sizeOf()); @@ -356,7 +356,7 @@ class RecorderFfi extends RecorderImpl { @override void setFilterParamValue( - FilterType filterType, + RecorderFilterType filterType, int attributeId, double value, ) { @@ -364,7 +364,7 @@ class RecorderFfi extends RecorderImpl { } @override - double getFilterParamValue(FilterType filterType, int attributeId) { + double getFilterParamValue(RecorderFilterType filterType, int attributeId) { return _bindings.getFilterParams(filterType, attributeId); } } diff --git a/lib/src/bindings/recorder_web.dart b/lib/src/bindings/recorder_web.dart index b2def2f..f651fd0 100644 --- a/lib/src/bindings/recorder_web.dart +++ b/lib/src/bindings/recorder_web.dart @@ -36,6 +36,7 @@ class RecorderWeb extends RecorderImpl { @override Future setDartEventCallbacks() async { await initializeRecorderModule(); + // This calls the native WASM `createWorkerInWasm()` in `bindings.cpp`. // The latter creates a web Worker using `EM_ASM` inlining JS code to // create the worker in the WASM `Module`. @@ -286,12 +287,12 @@ class RecorderWeb extends RecorderImpl { } @override - int isFilterActive(FilterType filterType) { + int isFilterActive(RecorderFilterType filterType) { return wasmIsFilterActive(filterType.value); } @override - void addFilter(FilterType filterType) { + void addFilter(RecorderFilterType filterType) { final error = wasmAddFilter(filterType.value); if (CaptureErrors.fromValue(error) != CaptureErrors.captureNoError) { throw RecorderCppException.fromRecorderError( @@ -301,7 +302,7 @@ class RecorderWeb extends RecorderImpl { } @override - CaptureErrors removeFilter(FilterType filterType) { + CaptureErrors removeFilter(RecorderFilterType filterType) { final error = wasmRemoveFilter(filterType.value); if (CaptureErrors.fromValue(error) != CaptureErrors.captureNoError) { throw RecorderCppException.fromRecorderError( @@ -312,7 +313,7 @@ class RecorderWeb extends RecorderImpl { } @override - List getFilterParamNames(FilterType filterType) { + List getFilterParamNames(RecorderFilterType filterType) { final namesPtr = wasmMalloc(4); final paramsCountPtr = wasmMalloc(4); wasmGetFilterParamNames(filterType.value, namesPtr, paramsCountPtr); @@ -331,7 +332,7 @@ class RecorderWeb extends RecorderImpl { @override void setFilterParamValue( - FilterType filterType, + RecorderFilterType filterType, int attributeId, double value, ) { @@ -339,7 +340,7 @@ class RecorderWeb extends RecorderImpl { } @override - double getFilterParamValue(FilterType filterType, int attributeId) { + double getFilterParamValue(RecorderFilterType filterType, int attributeId) { final value = wasmGetFilterParamValue(filterType.value, attributeId); return value; } diff --git a/lib/src/filters/autogain.dart b/lib/src/filters/autogain.dart index 14a7e17..8a55dcd 100644 --- a/lib/src/filters/autogain.dart +++ b/lib/src/filters/autogain.dart @@ -29,7 +29,7 @@ enum AutoGainEnum { } abstract class _AutoGainInternal extends FilterBase { - const _AutoGainInternal() : super(FilterType.autogain); + const _AutoGainInternal() : super(RecorderFilterType.autogain); AutoGainEnum get queryTargetRms => AutoGainEnum.targetRms; AutoGainEnum get queryAttackTime => AutoGainEnum.attackTime; diff --git a/lib/src/filters/echo_cancellation.dart b/lib/src/filters/echo_cancellation.dart index f207e1a..82cbe62 100644 --- a/lib/src/filters/echo_cancellation.dart +++ b/lib/src/filters/echo_cancellation.dart @@ -21,7 +21,7 @@ enum EchoCancellationEnum { } abstract class _EchoCancellationInternal extends FilterBase { - const _EchoCancellationInternal() : super(FilterType.echoCancellation); + const _EchoCancellationInternal() : super(RecorderFilterType.echoCancellation); EchoCancellationEnum get queryEchoDelayMs => EchoCancellationEnum.echoDelayMs; EchoCancellationEnum get queryEchoAttenuation => diff --git a/lib/src/filters/filters.dart b/lib/src/filters/filters.dart index e5dc8e9..f65bc37 100644 --- a/lib/src/filters/filters.dart +++ b/lib/src/filters/filters.dart @@ -8,11 +8,11 @@ import 'package:meta/meta.dart'; abstract class FilterBase { /// The base class common to all filters. It can be used to [activate], /// [deactivate] or query its status and its index in the filter list. - const FilterBase(FilterType ft) : filterType = ft; + const FilterBase(RecorderFilterType ft) : filterType = ft; /// The type of this filter. It can be used to get the number of its /// parameters or the name of the filter. - final FilterType filterType; + final RecorderFilterType filterType; /// Activate this filter. void activate() => filterType.activate(); @@ -117,7 +117,7 @@ class FilterParam { this._max, ); - final FilterType _type; + final RecorderFilterType _type; final int _attributeId; final double _min; final double _max; @@ -142,7 +142,7 @@ class FilterParam { } /// The different types of audio filters. -enum FilterType { +enum RecorderFilterType { /// Auto gain filter. autogain(0), @@ -153,10 +153,10 @@ enum FilterType { final int value; // ignore: sort_constructors_first - const FilterType(this.value); + const RecorderFilterType(this.value); /// Get the filter type from its value. - static FilterType fromValue(int value) => switch (value) { + static RecorderFilterType fromValue(int value) => switch (value) { 0 => autogain, 1 => echoCancellation, _ => throw ArgumentError('Unknown value for FilterType: $value'), @@ -164,14 +164,14 @@ enum FilterType { @override String toString() => switch (this) { - FilterType.autogain => 'Auto Gain', - FilterType.echoCancellation => 'Echo Cancellation', + RecorderFilterType.autogain => 'Auto Gain', + RecorderFilterType.echoCancellation => 'Echo Cancellation', }; /// The number of parameter this filter owns. int get numParameters => switch (this) { - FilterType.autogain => 6, - FilterType.echoCancellation => 2, + RecorderFilterType.autogain => 6, + RecorderFilterType.echoCancellation => 2, }; /// Activate this filter. diff --git a/lib/src/flutter_recorder.dart b/lib/src/flutter_recorder.dart index e0fa45e..2130425 100644 --- a/lib/src/flutter_recorder.dart +++ b/lib/src/flutter_recorder.dart @@ -337,7 +337,7 @@ interface class Recorder { /// **NOTE**: use this only with format [PCMFormat.f32le]. Float32List getFft() { if (!_isInitialized) { - _log.warning(() => 'Recorder is not initialized.'); + _log.warning(() => 'getFft: Recorder is not initialized.'); return Float32List(256); } if (!_isStarted) { @@ -359,7 +359,7 @@ interface class Recorder { /// **NOTE**: use this only with format [PCMFormat.f32le]. Float32List getWave() { if (!_isInitialized) { - _log.warning(() => 'Recorder is not initialized.'); + _log.warning(() => 'getWave: recorder is not initialized.'); return Float32List(256); } if (!_isStarted) { @@ -381,7 +381,7 @@ interface class Recorder { /// **NOTE**: use this only with format [PCMFormat.f32le]. Float32List getTexture2D() { if (!_isInitialized) { - _log.warning(() => 'Recorder is not initialized.'); + _log.warning(() => 'getTexture2D: recorder is not initialized.'); return Float32List(256); } if (!_isStarted) { @@ -403,7 +403,7 @@ interface class Recorder { /// **NOTE**: use this only with format [PCMFormat.f32le]. double getVolumeDb() { if (!_isInitialized) { - _log.warning(() => 'Recorder is not initialized.'); + _log.warning(() => 'getVolumeDb: recorder is not initialized.'); return -100; } if (!_isStarted) { @@ -425,7 +425,7 @@ interface class Recorder { /// Check if a filter is active. /// Return -1 if the filter is not active or its index. - int isFilterActive(FilterType filterType) { + int isFilterActive(RecorderFilterType filterType) { return _recoreder.impl.isFilterActive(filterType); } @@ -434,7 +434,7 @@ interface class Recorder { /// Throws [RecorderFilterAlreadyAddedException] if the filter has already /// been added. /// Throws [RecorderFilterNotFoundException] if the filter could not be found. - void addFilter(FilterType filterType) { + void addFilter(RecorderFilterType filterType) { _recoreder.impl.addFilter(filterType); } @@ -442,18 +442,18 @@ interface class Recorder { /// /// Throws [RecorderFilterNotFoundException] if trying to a non active /// filter. - CaptureErrors removeFilter(FilterType filterType) { + CaptureErrors removeFilter(RecorderFilterType filterType) { return _recoreder.impl.removeFilter(filterType); } /// Get filter param names. - List getFilterParamNames(FilterType filterType) { + List getFilterParamNames(RecorderFilterType filterType) { return _recoreder.impl.getFilterParamNames(filterType); } /// Set filter param value. void setFilterParamValue( - FilterType filterType, + RecorderFilterType filterType, int attributeId, double value, ) { @@ -461,7 +461,7 @@ interface class Recorder { } /// Get filter param value. - double getFilterParamValue(FilterType filterType, int attributeId) { + double getFilterParamValue(RecorderFilterType filterType, int attributeId) { return _recoreder.impl.getFilterParamValue(filterType, attributeId); } } From db935dd8e60239cb6b0b3e1c60f47eedc5d28915 Mon Sep 17 00:00:00 2001 From: Marco Bavagnoli Date: Mon, 16 Dec 2024 16:07:56 +0100 Subject: [PATCH 21/30] added js to load RecorderModule at start --- CHANGELOG.md | 1 + README.md | 1 + example/lib/loopback.dart | 12 - example/web/index.html | 1 + init_recorder_module.sh | 5 + lib/src/bindings/js_extension.dart | 23 - lib/src/bindings/recorder_web.dart | 2 - pubspec.yaml | 1 + web/compile_init_recorder_module.sh | 1 + web/init_recorder_module.dart | 32 + web/init_recorder_module.dart.js | 2301 +++++++++++++++++++ web/init_recorder_module.dart.js.deps | 215 ++ web/init_recorder_module.dart.js.map | 16 + web/worker.dart.js | 3022 +++++++++++++------------ web/worker.dart.js.deps | 4 +- web/worker.dart.js.map | 12 +- 16 files changed, 4144 insertions(+), 1505 deletions(-) create mode 100644 init_recorder_module.sh create mode 100755 web/compile_init_recorder_module.sh create mode 100644 web/init_recorder_module.dart create mode 100644 web/init_recorder_module.dart.js create mode 100644 web/init_recorder_module.dart.js.deps create mode 100644 web/init_recorder_module.dart.js.map diff --git a/CHANGELOG.md b/CHANGELOG.md index becd499..0d2884b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ - breaking change: - the `init` method is now async - `FilterType` renamed to `RecorderFilterType` + - an [additional script](https://github.com/alnitak/flutter_recorder#web) must be added for the web platform ## 0.9.2 - fix: the stop was instead einit the device diff --git a/README.md b/README.md index 03bcc9a..27ebf86 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ Add the permission in `Runner/Info.plist`. Add this in `web/index.html` under the `` tag. ``` + ``` The plugin is **WASM** compatible and your app can be compiled and run locally with something like: ``` diff --git a/example/lib/loopback.dart b/example/lib/loopback.dart index f26289b..fca6e03 100644 --- a/example/lib/loopback.dart +++ b/example/lib/loopback.dart @@ -85,11 +85,6 @@ class _LoopBackState extends State { }); } - - - final b = recorder.isFilterActive(RecorderFilterType.autogain); - print('Is Filter Active: $b'); - /// Listen for microphne data. recorder.uint8ListStream.listen((chunks) { if (audioSource != null) { @@ -174,13 +169,6 @@ class _LoopBackState extends State { Row( mainAxisSize: MainAxisSize.min, children: [ - OutlinedButton( - onPressed: () { - final b = recorder.isFilterActive(RecorderFilterType.autogain); - print('Is Filter Active: $b'); - }, - child: const Text('Is Filter Active'), - ), OutlinedButton( onPressed: () { init(); diff --git a/example/web/index.html b/example/web/index.html index 446719c..e348a65 100644 --- a/example/web/index.html +++ b/example/web/index.html @@ -36,5 +36,6 @@ + diff --git a/init_recorder_module.sh b/init_recorder_module.sh new file mode 100644 index 0000000..17660d3 --- /dev/null +++ b/init_recorder_module.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -euo pipefail + +cd web +sh ./compile_init_recorder_module.sh diff --git a/lib/src/bindings/js_extension.dart b/lib/src/bindings/js_extension.dart index aba4b0b..5c586dc 100644 --- a/lib/src/bindings/js_extension.dart +++ b/lib/src/bindings/js_extension.dart @@ -6,29 +6,6 @@ import 'dart:js_util'; import 'package:flutter/foundation.dart'; import 'package:web/web.dart' as web; -@JS('RecorderModule') -external JSObject getRecorderModule(); - -@JS('RecorderModule') -external JSObject recorderModuleConstructor(); // Represents the IIFE - -@JS('self.RecorderModule') // Attach RecorderModule to the global scope -external set globalRecorderModule(JSObject module); - -Future initializeRecorderModule() async { - try { - // Convert JavaScript Promise to Dart Future - final promise = recorderModuleConstructor(); - final module = await promiseToFuture(promise); - globalRecorderModule = module; // Make it globally accessible - debugPrint('RecorderModule initialized and set globally.'); - return module; // Return the initialized module - } catch (e) { - debugPrint('Failed to initialize RecorderModule: $e'); - rethrow; - } -} - // ////////////////////////// // common // ////////////////////////// diff --git a/lib/src/bindings/recorder_web.dart b/lib/src/bindings/recorder_web.dart index f651fd0..c71168c 100644 --- a/lib/src/bindings/recorder_web.dart +++ b/lib/src/bindings/recorder_web.dart @@ -35,8 +35,6 @@ class RecorderWeb extends RecorderImpl { /// from `web/worker.dart.js` @override Future setDartEventCallbacks() async { - await initializeRecorderModule(); - // This calls the native WASM `createWorkerInWasm()` in `bindings.cpp`. // The latter creates a web Worker using `EM_ASM` inlining JS code to // create the worker in the WASM `Module`. diff --git a/pubspec.yaml b/pubspec.yaml index 1fe76ef..a16ef29 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -65,5 +65,6 @@ flutter: # https://github.com/flutter/flutter/issues/8230 to be addressed. # to make a conditional build. - web/worker.dart.js + - web/init_recorder_module.dart.js - web/libflutter_recorder_plugin.js - web/libflutter_recorder_plugin.wasm diff --git a/web/compile_init_recorder_module.sh b/web/compile_init_recorder_module.sh new file mode 100755 index 0000000..5330017 --- /dev/null +++ b/web/compile_init_recorder_module.sh @@ -0,0 +1 @@ +dart compile js -O3 -o init_recorder_module.dart.js ./init_recorder_module.dart diff --git a/web/init_recorder_module.dart b/web/init_recorder_module.dart new file mode 100644 index 0000000..71db47f --- /dev/null +++ b/web/init_recorder_module.dart @@ -0,0 +1,32 @@ +// ignore_for_file: avoid_print + +import 'dart:js_interop'; +import 'dart:js_util'; + +@JS('RecorderModule') +external JSObject getRecorderModule(); + +@JS('RecorderModule') +external JSObject recorderModuleConstructor(); // Represents the IIFE + +@JS('self.RecorderModule') // Attach RecorderModule to the global scope +external set globalRecorderModule(JSObject module); + +Future initializeRecorderModule() async { + try { + // Convert JavaScript Promise to Dart Future + final promise = recorderModuleConstructor(); + final module = await promiseToFuture(promise); + globalRecorderModule = module; // Make it globally accessible + print('RecorderModule initialized and set globally.'); + return module; // Return the initialized module + } catch (e) { + print('Failed to initialize RecorderModule: $e'); + rethrow; + } +} + +/// The main Web Worker +void main() async { + await initializeRecorderModule(); +} diff --git a/web/init_recorder_module.dart.js b/web/init_recorder_module.dart.js new file mode 100644 index 0000000..78e91b2 --- /dev/null +++ b/web/init_recorder_module.dart.js @@ -0,0 +1,2301 @@ +(function dartProgram(){function copyProperties(a,b){var s=Object.keys(a) +for(var r=0;r=0)return true +if(typeof version=="function"&&version.length==0){var q=version() +if(/^\d+\.\d+\.\d+\.\d+$/.test(q))return true}}catch(p){}return false}() +function inherit(a,b){a.prototype.constructor=a +a.prototype["$i"+a.name]=a +if(b!=null){if(z){Object.setPrototypeOf(a.prototype,b.prototype) +return}var s=Object.create(b.prototype) +copyProperties(a.prototype,s) +a.prototype=s}}function inheritMany(a,b){for(var s=0;s=s)return new A.ax(s,!0,b,r,"Index out of range") +return new A.aQ(!0,b,r,"Value not in range")}, +a(a){return A.d4(new Error(),a)}, +d4(a,b){var s +if(b==null)b=new A.w() +a.dartException=b +s=A.f_ +if("defineProperty" in Object){Object.defineProperty(a,"message",{get:s}) +a.name=""}else a.toString=s +return a}, +f_(){return J.ar(this.dartException)}, +eX(a){throw A.a(a)}, +eY(a,b){throw A.d4(b,a)}, +eW(a){throw A.a(A.cm(a))}, +x(a){var s,r,q,p,o,n +a=A.eU(a.replace(String({}),"$receiver$")) +s=a.match(/\\\$[a-zA-Z]+\\\$/g) +if(s==null)s=A.c7([],t.s) +r=s.indexOf("\\$arguments\\$") +q=s.indexOf("\\$argumentsExpr\\$") +p=s.indexOf("\\$expr\\$") +o=s.indexOf("\\$method\\$") +n=s.indexOf("\\$receiver\\$") +return new A.bf(a.replace(new RegExp("\\\\\\$arguments\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$","g"),"((?:x|[^x])*)"),r,q,p,o,n)}, +bg(a){return function($expr$){var $argumentsExpr$="$arguments$" +try{$expr$.$method$($argumentsExpr$)}catch(s){return s.message}}(a)}, +ct(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)}, +bY(a,b){var s=b==null,r=s?null:b.method +return new A.aC(a,r,s?null:b.receiver)}, +J(a){if(a==null)return new A.ba(a) +if(a instanceof A.V)return A.I(a,a.a) +if(typeof a!=="object")return a +if("dartException" in a)return A.I(a,a.dartException) +return A.ex(a)}, +I(a,b){if(t.C.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a +return b}, +ex(a){var s,r,q,p,o,n,m,l,k,j,i,h,g +if(!("message" in a))return a +s=a.message +if("number" in a&&typeof a.number=="number"){r=a.number +q=r&65535 +if((B.o.a1(r,16)&8191)===10)switch(q){case 438:return A.I(a,A.bY(A.v(s)+" (Error "+q+")",null)) +case 445:case 5007:A.v(s) +return A.I(a,new A.a6())}}if(a instanceof TypeError){p=$.da() +o=$.db() +n=$.dc() +m=$.dd() +l=$.dg() +k=$.dh() +j=$.df() +$.de() +i=$.dj() +h=$.di() +g=p.k(s) +if(g!=null)return A.I(a,A.bY(s,g)) +else{g=o.k(s) +if(g!=null){g.method="call" +return A.I(a,A.bY(s,g))}else if(n.k(s)!=null||m.k(s)!=null||l.k(s)!=null||k.k(s)!=null||j.k(s)!=null||m.k(s)!=null||i.k(s)!=null||h.k(s)!=null)return A.I(a,new A.a6())}return A.I(a,new A.aU(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.a7() +s=function(b){try{return String(b)}catch(f){}return null}(a) +return A.I(a,new A.t(!1,null,null,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.a7() +return a}, +H(a){var s +if(a instanceof A.V)return a.b +if(a==null)return new A.af(a) +s=a.$cachedTrace +if(s!=null)return s +s=new A.af(a) +if(typeof a==="object")a.$cachedTrace=s +return s}, +ec(a,b,c,d,e,f){switch(b){case 0:return a.$0() +case 1:return a.$1(c) +case 2:return a.$2(c,d) +case 3:return a.$3(c,d,e) +case 4:return a.$4(c,d,e,f)}throw A.a(new A.bl("Unsupported number of arguments for wrapped closure"))}, +am(a,b){var s=a.$identity +if(!!s)return s +s=A.eC(a,b) +a.$identity=s +return s}, +eC(a,b){var s +switch(b){case 0:s=a.$0 +break +case 1:s=a.$1 +break +case 2:s=a.$2 +break +case 3:s=a.$3 +break +case 4:s=a.$4 +break +default:s=null}if(s!=null)return s.bind(a) +return function(c,d,e){return function(f,g,h,i){return e(c,d,f,g,h,i)}}(a,b,A.ec)}, +dt(a2){var s,r,q,p,o,n,m,l,k,j,i=a2.co,h=a2.iS,g=a2.iI,f=a2.nDA,e=a2.aI,d=a2.fs,c=a2.cs,b=d[0],a=c[0],a0=i[b],a1=a2.fT +a1.toString +s=h?Object.create(new A.bc().constructor.prototype):Object.create(new A.av(null,null).constructor.prototype) +s.$initialize=s.constructor +r=h?function static_tear_off(){this.$initialize()}:function tear_off(a3,a4){this.$initialize(a3,a4)} +s.constructor=r +r.prototype=s +s.$_name=b +s.$_target=a0 +q=!h +if(q)p=A.cl(b,a0,g,f) +else{s.$static_name=b +p=a0}s.$S=A.dp(a1,h,g) +s[a]=p +for(o=p,n=1;n>>0!==a||a>=c)throw A.a(A.d0(b,a))}, +aF:function aF(){}, +a4:function a4(){}, +aG:function aG(){}, +P:function P(){}, +a2:function a2(){}, +a3:function a3(){}, +aH:function aH(){}, +aI:function aI(){}, +aJ:function aJ(){}, +aK:function aK(){}, +aL:function aL(){}, +aM:function aM(){}, +aN:function aN(){}, +a5:function a5(){}, +aO:function aO(){}, +ab:function ab(){}, +ac:function ac(){}, +ad:function ad(){}, +ae:function ae(){}, +cp(a,b){var s=b.c +return s==null?b.c=A.c1(a,b.x,!0):s}, +bZ(a,b){var s=b.c +return s==null?b.c=A.ai(a,"O",[b.x]):s}, +cq(a){var s=a.w +if(s===6||s===7||s===8)return A.cq(a.x) +return s===12||s===13}, +dA(a){return a.as}, +d1(a){return A.b3(v.typeUniverse,a,!1)}, +G(a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=a2.w +switch(a0){case 5:case 1:case 2:case 3:case 4:return a2 +case 6:s=a2.x +r=A.G(a1,s,a3,a4) +if(r===s)return a2 +return A.cF(a1,r,!0) +case 7:s=a2.x +r=A.G(a1,s,a3,a4) +if(r===s)return a2 +return A.c1(a1,r,!0) +case 8:s=a2.x +r=A.G(a1,s,a3,a4) +if(r===s)return a2 +return A.cD(a1,r,!0) +case 9:q=a2.y +p=A.T(a1,q,a3,a4) +if(p===q)return a2 +return A.ai(a1,a2.x,p) +case 10:o=a2.x +n=A.G(a1,o,a3,a4) +m=a2.y +l=A.T(a1,m,a3,a4) +if(n===o&&l===m)return a2 +return A.c_(a1,n,l) +case 11:k=a2.x +j=a2.y +i=A.T(a1,j,a3,a4) +if(i===j)return a2 +return A.cE(a1,k,i) +case 12:h=a2.x +g=A.G(a1,h,a3,a4) +f=a2.y +e=A.eu(a1,f,a3,a4) +if(g===h&&e===f)return a2 +return A.cC(a1,g,e) +case 13:d=a2.y +a4+=d.length +c=A.T(a1,d,a3,a4) +o=a2.x +n=A.G(a1,o,a3,a4) +if(c===d&&n===o)return a2 +return A.c0(a1,n,c,!0) +case 14:b=a2.x +if(b=0)p+=" "+r[q];++q}return p+"})"}, +cO(a4,a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=", ",a3=null +if(a6!=null){s=a6.length +if(a5==null)a5=A.c7([],t.s) +else a3=a5.length +r=a5.length +for(q=s;q>0;--q)a5.push("T"+(r+q)) +for(p=t.X,o=t._,n="<",m="",q=0;q=0))return A.cc(a5,k) +n=n+m+a5[k] +j=a6[q] +i=j.w +if(!(i===2||i===3||i===4||i===5||j===p))l=j===o +else l=!0 +if(!l)n+=" extends "+A.n(j,a5)}n+=">"}else n="" +p=a4.x +h=a4.y +g=h.a +f=g.length +e=h.b +d=e.length +c=h.c +b=c.length +a=A.n(p,a5) +for(a0="",a1="",q=0;q0){a0+=a1+"[" +for(a1="",q=0;q0){a0+=a1+"{" +for(a1="",q=0;q "+a}, +n(a,b){var s,r,q,p,o,n,m,l=a.w +if(l===5)return"erased" +if(l===2)return"dynamic" +if(l===3)return"void" +if(l===1)return"Never" +if(l===4)return"any" +if(l===6)return A.n(a.x,b) +if(l===7){s=a.x +r=A.n(s,b) +q=s.w +return(q===12||q===13?"("+r+")":r)+"?"}if(l===8)return"FutureOr<"+A.n(a.x,b)+">" +if(l===9){p=A.ew(a.x) +o=a.y +return o.length>0?p+("<"+A.cV(o,b)+">"):p}if(l===11)return A.en(a,b) +if(l===12)return A.cO(a,b,null) +if(l===13)return A.cO(a.x,b,a.y) +if(l===14){n=a.x +m=b.length +n=m-1-n +if(!(n>=0&&n0)p+="<"+A.ah(c)+">" +s=a.eC.get(p) +if(s!=null)return s +r=new A.p(null,null) +r.w=9 +r.x=b +r.y=c +if(c.length>0)r.c=c[0] +r.as=p +q=A.y(a,r) +a.eC.set(p,q) +return q}, +c_(a,b,c){var s,r,q,p,o,n +if(b.w===10){s=b.x +r=b.y.concat(c)}else{r=c +s=b}q=s.as+(";<"+A.ah(r)+">") +p=a.eC.get(q) +if(p!=null)return p +o=new A.p(null,null) +o.w=10 +o.x=s +o.y=r +o.as=q +n=A.y(a,o) +a.eC.set(q,n) +return n}, +cE(a,b,c){var s,r,q="+"+(b+"("+A.ah(c)+")"),p=a.eC.get(q) +if(p!=null)return p +s=new A.p(null,null) +s.w=11 +s.x=b +s.y=c +s.as=q +r=A.y(a,s) +a.eC.set(q,r) +return r}, +cC(a,b,c){var s,r,q,p,o,n=b.as,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.ah(m) +if(j>0){s=l>0?",":"" +g+=s+"["+A.ah(k)+"]"}if(h>0){s=l>0?",":"" +g+=s+"{"+A.dQ(i)+"}"}r=n+(g+")") +q=a.eC.get(r) +if(q!=null)return q +p=new A.p(null,null) +p.w=12 +p.x=b +p.y=c +p.as=r +o=A.y(a,p) +a.eC.set(r,o) +return o}, +c0(a,b,c,d){var s,r=b.as+("<"+A.ah(c)+">"),q=a.eC.get(r) +if(q!=null)return q +s=A.dS(a,b,c,r,d) +a.eC.set(r,s) +return s}, +dS(a,b,c,d,e){var s,r,q,p,o,n,m,l +if(e){s=c.length +r=A.bF(s) +for(q=0,p=0;p0){n=A.G(a,b,r,0) +m=A.T(a,c,r,0) +return A.c0(a,n,m,c!==m)}}l=new A.p(null,null) +l.w=13 +l.x=b +l.y=c +l.as=d +return A.y(a,l)}, +cy(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}}, +cA(a){var s,r,q,p,o,n,m,l=a.r,k=a.s +for(s=l.length,r=0;r=48&&q<=57)r=A.dJ(r+1,q,l,k) +else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.cz(a,r,l,k,!1) +else if(q===46)r=A.cz(a,r,l,k,!0) +else{++r +switch(q){case 44:break +case 58:k.push(!1) +break +case 33:k.push(!0) +break +case 59:k.push(A.F(a.u,a.e,k.pop())) +break +case 94:k.push(A.dV(a.u,k.pop())) +break +case 35:k.push(A.aj(a.u,5,"#")) +break +case 64:k.push(A.aj(a.u,2,"@")) +break +case 126:k.push(A.aj(a.u,3,"~")) +break +case 60:k.push(a.p) +a.p=k.length +break +case 62:A.dL(a,k) +break +case 38:A.dK(a,k) +break +case 42:p=a.u +k.push(A.cF(p,A.F(p,a.e,k.pop()),a.n)) +break +case 63:p=a.u +k.push(A.c1(p,A.F(p,a.e,k.pop()),a.n)) +break +case 47:p=a.u +k.push(A.cD(p,A.F(p,a.e,k.pop()),a.n)) +break +case 40:k.push(-3) +k.push(a.p) +a.p=k.length +break +case 41:A.dI(a,k) +break +case 91:k.push(a.p) +a.p=k.length +break +case 93:o=k.splice(a.p) +A.cB(a.u,a.e,o) +a.p=k.pop() +k.push(o) +k.push(-1) +break +case 123:k.push(a.p) +a.p=k.length +break +case 125:o=k.splice(a.p) +A.dN(a.u,a.e,o) +a.p=k.pop() +k.push(o) +k.push(-2) +break +case 43:n=l.indexOf("(",r) +k.push(l.substring(r,n)) +k.push(-4) +k.push(a.p) +a.p=k.length +r=n+1 +break +default:throw"Bad character "+q}}}m=k.pop() +return A.F(a.u,a.e,m)}, +dJ(a,b,c,d){var s,r,q=b-48 +for(s=c.length;a=48&&r<=57))break +q=q*10+(r-48)}d.push(q) +return a}, +cz(a,b,c,d,e){var s,r,q,p,o,n,m=b+1 +for(s=c.length;m>>0)-97&65535)<26||r===95||r===36||r===124))q=r>=48&&r<=57 +else q=!0 +if(!q)break}}p=c.substring(b,m) +if(e){s=a.u +o=a.e +if(o.w===10)o=o.x +n=A.e_(s,o.x)[p] +if(n==null)A.eX('No "'+p+'" in "'+A.dA(o)+'"') +d.push(A.bE(s,o,n))}else d.push(p) +return m}, +dL(a,b){var s,r=a.u,q=A.cx(a,b),p=b.pop() +if(typeof p=="string")b.push(A.ai(r,p,q)) +else{s=A.F(r,a.e,p) +switch(s.w){case 12:b.push(A.c0(r,s,q,a.n)) +break +default:b.push(A.c_(r,s,q)) +break}}}, +dI(a,b){var s,r,q,p=a.u,o=b.pop(),n=null,m=null +if(typeof o=="number")switch(o){case-1:n=b.pop() +break +case-2:m=b.pop() +break +default:b.push(o) +break}else b.push(o) +s=A.cx(a,b) +o=b.pop() +switch(o){case-3:o=b.pop() +if(n==null)n=p.sEA +if(m==null)m=p.sEA +r=A.F(p,a.e,o) +q=new A.b0() +q.a=s +q.b=n +q.c=m +b.push(A.cC(p,r,q)) +return +case-4:b.push(A.cE(p,b.pop(),s)) +return +default:throw A.a(A.au("Unexpected state under `()`: "+A.v(o)))}}, +dK(a,b){var s=b.pop() +if(0===s){b.push(A.aj(a.u,1,"0&")) +return}if(1===s){b.push(A.aj(a.u,4,"1&")) +return}throw A.a(A.au("Unexpected extended operation "+A.v(s)))}, +cx(a,b){var s=b.splice(a.p) +A.cB(a.u,a.e,s) +a.p=b.pop() +return s}, +F(a,b,c){if(typeof c=="string")return A.ai(a,c,a.sEA) +else if(typeof c=="number"){b.toString +return A.dM(a,b,c)}else return c}, +cB(a,b,c){var s,r=c.length +for(s=0;sn)return!1 +m=n-o +l=s.b +k=r.b +j=l.length +i=k.length +if(o+j=d)return!1 +a1=f[b] +b+=3 +if(a00?new Array(q):v.typeUniverse.sEA +for(o=0;o0?new Array(a):v.typeUniverse.sEA}, +p:function p(a,b){var _=this +_.a=a +_.b=b +_.r=_.f=_.d=_.c=null +_.w=0 +_.as=_.Q=_.z=_.y=_.x=null}, +b0:function b0(){this.c=this.b=this.a=null}, +bD:function bD(a){this.a=a}, +b_:function b_(){}, +ag:function ag(a){this.a=a}, +dD(){var s,r,q={} +if(self.scheduleImmediate!=null)return A.ey() +if(self.MutationObserver!=null&&self.document!=null){s=self.document.createElement("div") +r=self.document.createElement("span") +q.a=null +new self.MutationObserver(A.am(new A.bi(q),1)).observe(s,{childList:true}) +return new A.bh(q,s,r)}else if(self.setImmediate!=null)return A.ez() +return A.eA()}, +dE(a){self.scheduleImmediate(A.am(new A.bj(a),0))}, +dF(a){self.setImmediate(A.am(new A.bk(a),0))}, +dG(a){A.dO(0,a)}, +dO(a,b){var s=new A.bB() +s.X(a,b) +return s}, +cT(a){return new A.aW(new A.j($.f,a.j("j<0>")),a.j("aW<0>"))}, +cL(a,b){a.$2(0,null) +b.b=!0 +return b.a}, +cI(a,b){A.e2(a,b)}, +cK(a,b){b.H(a)}, +cJ(a,b){b.I(A.J(a),A.H(a))}, +e2(a,b){var s,r,q=new A.bH(b),p=new A.bI(b) +if(a instanceof A.j)a.R(q,p,t.z) +else{s=t.z +if(a instanceof A.j)a.L(q,p,s) +else{r=new A.j($.f,t.d) +r.a=8 +r.c=a +r.R(q,p,s)}}}, +cX(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e) +break}catch(r){e=r +d=c}}}}(a,1) +return $.f.V(new A.bK(s))}, +bW(a){var s +if(t.C.b(a)){s=a.gp() +if(s!=null)return s}return B.b}, +ea(a,b){if($.f===B.a)return null +return null}, +eb(a,b){if($.f!==B.a)A.ea(a,b) +if(b==null)if(t.C.b(a)){b=a.gp() +if(b==null){A.co(a,B.b) +b=B.b}}else b=B.b +else if(t.C.b(a))A.co(a,b) +return new A.B(a,b)}, +cw(a,b){var s,r +for(;s=a.a,(s&4)!==0;)a=a.c +if(a===b){b.q(new A.t(!0,a,null,"Cannot complete a future with itself"),A.cr()) +return}s|=b.a&1 +a.a=s +if((s&24)!==0){r=b.G() +b.t(a) +A.aa(b,r)}else{r=b.c +b.P(a) +a.F(r)}}, +dH(a,b){var s,r,q={},p=q.a=a +for(;s=p.a,(s&4)!==0;){p=p.c +q.a=p}if(p===b){b.q(new A.t(!0,p,null,"Cannot complete a future with itself"),A.cr()) +return}if((s&24)===0){r=b.c +b.P(p) +q.a.F(r) +return}if((s&16)===0&&b.c==null){b.t(p) +return}b.a^=2 +A.S(null,null,b.b,new A.bp(q,b))}, +aa(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g={},f=g.a=a +for(;!0;){s={} +r=f.a +q=(r&16)===0 +p=!q +if(b==null){if(p&&(r&1)===0){f=f.c +A.c6(f.a,f.b)}return}s.a=b +o=b.a +for(f=b;o!=null;f=o,o=n){f.a=null +A.aa(g.a,f) +s.a=o +n=o.a}r=g.a +m=r.c +s.b=p +s.c=m +if(q){l=f.c +l=(l&1)!==0||(l&15)===8}else l=!0 +if(l){k=f.b.b +if(p){r=r.b===k +r=!(r||r)}else r=!1 +if(r){A.c6(m.a,m.b) +return}j=$.f +if(j!==k)$.f=k +else j=null +f=f.c +if((f&15)===8)new A.bw(s,g,p).$0() +else if(q){if((f&1)!==0)new A.bv(s,m).$0()}else if((f&2)!==0)new A.bu(g,s).$0() +if(j!=null)$.f=j +f=s.c +if(f instanceof A.j){r=s.a.$ti +r=r.j("O<2>").b(f)||!r.y[1].b(f)}else r=!1 +if(r){i=s.a.b +if((f.a&24)!==0){h=i.c +i.c=null +b=i.u(h) +i.a=f.a&30|i.a&1 +i.c=f.c +g.a=f +continue}else A.cw(f,i) +return}}i=s.a.b +h=i.c +i.c=null +b=i.u(h) +f=s.b +r=s.c +if(!f){i.a=8 +i.c=r}else{i.a=i.a&1|16 +i.c=r}g.a=i +f=i}}, +eo(a,b){if(t.Q.b(a))return b.V(a) +if(t.v.b(a))return a +throw A.a(A.cg(a,"onError",u.c))}, +em(){var s,r +for(s=$.R;s!=null;s=$.R){$.al=null +r=s.b +$.R=r +if(r==null)$.ak=null +s.a.$0()}}, +es(){$.c5=!0 +try{A.em()}finally{$.al=null +$.c5=!1 +if($.R!=null)$.ce().$1(A.cZ())}}, +cW(a){var s=new A.aX(a),r=$.ak +if(r==null){$.R=$.ak=s +if(!$.c5)$.ce().$1(A.cZ())}else $.ak=r.b=s}, +er(a){var s,r,q,p=$.R +if(p==null){A.cW(a) +$.al=$.ak +return}s=new A.aX(a) +r=$.al +if(r==null){s.b=p +$.R=$.al=s}else{q=r.b +s.b=q +$.al=r.b=s +if(q==null)$.ak=s}}, +eV(a){var s=null,r=$.f +if(B.a===r){A.S(s,s,B.a,a) +return}A.S(s,s,r,r.S(a))}, +fb(a){A.c8(a,"stream",t.K) +return new A.b1()}, +c6(a,b){A.er(new A.bJ(a,b))}, +cU(a,b,c,d){var s,r=$.f +if(r===c)return d.$0() +$.f=c +s=r +try{r=d.$0() +return r}finally{$.f=s}}, +eq(a,b,c,d,e){var s,r=$.f +if(r===c)return d.$1(e) +$.f=c +s=r +try{r=d.$1(e) +return r}finally{$.f=s}}, +ep(a,b,c,d,e,f){var s,r=$.f +if(r===c)return d.$2(e,f) +$.f=c +s=r +try{r=d.$2(e,f) +return r}finally{$.f=s}}, +S(a,b,c,d){if(B.a!==c)d=c.S(d) +A.cW(d)}, +bi:function bi(a){this.a=a}, +bh:function bh(a,b,c){this.a=a +this.b=b +this.c=c}, +bj:function bj(a){this.a=a}, +bk:function bk(a){this.a=a}, +bB:function bB(){}, +bC:function bC(a,b){this.a=a +this.b=b}, +aW:function aW(a,b){this.a=a +this.b=!1 +this.$ti=b}, +bH:function bH(a){this.a=a}, +bI:function bI(a){this.a=a}, +bK:function bK(a){this.a=a}, +B:function B(a,b){this.a=a +this.b=b}, +aY:function aY(){}, +a9:function a9(a,b){this.a=a +this.$ti=b}, +Q:function Q(a,b,c,d,e){var _=this +_.a=null +_.b=a +_.c=b +_.d=c +_.e=d +_.$ti=e}, +j:function j(a,b){var _=this +_.a=0 +_.b=a +_.c=null +_.$ti=b}, +bm:function bm(a,b){this.a=a +this.b=b}, +bt:function bt(a,b){this.a=a +this.b=b}, +bq:function bq(a){this.a=a}, +br:function br(a){this.a=a}, +bs:function bs(a,b,c){this.a=a +this.b=b +this.c=c}, +bp:function bp(a,b){this.a=a +this.b=b}, +bo:function bo(a,b){this.a=a +this.b=b}, +bn:function bn(a,b,c){this.a=a +this.b=b +this.c=c}, +bw:function bw(a,b,c){this.a=a +this.b=b +this.c=c}, +bx:function bx(a){this.a=a}, +bv:function bv(a,b){this.a=a +this.b=b}, +bu:function bu(a,b){this.a=a +this.b=b}, +aX:function aX(a){this.a=a +this.b=null}, +b1:function b1(){}, +bG:function bG(){}, +bJ:function bJ(a,b){this.a=a +this.b=b}, +bz:function bz(){}, +bA:function bA(a,b){this.a=a +this.b=b}, +e:function e(){}, +du(a,b){a=A.a(a) +a.stack=b.h(0) +throw a +throw A.a("unreachable")}, +dB(a,b,c){var s=J.dk(b) +if(!s.A())return a +if(c.length===0){do a+=A.v(s.gv()) +while(s.A())}else{a+=A.v(s.gv()) +for(;s.A();)a=a+c+A.v(s.gv())}return a}, +cr(){return A.H(new Error())}, +b7(a){if(typeof a=="number"||A.c4(a)||a==null)return J.ar(a) +if(typeof a=="string")return JSON.stringify(a) +return A.dz(a)}, +dv(a,b){A.c8(a,"error",t.K) +A.c8(b,"stackTrace",t.l) +A.du(a,b)}, +au(a){return new A.at(a)}, +bV(a,b){return new A.t(!1,null,b,a)}, +cg(a,b,c){return new A.t(!0,a,b,c)}, +dC(a){return new A.aV(a)}, +cu(a){return new A.aT(a)}, +cs(a){return new A.aS(a)}, +cm(a){return new A.aw(a)}, +cn(a,b,c){var s,r +if(A.eO(a))return b+"..."+c +s=new A.bd(b) +$.aq.push(a) +try{r=s +r.a=A.dB(r.a,a,", ")}finally{if(0>=$.aq.length)return A.cc($.aq,-1) +$.aq.pop()}s.a+=c +r=s.a +return r.charCodeAt(0)==0?r:r}, +d6(a){A.eS(a)}, +d:function d(){}, +at:function at(a){this.a=a}, +w:function w(){}, +t:function t(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +aQ:function aQ(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +ax:function ax(a,b,c,d,e){var _=this +_.f=a +_.a=b +_.b=c +_.c=d +_.d=e}, +aV:function aV(a){this.a=a}, +aT:function aT(a){this.a=a}, +aS:function aS(a){this.a=a}, +aw:function aw(a){this.a=a}, +a7:function a7(){}, +bl:function bl(a){this.a=a}, +l:function l(){}, +i:function i(){}, +b2:function b2(){}, +bd:function bd(a){this.a=a}, +eT(a,b){var s=new A.j($.f,b.j("j<0>")),r=new A.a9(s,b.j("a9<0>")) +a.then(A.am(new A.bT(r),1),A.am(new A.bU(r),1)) +return s}, +bT:function bT(a){this.a=a}, +bU:function bU(a){this.a=a}, +b9:function b9(a){this.a=a}, +eS(a){if(typeof dartPrint=="function"){dartPrint(a) +return}if(typeof console=="object"&&typeof console.log!="undefined"){console.log(a) +return}if(typeof print=="function"){print(a) +return}throw"Unable to print message: "+String(a)}, +eZ(a){A.eY(new A.aD("Field '"+a+"' has been assigned during initialization."),new Error())}, +bP(){var s=0,r=A.cT(t.m),q,p=2,o,n,m,l,k,j,i +var $async$bP=A.cX(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:p=4 +k=self +n=k.RecorderModule() +s=7 +return A.cI(A.eT(n,t.m),$async$bP) +case 7:m=b +k.self.RecorderModule=m +A.d6("RecorderModule initialized and set globally.") +q=m +s=1 +break +p=2 +s=6 +break +case 4:p=3 +i=o +l=A.J(i) +A.d6("Failed to initialize RecorderModule: "+A.v(l)) +throw i +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.cK(q,r) +case 2:return A.cJ(o,r)}}) +return A.cL($async$bP,r)}, +bR(){var s=0,r=A.cT(t.n) +var $async$bR=A.cX(function(a,b){if(a===1)return A.cJ(b,r) +while(true)switch(s){case 0:s=2 +return A.cI(A.bP(),$async$bR) +case 2:return A.cK(null,r)}}) +return A.cL($async$bR,r)}},B={} +var w=[A,J,B] +var $={} +A.bX.prototype={} +J.ay.prototype={ +h(a){return"Instance of '"+A.bb(a)+"'"}, +gi(a){return A.N(A.c3(this))}} +J.az.prototype={ +h(a){return String(a)}, +gi(a){return A.N(t.y)}, +$ib:1} +J.Y.prototype={ +h(a){return"null"}, +$ib:1, +$il:1} +J.a0.prototype={$ik:1} +J.D.prototype={ +h(a){return String(a)}} +J.aP.prototype={} +J.a8.prototype={} +J.C.prototype={ +h(a){var s=a[$.d9()] +if(s==null)return this.W(a) +return"JavaScript function for "+J.ar(s)}} +J.a_.prototype={ +h(a){return String(a)}} +J.a1.prototype={ +h(a){return String(a)}} +J.r.prototype={ +h(a){return A.cn(a,"[","]")}, +gU(a){return new J.as(a,a.length,A.c2(a).j("as<1>"))}, +gl(a){return a.length}} +J.b8.prototype={} +J.as.prototype={ +gv(){var s=this.d +return s==null?this.$ti.c.a(s):s}, +A(){var s,r=this,q=r.a,p=q.length +if(r.b!==p)throw A.a(A.eW(q)) +s=r.c +if(s>=p){r.d=null +return!1}r.d=q[s] +r.c=s+1 +return!0}} +J.aB.prototype={ +h(a){if(a===0&&1/a<0)return"-0.0" +else return""+a}, +a1(a,b){var s +if(a>0)s=this.a0(a,b) +else{s=b>31?31:b +s=a>>s>>>0}return s}, +a0(a,b){return b>31?0:a>>>b}, +gi(a){return A.N(t.H)}, +$iq:1} +J.X.prototype={ +gi(a){return A.N(t.S)}, +$ib:1, +$ic:1} +J.aA.prototype={ +gi(a){return A.N(t.i)}, +$ib:1} +J.Z.prototype={ +h(a){return a}, +gi(a){return A.N(t.N)}, +gl(a){return a.length}, +$ib:1, +$iL:1} +A.aD.prototype={ +h(a){return"LateInitializationError: "+this.a}} +A.aE.prototype={ +gv(){var s=this.d +return s==null?this.$ti.c.a(s):s}, +A(){var s,r=this,q=r.a,p=J.d2(q),o=p.gl(q) +if(r.b!==o)throw A.a(A.cm(q)) +s=r.c +if(s>=o){r.d=null +return!1}r.d=p.m(q,s);++r.c +return!0}} +A.W.prototype={} +A.bf.prototype={ +k(a){var s,r,q=this,p=new RegExp(q.a).exec(a) +if(p==null)return null +s=Object.create(null) +r=q.b +if(r!==-1)s.arguments=p[r+1] +r=q.c +if(r!==-1)s.argumentsExpr=p[r+1] +r=q.d +if(r!==-1)s.expr=p[r+1] +r=q.e +if(r!==-1)s.method=p[r+1] +r=q.f +if(r!==-1)s.receiver=p[r+1] +return s}} +A.a6.prototype={ +h(a){return"Null check operator used on a null value"}} +A.aC.prototype={ +h(a){var s,r=this,q="NoSuchMethodError: method not found: '",p=r.b +if(p==null)return"NoSuchMethodError: "+r.a +s=r.c +if(s==null)return q+p+"' ("+r.a+")" +return q+p+"' on '"+s+"' ("+r.a+")"}} +A.aU.prototype={ +h(a){var s=this.a +return s.length===0?"Error":"Error: "+s}} +A.ba.prototype={ +h(a){return"Throw of null ('"+(this.a===null?"null":"undefined")+"' from JavaScript)"}} +A.V.prototype={} +A.af.prototype={ +h(a){var s,r=this.b +if(r!=null)return r +r=this.a +s=r!==null&&typeof r==="object"?r.stack:null +return this.b=s==null?"":s}, +$iE:1} +A.K.prototype={ +h(a){var s=this.constructor,r=s==null?null:s.name +return"Closure '"+A.d8(r==null?"unknown":r)+"'"}, +gac(){return this}, +$C:"$1", +$R:1, +$D:null} +A.b5.prototype={$C:"$0",$R:0} +A.b6.prototype={$C:"$2",$R:2} +A.be.prototype={} +A.bc.prototype={ +h(a){var s=this.$static_name +if(s==null)return"Closure of unknown static method" +return"Closure '"+A.d8(s)+"'"}} +A.av.prototype={ +h(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.bb(this.a)+"'")}} +A.aZ.prototype={ +h(a){return"Reading static variable '"+this.a+"' during its initialization"}} +A.aR.prototype={ +h(a){return"RuntimeError: "+this.a}} +A.bM.prototype={ +$1(a){return this.a(a)}, +$S:5} +A.bN.prototype={ +$2(a,b){return this.a(a,b)}, +$S:6} +A.bO.prototype={ +$1(a){return this.a(a)}, +$S:7} +A.aF.prototype={ +gi(a){return B.r}, +$ib:1} +A.a4.prototype={} +A.aG.prototype={ +gi(a){return B.t}, +$ib:1} +A.P.prototype={ +gl(a){return a.length}, +$io:1} +A.a2.prototype={ +m(a,b){A.M(b,a,a.length) +return a[b]}} +A.a3.prototype={} +A.aH.prototype={ +gi(a){return B.u}, +$ib:1} +A.aI.prototype={ +gi(a){return B.v}, +$ib:1} +A.aJ.prototype={ +gi(a){return B.w}, +m(a,b){A.M(b,a,a.length) +return a[b]}, +$ib:1} +A.aK.prototype={ +gi(a){return B.x}, +m(a,b){A.M(b,a,a.length) +return a[b]}, +$ib:1} +A.aL.prototype={ +gi(a){return B.y}, +m(a,b){A.M(b,a,a.length) +return a[b]}, +$ib:1} +A.aM.prototype={ +gi(a){return B.z}, +m(a,b){A.M(b,a,a.length) +return a[b]}, +$ib:1} +A.aN.prototype={ +gi(a){return B.A}, +m(a,b){A.M(b,a,a.length) +return a[b]}, +$ib:1} +A.a5.prototype={ +gi(a){return B.B}, +gl(a){return a.length}, +m(a,b){A.M(b,a,a.length) +return a[b]}, +$ib:1} +A.aO.prototype={ +gi(a){return B.C}, +gl(a){return a.length}, +m(a,b){A.M(b,a,a.length) +return a[b]}, +$ib:1} +A.ab.prototype={} +A.ac.prototype={} +A.ad.prototype={} +A.ae.prototype={} +A.p.prototype={ +j(a){return A.bE(v.typeUniverse,this,a)}, +N(a){return A.dY(v.typeUniverse,this,a)}} +A.b0.prototype={} +A.bD.prototype={ +h(a){return A.n(this.a,null)}} +A.b_.prototype={ +h(a){return this.a}} +A.ag.prototype={$iw:1} +A.bi.prototype={ +$1(a){var s=this.a,r=s.a +s.a=null +r.$0()}, +$S:3} +A.bh.prototype={ +$1(a){var s,r +this.a.a=a +s=this.b +r=this.c +s.firstChild?s.removeChild(r):s.appendChild(r)}, +$S:8} +A.bj.prototype={ +$0(){this.a.$0()}, +$S:4} +A.bk.prototype={ +$0(){this.a.$0()}, +$S:4} +A.bB.prototype={ +X(a,b){if(self.setTimeout!=null)self.setTimeout(A.am(new A.bC(this,b),0),a) +else throw A.a(A.dC("`setTimeout()` not found."))}} +A.bC.prototype={ +$0(){this.b.$0()}, +$S:0} +A.aW.prototype={ +H(a){var s,r=this +if(a==null)a=r.$ti.c.a(a) +if(!r.b)r.a.M(a) +else{s=r.a +if(r.$ti.j("O<1>").b(a))s.O(a) +else s.C(a)}}, +I(a,b){var s=this.a +if(this.b)s.n(a,b) +else s.q(a,b)}} +A.bH.prototype={ +$1(a){return this.a.$2(0,a)}, +$S:1} +A.bI.prototype={ +$2(a,b){this.a.$2(1,new A.V(a,b))}, +$S:9} +A.bK.prototype={ +$2(a,b){this.a(a,b)}, +$S:10} +A.B.prototype={ +h(a){return A.v(this.a)}, +$id:1, +gp(){return this.b}} +A.aY.prototype={ +I(a,b){var s,r=this.a +if((r.a&30)!==0)throw A.a(A.cs("Future already completed")) +s=A.eb(a,b) +r.q(s.a,s.b)}, +T(a){return this.I(a,null)}} +A.a9.prototype={ +H(a){var s=this.a +if((s.a&30)!==0)throw A.a(A.cs("Future already completed")) +s.M(a)}} +A.Q.prototype={ +a3(a){if((this.c&15)!==6)return!0 +return this.b.b.K(this.d,a.a)}, +a2(a){var s,r=this.e,q=null,p=a.a,o=this.b.b +if(t.Q.b(r))q=o.a7(r,p,a.b) +else q=o.K(r,p) +try{p=q +return p}catch(s){if(t.c.b(A.J(s))){if((this.c&1)!==0)throw A.a(A.bV("The error handler of Future.then must return a value of the returned future's type","onError")) +throw A.a(A.bV("The error handler of Future.catchError must return a value of the future's type","onError"))}else throw s}}} +A.j.prototype={ +P(a){this.a=this.a&1|4 +this.c=a}, +L(a,b,c){var s,r,q=$.f +if(q===B.a){if(b!=null&&!t.Q.b(b)&&!t.v.b(b))throw A.a(A.cg(b,"onError",u.c))}else if(b!=null)b=A.eo(b,q) +s=new A.j(q,c.j("j<0>")) +r=b==null?1:3 +this.B(new A.Q(s,r,a,b,this.$ti.j("@<1>").N(c).j("Q<1,2>"))) +return s}, +ab(a,b){return this.L(a,null,b)}, +R(a,b,c){var s=new A.j($.f,c.j("j<0>")) +this.B(new A.Q(s,19,a,b,this.$ti.j("@<1>").N(c).j("Q<1,2>"))) +return s}, +a_(a){this.a=this.a&1|16 +this.c=a}, +t(a){this.a=a.a&30|this.a&1 +this.c=a.c}, +B(a){var s=this,r=s.a +if(r<=3){a.a=s.c +s.c=a}else{if((r&4)!==0){r=s.c +if((r.a&24)===0){r.B(a) +return}s.t(r)}A.S(null,null,s.b,new A.bm(s,a))}}, +F(a){var s,r,q,p,o,n=this,m={} +m.a=a +if(a==null)return +s=n.a +if(s<=3){r=n.c +n.c=a +if(r!=null){q=a.a +for(p=a;q!=null;p=q,q=o)o=q.a +p.a=r}}else{if((s&4)!==0){s=n.c +if((s.a&24)===0){s.F(a) +return}n.t(s)}m.a=n.u(a) +A.S(null,null,n.b,new A.bt(m,n))}}, +G(){var s=this.c +this.c=null +return this.u(s)}, +u(a){var s,r,q +for(s=a,r=null;s!=null;r=s,s=q){q=s.a +s.a=r}return r}, +Z(a){var s,r,q,p=this +p.a^=2 +try{a.L(new A.bq(p),new A.br(p),t.P)}catch(q){s=A.J(q) +r=A.H(q) +A.eV(new A.bs(p,s,r))}}, +C(a){var s=this,r=s.G() +s.a=8 +s.c=a +A.aa(s,r)}, +n(a,b){var s=this.G() +this.a_(new A.B(a,b)) +A.aa(this,s)}, +M(a){if(this.$ti.j("O<1>").b(a)){this.O(a) +return}this.Y(a)}, +Y(a){this.a^=2 +A.S(null,null,this.b,new A.bo(this,a))}, +O(a){if(this.$ti.b(a)){A.dH(a,this) +return}this.Z(a)}, +q(a,b){this.a^=2 +A.S(null,null,this.b,new A.bn(this,a,b))}, +$iO:1} +A.bm.prototype={ +$0(){A.aa(this.a,this.b)}, +$S:0} +A.bt.prototype={ +$0(){A.aa(this.b,this.a.a)}, +$S:0} +A.bq.prototype={ +$1(a){var s,r,q,p=this.a +p.a^=2 +try{p.C(p.$ti.c.a(a))}catch(q){s=A.J(q) +r=A.H(q) +p.n(s,r)}}, +$S:3} +A.br.prototype={ +$2(a,b){this.a.n(a,b)}, +$S:11} +A.bs.prototype={ +$0(){this.a.n(this.b,this.c)}, +$S:0} +A.bp.prototype={ +$0(){A.cw(this.a.a,this.b)}, +$S:0} +A.bo.prototype={ +$0(){this.a.C(this.b)}, +$S:0} +A.bn.prototype={ +$0(){this.a.n(this.b,this.c)}, +$S:0} +A.bw.prototype={ +$0(){var s,r,q,p,o,n,m,l=this,k=null +try{q=l.a.a +k=q.b.b.a5(q.d)}catch(p){s=A.J(p) +r=A.H(p) +if(l.c&&l.b.a.c.a===s){q=l.a +q.c=l.b.a.c}else{q=s +o=r +if(o==null)o=A.bW(q) +n=l.a +n.c=new A.B(q,o) +q=n}q.b=!0 +return}if(k instanceof A.j&&(k.a&24)!==0){if((k.a&16)!==0){q=l.a +q.c=k.c +q.b=!0}return}if(k instanceof A.j){m=l.b.a +q=l.a +q.c=k.ab(new A.bx(m),t.z) +q.b=!1}}, +$S:0} +A.bx.prototype={ +$1(a){return this.a}, +$S:12} +A.bv.prototype={ +$0(){var s,r,q,p,o,n +try{q=this.a +p=q.a +q.c=p.b.b.K(p.d,this.b)}catch(o){s=A.J(o) +r=A.H(o) +q=s +p=r +if(p==null)p=A.bW(q) +n=this.a +n.c=new A.B(q,p) +n.b=!0}}, +$S:0} +A.bu.prototype={ +$0(){var s,r,q,p,o,n,m,l=this +try{s=l.a.a.c +p=l.b +if(p.a.a3(s)&&p.a.e!=null){p.c=p.a.a2(s) +p.b=!1}}catch(o){r=A.J(o) +q=A.H(o) +p=l.a.a.c +if(p.a===r){n=l.b +n.c=p +p=n}else{p=r +n=q +if(n==null)n=A.bW(p) +m=l.b +m.c=new A.B(p,n) +p=m}p.b=!0}}, +$S:0} +A.aX.prototype={} +A.b1.prototype={} +A.bG.prototype={} +A.bJ.prototype={ +$0(){A.dv(this.a,this.b)}, +$S:0} +A.bz.prototype={ +a9(a){var s,r,q +try{if(B.a===$.f){a.$0() +return}A.cU(null,null,this,a)}catch(q){s=A.J(q) +r=A.H(q) +A.c6(s,r)}}, +S(a){return new A.bA(this,a)}, +a6(a){if($.f===B.a)return a.$0() +return A.cU(null,null,this,a)}, +a5(a){return this.a6(a,t.z)}, +aa(a,b){if($.f===B.a)return a.$1(b) +return A.eq(null,null,this,a,b)}, +K(a,b){var s=t.z +return this.aa(a,b,s,s)}, +a8(a,b,c){if($.f===B.a)return a.$2(b,c) +return A.ep(null,null,this,a,b,c)}, +a7(a,b,c){var s=t.z +return this.a8(a,b,c,s,s,s)}, +a4(a){return a}, +V(a){var s=t.z +return this.a4(a,s,s,s)}} +A.bA.prototype={ +$0(){return this.a.a9(this.b)}, +$S:0} +A.e.prototype={ +gU(a){return new A.aE(a,this.gl(a),A.ao(a).j("aE"))}, +h(a){return A.cn(a,"[","]")}} +A.d.prototype={ +gp(){return A.dy(this)}} +A.at.prototype={ +h(a){var s=this.a +if(s!=null)return"Assertion failed: "+A.b7(s) +return"Assertion failed"}} +A.w.prototype={} +A.t.prototype={ +gE(){return"Invalid argument"+(!this.a?"(s)":"")}, +gD(){return""}, +h(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+p,n=s.gE()+q+o +if(!s.a)return n +return n+s.gD()+": "+A.b7(s.gJ())}, +gJ(){return this.b}} +A.aQ.prototype={ +gJ(){return this.b}, +gE(){return"RangeError"}, +gD(){return""}} +A.ax.prototype={ +gJ(){return this.b}, +gE(){return"RangeError"}, +gD(){if(this.b<0)return": index must not be negative" +var s=this.f +if(s===0)return": no indices are valid" +return": index should be less than "+s}, +gl(a){return this.f}} +A.aV.prototype={ +h(a){return"Unsupported operation: "+this.a}} +A.aT.prototype={ +h(a){return"UnimplementedError: "+this.a}} +A.aS.prototype={ +h(a){return"Bad state: "+this.a}} +A.aw.prototype={ +h(a){return"Concurrent modification during iteration: "+A.b7(this.a)+"."}} +A.a7.prototype={ +h(a){return"Stack Overflow"}, +gp(){return null}, +$id:1} +A.bl.prototype={ +h(a){return"Exception: "+this.a}} +A.l.prototype={ +h(a){return"null"}} +A.i.prototype={$ii:1, +h(a){return"Instance of '"+A.bb(this)+"'"}, +gi(a){return A.eG(this)}, +toString(){return this.h(this)}} +A.b2.prototype={ +h(a){return""}, +$iE:1} +A.bd.prototype={ +gl(a){return this.a.length}, +h(a){var s=this.a +return s.charCodeAt(0)==0?s:s}} +A.bT.prototype={ +$1(a){return this.a.H(a)}, +$S:1} +A.bU.prototype={ +$1(a){if(a==null)return this.a.T(new A.b9(a===undefined)) +return this.a.T(a)}, +$S:1} +A.b9.prototype={ +h(a){return"Promise was rejected with a value of `"+(this.a?"undefined":"null")+"`."}};(function aliases(){var s=J.D.prototype +s.W=s.h})();(function installTearOffs(){var s=hunkHelpers._static_1,r=hunkHelpers._static_0 +s(A,"ey","dE",2) +s(A,"ez","dF",2) +s(A,"eA","dG",2) +r(A,"cZ","es",0)})();(function inheritance(){var s=hunkHelpers.mixin,r=hunkHelpers.inherit,q=hunkHelpers.inheritMany +r(A.i,null) +q(A.i,[A.bX,J.ay,J.as,A.d,A.aE,A.W,A.bf,A.ba,A.V,A.af,A.K,A.p,A.b0,A.bD,A.bB,A.aW,A.B,A.aY,A.Q,A.j,A.aX,A.b1,A.bG,A.e,A.a7,A.bl,A.l,A.b2,A.bd,A.b9]) +q(J.ay,[J.az,J.Y,J.a0,J.a_,J.a1,J.aB,J.Z]) +q(J.a0,[J.D,J.r,A.aF,A.a4]) +q(J.D,[J.aP,J.a8,J.C]) +r(J.b8,J.r) +q(J.aB,[J.X,J.aA]) +q(A.d,[A.aD,A.w,A.aC,A.aU,A.aZ,A.aR,A.b_,A.at,A.t,A.aV,A.aT,A.aS,A.aw]) +r(A.a6,A.w) +q(A.K,[A.b5,A.b6,A.be,A.bM,A.bO,A.bi,A.bh,A.bH,A.bq,A.bx,A.bT,A.bU]) +q(A.be,[A.bc,A.av]) +q(A.b6,[A.bN,A.bI,A.bK,A.br]) +q(A.a4,[A.aG,A.P]) +q(A.P,[A.ab,A.ad]) +r(A.ac,A.ab) +r(A.a2,A.ac) +r(A.ae,A.ad) +r(A.a3,A.ae) +q(A.a2,[A.aH,A.aI]) +q(A.a3,[A.aJ,A.aK,A.aL,A.aM,A.aN,A.a5,A.aO]) +r(A.ag,A.b_) +q(A.b5,[A.bj,A.bk,A.bC,A.bm,A.bt,A.bs,A.bp,A.bo,A.bn,A.bw,A.bv,A.bu,A.bJ,A.bA]) +r(A.a9,A.aY) +r(A.bz,A.bG) +q(A.t,[A.aQ,A.ax]) +s(A.ab,A.e) +s(A.ac,A.W) +s(A.ad,A.e) +s(A.ae,A.W)})() +var v={typeUniverse:{eC:new Map(),tR:{},eT:{},tPV:{},sEA:[]},mangledGlobalNames:{c:"int",q:"double",eR:"num",L:"String",eB:"bool",l:"Null",dw:"List",i:"Object",f9:"Map"},mangledNames:{},types:["~()","~(@)","~(~())","l(@)","l()","@(@)","@(@,L)","@(L)","l(~())","l(@,E)","~(c,@)","l(i,E)","j<@>(@)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti")} +A.dX(v.typeUniverse,JSON.parse('{"aP":"D","a8":"D","C":"D","az":{"b":[]},"Y":{"l":[],"b":[]},"a0":{"k":[]},"D":{"k":[]},"r":{"k":[]},"b8":{"r":["1"],"k":[]},"aB":{"q":[]},"X":{"q":[],"c":[],"b":[]},"aA":{"q":[],"b":[]},"Z":{"L":[],"b":[]},"aD":{"d":[]},"a6":{"w":[],"d":[]},"aC":{"d":[]},"aU":{"d":[]},"af":{"E":[]},"aZ":{"d":[]},"aR":{"d":[]},"aF":{"k":[],"b":[]},"a4":{"k":[]},"aG":{"k":[],"b":[]},"P":{"o":["1"],"k":[]},"a2":{"e":["q"],"o":["q"],"k":[]},"a3":{"e":["c"],"o":["c"],"k":[]},"aH":{"e":["q"],"o":["q"],"k":[],"b":[],"e.E":"q"},"aI":{"e":["q"],"o":["q"],"k":[],"b":[],"e.E":"q"},"aJ":{"e":["c"],"o":["c"],"k":[],"b":[],"e.E":"c"},"aK":{"e":["c"],"o":["c"],"k":[],"b":[],"e.E":"c"},"aL":{"e":["c"],"o":["c"],"k":[],"b":[],"e.E":"c"},"aM":{"e":["c"],"o":["c"],"k":[],"b":[],"e.E":"c"},"aN":{"e":["c"],"o":["c"],"k":[],"b":[],"e.E":"c"},"a5":{"e":["c"],"o":["c"],"k":[],"b":[],"e.E":"c"},"aO":{"e":["c"],"o":["c"],"k":[],"b":[],"e.E":"c"},"b_":{"d":[]},"ag":{"w":[],"d":[]},"j":{"O":["1"]},"B":{"d":[]},"a9":{"aY":["1"]},"at":{"d":[]},"w":{"d":[]},"t":{"d":[]},"aQ":{"d":[]},"ax":{"d":[]},"aV":{"d":[]},"aT":{"d":[]},"aS":{"d":[]},"aw":{"d":[]},"a7":{"d":[]},"b2":{"E":[]}}')) +A.dW(v.typeUniverse,JSON.parse('{"W":1,"P":1,"b1":1}')) +var u={c:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type"} +var t=(function rtii(){var s=A.d1 +return{C:s("d"),Z:s("f5"),s:s("r"),b:s("r<@>"),T:s("Y"),m:s("k"),g:s("C"),p:s("o<@>"),P:s("l"),K:s("i"),L:s("fa"),l:s("E"),N:s("L"),R:s("b"),c:s("w"),o:s("a8"),d:s("j<@>"),y:s("eB"),i:s("q"),z:s("@"),v:s("@(i)"),Q:s("@(i,E)"),S:s("c"),A:s("0&*"),_:s("i*"),O:s("O?"),X:s("i?"),H:s("eR"),n:s("~")}})();(function constants(){B.n=J.ay.prototype +B.o=J.X.prototype +B.p=J.C.prototype +B.q=J.a0.prototype +B.f=J.aP.prototype +B.c=J.a8.prototype +B.d=function getTagFallback(o) { + var s = Object.prototype.toString.call(o); + return s.substring(8, s.length - 1); +} +B.h=function() { + var toStringFunction = Object.prototype.toString; + function getTag(o) { + var s = toStringFunction.call(o); + return s.substring(8, s.length - 1); + } + function getUnknownTag(object, tag) { + if (/^HTML[A-Z].*Element$/.test(tag)) { + var name = toStringFunction.call(object); + if (name == "[object Object]") return null; + return "HTMLElement"; + } + } + function getUnknownTagGenericBrowser(object, tag) { + if (object instanceof HTMLElement) return "HTMLElement"; + return getUnknownTag(object, tag); + } + function prototypeForTag(tag) { + if (typeof window == "undefined") return null; + if (typeof window[tag] == "undefined") return null; + var constructor = window[tag]; + if (typeof constructor != "function") return null; + return constructor.prototype; + } + function discriminator(tag) { return null; } + var isBrowser = typeof HTMLElement == "function"; + return { + getTag: getTag, + getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, + prototypeForTag: prototypeForTag, + discriminator: discriminator }; +} +B.m=function(getTagFallback) { + return function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("DumpRenderTree") >= 0) return hooks; + if (userAgent.indexOf("Chrome") >= 0) { + function confirm(p) { + return typeof window == "object" && window[p] && window[p].name == p; + } + if (confirm("Window") && confirm("HTMLElement")) return hooks; + } + hooks.getTag = getTagFallback; + }; +} +B.i=function(hooks) { + if (typeof dartExperimentalFixupGetTag != "function") return hooks; + hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); +} +B.l=function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("Firefox") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "GeoGeolocation": "Geolocation", + "Location": "!Location", + "WorkerMessageEvent": "MessageEvent", + "XMLDocument": "!Document"}; + function getTagFirefox(o) { + var tag = getTag(o); + return quickMap[tag] || tag; + } + hooks.getTag = getTagFirefox; +} +B.k=function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("Trident/") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "HTMLDDElement": "HTMLElement", + "HTMLDTElement": "HTMLElement", + "HTMLPhraseElement": "HTMLElement", + "Position": "Geoposition" + }; + function getTagIE(o) { + var tag = getTag(o); + var newTag = quickMap[tag]; + if (newTag) return newTag; + if (tag == "Object") { + if (window.DataView && (o instanceof window.DataView)) return "DataView"; + } + return tag; + } + function prototypeForTagIE(tag) { + var constructor = window[tag]; + if (constructor == null) return null; + return constructor.prototype; + } + hooks.getTag = getTagIE; + hooks.prototypeForTag = prototypeForTagIE; +} +B.j=function(hooks) { + var getTag = hooks.getTag; + var prototypeForTag = hooks.prototypeForTag; + function getTagFixed(o) { + var tag = getTag(o); + if (tag == "Document") { + if (!!o.xmlVersion) return "!Document"; + return "!HTMLDocument"; + } + return tag; + } + function prototypeForTagFixed(tag) { + if (tag == "Document") return null; + return prototypeForTag(tag); + } + hooks.getTag = getTagFixed; + hooks.prototypeForTag = prototypeForTagFixed; +} +B.e=function(hooks) { return hooks; } + +B.a=new A.bz() +B.b=new A.b2() +B.r=A.u("f0") +B.t=A.u("f1") +B.u=A.u("f3") +B.v=A.u("f4") +B.w=A.u("f6") +B.x=A.u("f7") +B.y=A.u("f8") +B.z=A.u("fm") +B.A=A.u("fn") +B.B=A.u("fo") +B.C=A.u("fp")})();(function staticFields(){$.by=null +$.aq=A.c7([],A.d1("r")) +$.cj=null +$.ci=null +$.d3=null +$.cY=null +$.d7=null +$.bL=null +$.bQ=null +$.cb=null +$.R=null +$.ak=null +$.al=null +$.c5=!1 +$.f=B.a})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal +s($,"f2","d9",()=>A.eF("_$dart_dartClosure")) +s($,"fc","da",()=>A.x(A.bg({ +toString:function(){return"$receiver$"}}))) +s($,"fd","db",()=>A.x(A.bg({$method$:null, +toString:function(){return"$receiver$"}}))) +s($,"fe","dc",()=>A.x(A.bg(null))) +s($,"ff","dd",()=>A.x(function(){var $argumentsExpr$="$arguments$" +try{null.$method$($argumentsExpr$)}catch(r){return r.message}}())) +s($,"fi","dg",()=>A.x(A.bg(void 0))) +s($,"fj","dh",()=>A.x(function(){var $argumentsExpr$="$arguments$" +try{(void 0).$method$($argumentsExpr$)}catch(r){return r.message}}())) +s($,"fh","df",()=>A.x(A.ct(null))) +s($,"fg","de",()=>A.x(function(){try{null.$method$}catch(r){return r.message}}())) +s($,"fl","dj",()=>A.x(A.ct(void 0))) +s($,"fk","di",()=>A.x(function(){try{(void 0).$method$}catch(r){return r.message}}())) +s($,"fq","ce",()=>A.dD())})();(function nativeSupport(){!function(){var s=function(a){var m={} +m[a]=1 +return Object.keys(hunkHelpers.convertToFastObject(m))[0]} +v.getIsolateTag=function(a){return s("___dart_"+a+v.isolateTag)} +var r="___dart_isolate_tags_" +var q=Object[r]||(Object[r]=Object.create(null)) +var p="_ZxYxX" +for(var o=0;;o++){var n=s(p+"_"+o+"_") +if(!(n in q)){q[n]=1 +v.isolateTag=n +break}}v.dispatchPropertyName=v.getIsolateTag("dispatch_record")}() +hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer:A.aF,ArrayBufferView:A.a4,DataView:A.aG,Float32Array:A.aH,Float64Array:A.aI,Int16Array:A.aJ,Int32Array:A.aK,Int8Array:A.aL,Uint16Array:A.aM,Uint32Array:A.aN,Uint8ClampedArray:A.a5,CanvasPixelArray:A.a5,Uint8Array:A.aO}) +hunkHelpers.setOrUpdateLeafTags({ArrayBuffer:true,ArrayBufferView:false,DataView:true,Float32Array:true,Float64Array:true,Int16Array:true,Int32Array:true,Int8Array:true,Uint16Array:true,Uint32Array:true,Uint8ClampedArray:true,CanvasPixelArray:true,Uint8Array:false}) +A.P.$nativeSuperclassTag="ArrayBufferView" +A.ab.$nativeSuperclassTag="ArrayBufferView" +A.ac.$nativeSuperclassTag="ArrayBufferView" +A.a2.$nativeSuperclassTag="ArrayBufferView" +A.ad.$nativeSuperclassTag="ArrayBufferView" +A.ae.$nativeSuperclassTag="ArrayBufferView" +A.a3.$nativeSuperclassTag="ArrayBufferView"})() +Function.prototype.$2=function(a,b){return this(a,b)} +Function.prototype.$0=function(){return this()} +Function.prototype.$1=function(a){return this(a)} +Function.prototype.$3=function(a,b,c){return this(a,b,c)} +Function.prototype.$4=function(a,b,c,d){return this(a,b,c,d)} +Function.prototype.$1$1=function(a){return this(a)} +convertAllToFastObject(w) +convertToFastObject($);(function(a){if(typeof document==="undefined"){a(null) +return}if(typeof document.currentScript!="undefined"){a(document.currentScript) +return}var s=document.scripts +function onLoad(b){for(var q=0;q","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","Rti._eval","Rti._bind","_rtiBind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_awaitOnObject.","_wrapJsFunctionForAsync.","AsyncError.toString","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_FutureListener.matchesErrorTest","_FutureListener.handleError","_Future._setChained","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._completeWithValue","_Future._completeError","_Future._setError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFutureAsync.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","_rootHandleError.","_RootZone.runGuarded","_RootZone.bindCallbackGuarded","_RootZone.run","_RootZone.run[function-entry$1]","_RootZone.runUnary","_RootZone.runUnary[function-entry$2]","_RootZone.runBinary","_RootZone.runBinary[function-entry$3]","_RootZone.registerBinaryCallback","_RootZone.registerBinaryCallback[function-entry$1]","_RootZone.bindCallbackGuarded.","ListBase.iterator","ListBase.toString","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","Null.toString","Object.toString","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","promiseToFuture.","NullRejectionException.toString","DART_CLOSURE_PROPERTY_NAME","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","","$intercepted$get$iterator$ax","$intercepted$get$length$asx","$intercepted$get$runtimeType$Ibdinsux","$intercepted$toString0$IJavaScriptBigIntJavaScriptFunctionJavaScriptSymbolLegacyJavaScriptObjectabnsux","ArrayIterator","AsyncError","BoundClosure","ByteBuffer","ByteData","Closure","Closure0Args","Closure2Args","Error","ExceptionAndStackTrace","FixedLengthListMixin","Float32List","Float64List","Function","Future","IndexError","Int16List","Int32List","Int8List","Interceptor","JSArray","JSBool","JSInt","JSNull","JSNumNotInt","JSNumber","JSObject","JSString","JSUnmodifiableArray","JS_CONST","JavaScriptBigInt","JavaScriptFunction","JavaScriptIndexingBehavior","JavaScriptObject","JavaScriptSymbol","LateError","LegacyJavaScriptObject","List","ListBase","ListIterator","Map","NativeByteBuffer","NativeByteData","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeTypedData","NativeUint16List","NativeUint32List","NativeUint8ClampedList","NativeUint8List","Null","NullError","NullRejectionException","NullThrownFromJavaScriptException","Object","PlainJavaScriptObject","RangeError","Record","Rti","RuntimeError","StackOverflowError","StackTrace","StaticClosure","String","StringBuffer","TearOffClosure","TrustedGetRuntimeType","TypeError","TypeErrorDecoder","Uint16List","Uint32List","Uint8ClampedList","Uint8List","UnknownJavaScriptObject","UnknownJsTypeError","_AsyncAwaitCompleter","_AsyncCallbackEntry","_AsyncCompleter","_AsyncRun__initializeScheduleImmediate_closure","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_Completer","_CyclicInitializationError","_Error","_Exception","_FunctionParameters","_Future","_FutureListener","_Future__addListener_closure","_Future__asyncCompleteError_closure","_Future__asyncCompleteWithValue_closure","_Future__chainCoreFutureAsync_closure","_Future__chainForeignFuture_closure","_Future__prependListeners_closure","_Future__propagateToListeners_handleError","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_JS_INTEROP_INTERCEPTOR_TAG","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_RootZone","_RootZone_bindCallbackGuarded_closure","_StackTrace","_StreamIterator","_StringStackTrace","_TimerImpl_internalCallback","_TypeError","_Zone","_awaitOnObject_closure","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","_chainCoreFutureAsync","_chainCoreFutureSync","_computeFieldNamed","_computeSignatureFunctionNewRti","_createFutureOrRti","_createGenericFunctionRti","_createQuestionRti","_createStarRti","_current","_getCanonicalRecipe","_getFutureFromFutureOr","_getQuestionFromStar","_initializeScheduleImmediate","_installTypeTests","_interceptorFieldNameCache","_isInCallbackLoop","_isUnionOfFunctionType","_lastCallback","_lastPriorityCallback","_lookupBindingRti","_lookupFunctionRti","_lookupFutureOrRti","_lookupGenericFunctionParameterRti","_lookupGenericFunctionRti","_lookupInterfaceRti","_lookupQuestionRti","_lookupRecordRti","_lookupStarRti","_lookupTerminalRti","_nextCallback","_objectTypeNameNewRti","_propagateToListeners","_receiverFieldNameCache","_rootHandleError_closure","_scheduleImmediateClosure","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_throw","_wrapJsFunctionForAsync_closure","_writeAll","addErasedTypes","addRules","alternateTagFunction","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","async___startMicrotaskLoop$closure","bind","bool","collectArray","compose","create","cspForwardCall","cspForwardInterceptedCall","current","defaultStackTrace","dispatchRecordsForInstanceTags","double","eval","evalInEnvironment","evalRecipe","extractPattern","extractStackTrace","findErasedType","findRule","forType","forwardCallTo","forwardInterceptedCallTo","fromMessage","fromTearOff","getInterceptor$","getInterceptor$asx","getInterceptor$ax","getTagFunction","handleArguments","handleDigit","handleExtendedOperations","handleIdentifier","handleTypeArguments","indexToType","initHooks_closure","initNativeDispatchFlag","int","interceptorOf","interceptorsForUncacheableTags","iterableToFullString","newArrayOrEmpty","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","nullLiteralPropertyPattern","nullPropertyPattern","num","objectAssign","objectTypeName","parse","promiseToFuture_closure","prototypeForTagFunction","provokeCallErrorOn","provokePropertyErrorOn","receiverOf","safeToString","throwWithStackTrace","toStringVisiting","toType","toTypes","toTypesNamed","trySetStackTrace","undefinedCallPattern","undefinedLiteralCallPattern","undefinedLiteralPropertyPattern","undefinedPropertyPattern","value","$index","bindCallbackGuarded","call","complete","completeError","dart:_interceptors#_shrBothPositive","dart:_interceptors#_shrOtherPositive","dart:_rti#_bind","dart:_rti#_eval","dart:async#_addListener","dart:async#_asyncComplete","dart:async#_asyncCompleteError","dart:async#_asyncCompleteWithValue","dart:async#_chainForeignFuture","dart:async#_chainFuture","dart:async#_cloneResult","dart:async#_completeError","dart:async#_completeWithValue","dart:async#_prependListeners","dart:async#_removeListeners","dart:async#_reverseListeners","dart:async#_setChained","dart:async#_setErrorObject","dart:async#_thenAwait","dart:core#_errorExplanation","dart:core#_errorName","handleError","invalidValue","iterator","length","matchTypeError","matchesErrorTest","moveNext","registerBinaryCallback","run","runBinary","runGuarded","runUnary","runtimeType","stackTrace","then","toString","Rti._unstar","isTopType","_Universe._canonicalRecipeOfStar","_Universe._canonicalRecipeOfQuestion","_Universe._canonicalRecipeOfFutureOr","_Universe._canonicalRecipeOfBinding","_Universe._canonicalRecipeOfGenericFunction","Error._stringToSafeString","_","_asCheck","_callMethodUnchecked0","_canonicalRecipeOfBinding","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_canonicalRecipeOfFutureOr","_canonicalRecipeOfGenericFunction","_canonicalRecipeOfInterface","_canonicalRecipeOfQuestion","_canonicalRecipeOfRecord","_canonicalRecipeOfStar","_chainSource","_cloneResult","_completeError","_createBindingRti","_createFunctionRti","_createGenericFunctionParameterRti","_createInterfaceRti","_createRecordRti","_createTerminalRti","_createTimer","_error","_errorTest","_failedAsCheckError","_findRule","_future","_getBindCache","_getBindingArguments","_getBindingBase","_getCachedRuntimeType","_getEvalCache","_getFunctionParameters","_getFutureOrArgument","_getGenericFunctionBase","_getGenericFunctionBounds","_getGenericFunctionParameterIndex","_getInterfaceName","_getInterfaceTypeArguments","_getIsSubtypeCache","_getKind","_getNamed","_getOptionalPositional","_getPrimary","_getPropertyTrustType","_getQuestionArgument","_getRecordFields","_getRecordPartialShapeTag","_getRequiredPositional","_getReturnType","_getRuntimeTypeOfArrayAsRti","_getSpecializedTestResource","_getStarArgument","_hasError","_hasTimer","_installRti","_isChained","_isCheck","_isClosure","_isComplete","_isDartObject","_isSubtypeUncached","_lookupAnyRti","_lookupDynamicRti","_lookupErasedRti","_lookupFutureRti","_lookupNeverRti","_lookupVoidRti","_mayAddListener","_mayComplete","_name","_objectToString","_onError","_onValue","_parseRecipe","_recipeJoin","_removeListeners","_scheduleImmediate","_setAsCheckFunction","_setBindCache","_setCachedRuntimeType","_setCanonicalRecipe","_setError","_setErrorObject","_setEvalCache","_setIsTestFunction","_setKind","_setNamed","_setOptionalPositional","_setPrecomputed1","_setPrimary","_setRequiredPositional","_setRest","_setSpecializedTestResource","_setValue","_stringToSafeString","_theUniverse","_trySetStackTrace","_unstar","_whenCompleteAction","_writeOne","_zone","allocate","arrayAt","arrayConcat","arrayLength","arraySplice","asBool","asInt","asRti","asRtiOrNull","asString","as_Type","charCodeAt","collectNamed","constructorNameFallback","contains","defineProperty","dispatchRecordExtension","dispatchRecordIndexability","dispatchRecordInterceptor","dispatchRecordProto","elementAt","environment","erasedTypes","evalCache","evalTypeVariable","fieldADI","future","getDispatchProperty","getLegacyErasedRecipe","getRuntimeTypeOfInterceptorNotArray","handleNamedGroup","handleOptionalGroup","handleStartRecord","handleUncaughtError","handleValue","handleWhenComplete","handlesComplete","handlesValue","hasErrorCallback","hasErrorTest","instanceTypeName","interceptorFieldName","interceptorsByTag","isArray","isDigit","isEmpty","isIdentical","jsonEncodeNative","leafTags","listToString","lookupSupertype","lookupTypeVariable","mapGet","mapSet","markFixedList","normalize","objectKeys","objectToHumanReadableString","pop","position","printToConsole","propertyGet","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","push","pushStackFrame","receiverFieldName","recipe","sharedEmptyArray","shouldChain","stack","staticInteropGlobalContext","stringIndexOf","stringSafeToString","stringSplit","substring","thenAwait","toGenericFunctionParameter","tryStringifyException","typeRules","universe","unmangleGlobalNameIfPreservedAnyways","withLength","writeAll"], + "mappings": "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", + "x_org_dartlang_dart2js": { + "minified_names": { + "global": "A,214,B,437,C,467,D,472,E,503,F,663,G,74,H,31,I,29,J,28,K,441,L,505,M,65,N,97,O,450,P,484,Q,530,R,586,S,246,T,81,U,62,V,445,W,446,X,458,Y,459,Z,463,a,18,a0,469,a1,470,a2,485,a3,486,a4,487,a5,490,a6,493,a7,502,a8,515,a9,519,aA,460,aB,461,aC,27,aD,471,aE,475,aF,477,aG,478,aH,479,aI,480,aJ,481,aK,482,aL,483,aM,488,aN,489,aO,491,aP,497,aQ,498,aR,501,aS,257,aT,256,aU,516,aV,255,aW,517,aX,518,aY,524,aZ,525,a_,466,aa,588,ab,542,ac,543,ad,544,ae,545,af,548,ag,552,ah,555,ai,581,aj,585,ak,574,al,575,am,34,an,628,ao,88,ap,213,aq,662,ar,435,as,436,at,252,au,431,av,438,aw,258,ax,451,ay,455,az,457,b,508,b0,528,b1,549,b2,550,b3,616,b4,107,b5,442,b6,443,b7,660,b8,464,b9,494,bA,547,bB,220,bC,551,bD,100,bE,617,bF,644,bG,553,bH,554,bI,554,bJ,590,bK,596,bL,614,bM,638,bN,638,bO,638,bP,266,bQ,642,bR,267,bS,57,bT,655,bU,655,bV,431,bW,613,bX,465,bY,431,bZ,567,b_,526,ba,495,bb,653,bc,504,bd,506,be,507,bf,510,bg,657,bh,520,bi,521,bj,522,bk,523,bl,527,bm,531,bn,532,bo,533,bp,534,bq,535,br,535,bs,535,bt,536,bu,537,bv,538,bw,539,bx,540,by,541,bz,546,c,640,c0,580,c1,582,c2,89,c3,91,c4,125,c5,572,c6,242,c7,85,c8,5,c9,42,cA,654,cB,664,cC,577,cD,578,cE,583,cF,584,cG,652,cH,211,cI,224,cJ,226,cK,225,cL,223,cM,99,cN,115,cO,146,cP,90,cQ,208,cR,132,cS,124,cT,221,cU,243,cV,144,cW,238,cX,228,cY,600,cZ,604,c_,576,ca,1,cb,639,cc,16,cd,0,ce,591,cf,433,cg,671,ch,559,ci,571,cj,589,ck,659,cl,624,cm,431,cn,643,co,666,cp,568,cq,573,cr,612,cs,431,ct,658,cu,431,cv,608,cw,558,cx,607,cy,609,cz,635,d,444,d0,17,d1,73,d2,629,d3,631,d4,19,d5,56,d6,260,d7,656,d8,7,d9,419,dA,566,dB,597,dC,431,dD,569,dE,592,dF,593,dG,594,dH,557,dI,632,dJ,633,dK,634,dL,636,dM,637,dN,665,dO,431,dP,626,dQ,556,dR,561,dS,562,dT,563,dU,564,dV,579,dW,598,dX,599,dY,605,dZ,621,d_,86,da,645,db,646,dc,647,dd,648,de,649,df,650,dg,667,dh,668,di,669,dj,670,dk,432,dl,434,dm,618,dn,641,dp,560,dq,610,dr,611,ds,625,dt,627,du,595,dv,661,dw,473,dx,587,dy,620,dz,660,e,474,e0,121,e1,123,e2,227,e3,113,e4,108,e5,114,e6,109,e7,106,e8,102,e9,92,eA,603,eB,606,eC,35,eD,63,eE,630,eF,50,eG,94,eH,93,eI,61,eJ,59,eK,60,eL,87,eM,103,eN,205,eO,6,eP,51,eQ,58,eR,651,eS,264,eT,261,eU,64,eV,240,eW,23,eX,21,eY,22,eZ,265,e_,622,ea,230,eb,231,ec,32,ed,119,ee,209,ef,112,eg,136,eh,120,ei,212,ej,140,ek,111,el,122,em,236,en,145,eo,235,ep,245,eq,244,er,239,es,237,et,95,eu,83,ev,82,ew,149,ex,30,ey,601,ez,602,f,565,f0,439,f1,440,f2,419,f3,447,f4,448,f5,449,f6,452,f7,453,f8,454,f9,476,fA,137,fB,139,fC,138,fD,141,fE,143,fF,142,fG,8,fH,49,f_,20,fa,499,fb,431,fc,645,fd,646,fe,647,ff,648,fg,649,fh,650,fi,667,fj,668,fk,669,fl,670,fm,511,fn,512,fo,513,fp,514,fq,591,fr,126,fs,128,ft,127,fu,129,fv,131,fw,130,fx,133,fy,135,fz,134,h,206,i,496,j,529,k,462,l,492,m,623,n,148,o,468,p,500,q,615,r,456,t,253,u,101,v,9,w,509,x,619,y,570,z,105", + "instance": "A,704,B,681,C,689,D,696,E,697,F,690,G,691,H,675,I,676,J,699,K,709,L,712,M,682,N,679,O,686,P,693,R,695,S,673,T,676,U,700,V,705,W,713,X,431,Y,684,Z,685,a0,677,a1,678,a2,698,a3,703,a4,705,a5,706,a6,706,a7,707,a8,707,a9,708,a_,694,aa,709,ab,712,ac,674,gD,696,gE,697,gJ,699,gU,700,gac,674,gi,710,gl,701,gp,711,gv,612,h,713,i,710,j,680,k,702,l,701,m,672,n,688,p,711,q,683,sl,701,t,687,u,692,v,612" + }, + "frames": "2xHAqIem1ByB;oCAKAAyB;eAKCRG;kBACeDE;gEAIlBAE;KAGOFO;iGAaAt0BAA8CgBCeANK+CuC,A,I;qMATrC9CAAmB0BDeAVW+CoC,A,AAUvCqxBkC,A;q3DChHoBoEuB;uEA6BLlEG;+QAqTGuBiB;cAAAAa;0CAuBQ3BS;gJAYV2BiB;oFAqBLmCAARF5BiB,A;yDAkBWUW;2PAknBoBlNoB;+BAMpB6OuC;QAIF7OqC;8DAwEGhPqC;yfAmVZAmR;gZA4MAAW;gfA0DyBAW;uWAkCJAW;cAOpBAkC;6BAIiBuZoD;OAChBvZU;0DAOCydI;aAIgBzdwC;2JASjBAU;wEAiCmBAW;sCAGtBAc;gNAkIFAAMx+D8BAgE,A;keNyoE1BAkC;cAEAA0D;y4CAyPEA4D;6sBAqF6BkbuC;AACH2BmC;yEA4HtBh1BAIpjETCMA3B4BqwBc,A,M;qDJqmElBnYiD;yCACK+bW;uHAsJhB/bY;4ECloFOscI;YACch0BAAsE3BDAF1IAmxByB,kF,A;QEoE2BlxBAAuEpBqxBE,A;OAtEW2CI;uBAKK/zBAAzCJ4yBkB,AAAZmBI,A;6CA+CMAI;YACkBh0BAAyD/BDAF1IAmxByB,kF,A;QEiF+BlxBAA0DxBqxBE,A;OAzDW2CI;uBAGK/zBAApDJ4yBkB,AAAZmBS,A;4EA0EEh0BAA+BTDAF1IAmxByB,kF,A;QE2GSlxBAAgCFqxBE,A;sDAvBEnxBAA2BTHAF/IAmxBsB,A,0BE+IAnxBkF,A;QA3BSGAA4BFmxBE,A;+DAfoC8BqB;UAElCjzBAAYTHAF/IAmxBsB,A,0BE+IAnxBkF,A;QAZSGAAaFmxBE,A;gEAMPtxBAFtJAmxByB,6B;yJEkK2CiCoB;gLAsCjCNmB;0KAaF9yBAFrNRmxByB,mG;2DEmO2B8C4D;iTA+EXvzBc;y1CGzNSkwBG;gBAIjBrBW;AADuCrCAAgK/ByDQ,A;WAtJO5CO;AAFA6CG;gBAGfrBgB;AAD0CxDAAgKlC4EM,A;gBApFCrEAAzBsBoEG,A;oCA2BECG;uCA2JzBEG;sBAgJMfmB;iEAyEPxDAA/YwBoEG,A;mEAwZbCG;qEAMAAG;qEAMAAG;qEAMWvEG;sDAMkBDAA7WvC0EK,A;aAgXGlFAApWHgFG,A;sBAsWQjFG;4EAQHmBAApWIJO,A;AAqWJGG;qEAMIGAAlVT4DG,A;sBAqViC7EG;6EAU5BGQ;AACDsEQ;sBAGDvEAAzVH2EG,A;+EAgWIzEAAtVJwEG,A;sBA0VULO;sIAeNEkB;yBAGDII;kFAaCJkB;0BAImBFO;AACEAS;AACtBMM;qFAcK7DqB;AAIANK;gBAGQDK;8CAMiB6DAAxRRzYc,A;AAyRrB8XM;AAEAHM;AAEADK;uHAwCFsBM;yDAaZnDI;sEAuBFEG;eAIOqFoB;qSAkFkBvFkD;uBAKvBsCe;uDAeYOI;uBAENhvBQAvZUyuBoB,A;6DAieFltBoBAlFlB4qBgB,A;uCAsFcsDO;GAELiCoB;OAAwB/FO;uBAOMlqBO;AAA9B8oBG;gBAA8B9oBAAKrCgsBY,A;SAS0BkDW;AADV9R0B;iBAGXvIAAmCTAAAAAAAACMmXG,A,A,W;SAlC6BgBoB;AAE/BhtBG;AADO8oBG;gBACP9oBAAfAgsBY,A;mBAuCqBztBMA1hBHyuBoB,A;gEA0lBlB3sBAAoiF6BomB+B,A;6BAjiFzB+CG;qEAcY0DAAr/BY9CAAuKhByDQ,A,A;AA+0BQrEAAl7BeoEG,A;0KA87BnBvEAA33BJ0EG,A;IA43BMzEiB;AAYduDU;uEAUCvsBQA8BmBypBAA15BZgEI,A,AA25BMjEI,A;+DArBXWC;AADP4BK;0CAsCAhsBAAg8E6BomB0B,A;mEAr7EtBQC;AADP6EK;6BAKWtCAAnhCwBoEQ,A;kEAwhCCxDAAr7BxByDK,A;eAs7B4B5EAA56B5B4EsB,A;mEAu7BCbc;gDAeNvCI;AADOZAA18BFgEO,A;mDAo9BF1DG;iBAKVSG;8GAsBOqFoB;YACG9FG;iBAKVSG;wFA0BWHU;+DAYAAU;uCAWTjC0B;qJAuCcxHuB;mBAiBTyJc;AADSyCAAzwChB1DAAoEmCoEQ,A,AApEPxDAAuKhByDK,A,A;QAmmCQ5EAAzlCR4ES,A;MA2lCmBbiB;AAD3BvCI;kiDA2NmBgDQ;qBAEDIO;sCAYA9DAAv1CVgEM,A;AAw1CKjEG;qCAMG2DQ;AACFyEkB;AACEzEU;gEAOGIO;gBAELEI;kHAaMNQ;2MAgBFIO;AACjBxtBAAo+DwBomBAAK/BrfAAGaoiBAA58GwBoEG,A,A,wCAy8GhB3qBAAgBdmtBa,A,K,A;oDAh/DYnGAAv3CCNO,A;AAw3CeXM;AAEbgBM;AACcyDW;AAEd/DM;AACc+DW;AACNhEM;AACPgEQ;0DASCIQ;2DAUEAQ;oEAYbFM;yBAIIEe;AAEJEI;sGA6BAvEAApjDwBoEG,A;wIA6jDdxDAA19CTyDK,A;cAy+CahEAAp+CbgEG,A;cAs+CSrEAA9kDcoEG,A;uEAulDV3EAA1+Cb4ES,A;mBA++CIxEAAzhDJ0EI,A;GAkiDMzEG;4HAgBOJAAz/Cb2EM,A;AA0/CG1EG;eAODCAAv/CIOM,A;sFA+/CF8IuB;yDAoLPhKAAHK8JG,S;uBAKP9JAALO8JG,I;oCAWD3DO;+DAKOhBI;AACP5CgB;oGAiBOuHM;wBA4BA3DM;aAWH8BS;AADP7Be;oBAGFnDyB;AACHiFW;gCAMS5HG;cAGVqDa;AAEasEW;oBAEThFuB;AACHiFW;kCAKShIG;cAGVoDgB;AAEuB3OAApuDf2QI,A;AAquDK2CW;gCAGXlHAA95D6BoES,A;AA+5DdhFQ;AAKhB+HW;mBAqCH7ES;AACAOQ;qBAuFeqEW;AADP7BW;oBAGsBzGAAIpBkFAAz3DPzYsB,A,AA03DHyXM,AACALM,W;AANG1BAApFAoGC,AAAO9Ba,A;qBAiGK6BS;AAFN/IAA/CKvKAAz0DJ2QW,A,A;AAy3DFcW;oCAGLtEAAnGAoGC,AAAO9Ba,A;0CA0GOrFAAzjEgBoEG,A;oEAikEvBNAAn5DPzYsB,A;AAo5DHyXM;AACAIK;CACATM;4BAQeyES;AAFNjJAAzEKrKAA30DJ2QW,A,A;AAq5DFcW;oCAGLtEAA/HAoGC,AAAO9Ba,A;4CAsIOrFAArlEgBoEQ,A;0DA0lEZ3EAA7+DX4EI,A;kEAm/DazDAA7/DbyDG,A;IA8/DiBrEAAjmEMoEc,A;AAmmEd3EAAt/DT4EI,A;gCA6/DAPAA57DPzYsB,A;AA67DHyXM;AACAIK;CACATM;4BAQeyES;AAFNpJAAhHKlKAA70DJ2QW,A,A;AA87DFcW;oCAGLtEAAxKAoGC,AAAO9Ba,A;wCA+KOrFG;0DAMVyBe;qCAKGqCAA39DPzYsB,A;AA49DHyXM;AACAIK;CACATM;0BAOeyEsB;AADP7BW;oBAIR5GAAKUqFAA7+DPzYsB,A,AA8+DHyXO,AACAIM,AACATM,W;AATG1BAAtMAoGC,AAAO9Ba,A;8BAqNMpBQ;sCAEIIG;AACCzQAAj/DX2QI,A;kCA0/DMNQ;qCAGmBFO;AACZIwB;AAIPEK;AACKzQAAngEX2QI,A;uCAuhEDvGAAVOiGU,mB;AAYDiDG;AADP7BW;oBAIO3GAAKLoFAAziEPzYsB,A,AA0iEHyXM,AACAIM,AACAES,AACgBaW,AAEdhBI,AAA6BcK,AAE/BtBM,W;AAdG1BAAlQAoGC,AAAO9Ba,A;yCAsSNrFAArvE6BoEY,A;AAsvErB/EAAvqEFgFG,A;AAyqEDLG;AAAgB5EkB;QAEhBzBGAjBL/JAAnjEM2QuB,A,A;AAskEK2CG;AADP7BW;oBAIO9GAAKLuFAAtlEPzYsB,A,AAulEHyXO,AACAIM,AACAEM,AACAXM,W;AAVG1BAA/SAoGC,AAAO9Ba,A;qBAyUDnHoC;AAEMgJC;AADP7BW;oBAIR1GAAKUmFAApnEPzYsB,A,AAqnEHyXO,AACAIM,AACAEM,AACAXM,W;AAVG1BAA7UAoGC,AAAO9Ba,A;qBAoYDzHAAtCPCiB,AADYjKO,AACZiKAAKkB2CM,AACcyDW,AAEd/DM,AACc+DW,AACNhEM,AACPgEsB,oF,AAZvB9BY,A;AAyCiB+EG;AADP7BW;oBAIR7GAAKUsFAA/qEPzYsB,A,AAgrEHyXO,AACAIM,AACAEM,AACAXM,W;AAVG1BAAxYAoGC,AAAO9Ba,A;uBAgaDtHSAPHnKAAlrEI2QwB,A,A;AA2rEK2CC;AADP7BW;sCAGLtEAApaAoGC,AAAO9Ba,A;sDA8aQpBQ;kCAICIQ;AACXrEAAl4EyBoEe,A;qEAm5EvBNAAruEPzYsB,A;AAsuEHyXO;AACAIM;AACAEK;CACAXM;4FAqKoB0FM;AACJGU;kBAGT7DkB;4LAcHuDW;cAIAAW;cAIAAO;KACWgBI;AAAkB7DG;AAAqBqCU;cAIlDQO;AACIaM;AAA2BGG;AAA3BHAAkWSzEU,A;cA9Vb4DO;AAAsBxGM;AAAiBwHW;cAIvChBO;AAAsBzGM;AAAkByHW;eAIxChBO;AAAsBrGM;AAAeqHW;cAIrCfAAgFRDQ,AAAYPS,AACexDQ,A;iEArEX+EG;AACRhBO;cAIkB7CG;AAAqBqCU;AAC/BHK;iBAIA2BG;AACRhBO;cAIkB7CG;AAAqBqCU;AAC/BHK;iBAIA2BG;AACRhBO;cAIkB7CG;AAAqBqCU;AAC/BHK;cAIRWW;AACACAAqCRDQ,AAAYPS,AACexDQ,A;sCA9BnBgEAA6BRDQ,AAAYPS,AACexDQ,A;cA1BnB4BAA2KSxPAAoCE6NY,AAAmBuDI,MACtBuBI,AAAkB7DM,AACPfY,A,AArC3B4DU,AACAAW,A;eAzKQCAAqBRDQ,AAAYPS,AACexDQ,A;eAlBnB2BAAyKSlBAAqCERY,AAAmBuDI,MACjBuBI,AAAkB7DM,AACZfY,A,AAtC3B4DU,AACAAW,A;cAvKYlCAA4KK0CmB,AAGjBRO,AAAmBWkB,AACnBXW,AACACAApKADQ,AAAYPS,AACexDQ,A,M;wCANhBuDU;YACGwBI;AAAkB7DK;sDAWrBVkB;uCAIXuDU;uEAQWvDkB;0FAIyCiCoB;kBAM7BiCmB;SAKbKM;AAAkB7DO;AADZGAAhzBDtFAA76DsBoEW,A,AA+6DjB/EAAh2DNgFG,A,UAm2DaxEAA/2Db0EG,A,AAk3DY0CI,+C;AAsyBxBeO;AAEc1CkB;AAGd0CU;4BAMqBgBiB;AAEZxBQ;sBAGTQO;2BAE4B7Cc;AAChBnFAA9uFuBoEY,A;AAgvF/B4DO;YAGmCXK;cAInCWO;+BA+BKRa;AAnBYwB2B;uCAwBIxBU;aAIbAU;cAIRQU;WAIJAU;YAKKRU;iBAGIAwB;AAC0BYmB;AACbAK;SACcjDM;AACmBrBAA3iFlBzYc,A;AA4iFf8XM;AAEAHM;AAEADK;AACpBiFO;2BASAAO;OAGyBzDY;kFAgCnBiDc;UAERQO;AAAsBtGM;AAAgBsHY;iBAItChBO;AAAsB1GM;AAAc0HY;0EAOnB9EgB;AAAmBuDI;MACtBuBI;AAAkB7DM;AACPfY;2DAiBKgEK;8FASZnEQ;8BAEAFI;sBAOAEQ;+BAGAFI;wBAOL/DAAj6FsBoEG,A;4BAm6FR/EAAp1FfgFE,A;IAq1FYjFM;AACP6EQ;gBAEDIK;SAIEhFAA51FNgFM,A;AA61FDrEAA56FwBoEQ,A;wFAm7FbtEU;AACPmEQ;QAEDIK;qEAwDDtE8B;AACGmHW;YAET7F8B;AACF8FW;0GA8DLlK0B;sBAEY+CAAljGuBoEG,A;wCAyjGnC/mBAA4ZE2iBG,A;0CAtZeqEE;AADHzEAAx7FFwEc,A;YA67FApEAAnkGuBoEsB,A;iCA2kGR3EAA99Ff4EQ,A;0EAu+FM5EAAv+FN4EY,A;wBA2+FMzDAAr/FNyDY,A;qCA6/FIzDAA7/FJyDY,A;qEAghGI5EAAtgGJ4Ea,A;2FAkhGQhEAAvhGRgEY,A;yBAkiGa5EAA7hGb4ES,A;+FAyiGiBhEAA9iGjBgEQ,A;+IAskGI1EM;AACAAM;AACGsEgB;AACAAQ;SAGkBDwB;AACAAwB;oBAGjBKO;AACAAI;kEAOkB3EAApkG1B2EM,A;AAqkGN3EAArkGM2EQ,A;sQAgmGM5DAA1mGN4DQ,A;AA2mGM5DAA3mGN4DU,A;aAgnGsB7EO;AACAAM;AAGdgBM;AAEAAM;AACeyDW;AACAAQ;yBAMf/DM;AAEAAM;AACe+DW;AACAAQ;wCAKAFI;YACbMgB;6BAOaNI;YACbMkB;6BASbNM;YACaMgB;YAMOpEM;AACAAM;AACPgEW;AACAAQ;0BAIFMS;0BAGEAI;2BAIEJM;qCAMcJM;sBAENAM;YACbMkB;+BAQRFM;0DASItEAAvvGH0EM,A;AAwvGG1EAAxvGH0EQ,A;WAswGOtFAAnhDL8JG,I;2CAshDCxEI;YAIMyCI;uBAEH/CQ;AACWvLoBAsLA8Ka,AAAjB4EK,A;+BApLW7DK;wBAITzEQ;gBAOFAW;AACAAQ;8BAWImEQ;2BAUAIO;AACAAU;6CAwCA/DM;AACAAM;AACA2DgB;AACAAQ;aAEF1DAA30GFgEM,A;AA40GEhEAA50GFgEG,A;oCAg1GMFO;AACAAU;iCASPrEAAn7GwBoE+B,A;sCAu7GIxDAAp1G3ByDK,A;eAq1G+B5EAA30G/B4EI,A;uBAu1GiBpH+B;uBAQlB+CAA58GwBoEG,A;qDA+/G1BkD4B;AACErDQ;oBAEEMI;4CAOgBfa;AAAjB4EI;grBQvpHRvJS;4BA2BRxTS;wBAwGOASApCS6TAAAA7TyB,A,a;uCAmDCmaE;iMA2DEnaoB;AAAAiYW;6HAiCP5MK;6IC9SIAM;0DAYV+MQ;2BAMJAsB;OAEgBjGY;2BAqjBFwDiB;AACI5CG;cAIE/D0D;uIAyBN2GkB;AACI5CI;mBAIE/D0D;0GAuBb/ae;uFAuIkBuhBqB;gCAGY/BG;AACxBiHM;sHA+BcIG;2CACDtCK;0CAIbkCM;mDA4EIGG;uLAkBTmCwB;wBAMgBlHe;AACFiBsB;AACZ/DyB;gDAcI+DwB;iBAEVkBiB;AAGAXmB;kQGt5BQNU;iBAUqBhXqB;oCAKrBgXU;qFAoBkBhXiB;2IAuD3B/LU;gBCg5EG+LqB;OAAAAU;gtDEr/DQsbgB;AAED/CO;0BAGFAO;oBAGEAU;4Id/dJLAcyLSkFAnB4NX5BiB,A,A;QKnZA9EO;oUgBkxBe1Wc;qBAGpB8d6B;4DAMKpMG;sCC11BP2KO;mgBE0cgBrcAWosBSAAtBplCvBAAAtB0BmaAAAAnaiC,A,A,yB,A;sYajCOkamE;+IERnBgDO;AAAA7KqB;mDAEhB0CuB;+gB7B2T8BmHkB;qDAqB5B5Be;8ZQgX0BoBiB;0CAaF1boB;QAAAAW;k3BwBrXf6ZC;kpB/Bg1CiByB+B;goBA66BVYkB;0BADAzF0C;iyCI79EX3uBiB;iBAAAAAAoZ0BqwBqB,A;eA9YDxeMAsZZweqB,A;0aQ1ahB1CkB;kaAsKAzVa;yKCjOQwWW;wDAEZvDK;+EAgBYuDW;mFA4HPwEW;oBACExCW;AAA6B9EI;8CAazB8EK;gGAQLsCU;mTAsIkBzPW;kGAoBArLuC;OACPyRsD;sDASOzR+B;OACPuduD;2GAoGbhHG;6CAQiBxDQ;AACL+CY;qBAQd7hBe;+EAQEsiBG;kGAiBiBxDQ;AACL+CY;gCAQd7hBe;0RAgKFgkBW;kCAQAZQA3OoBrXc,A;4FAySpB/LkB;+FAwBAAkB;2jBAwEyB2mBGAjnBlBpCS,AAAUFa,A;+BAmnBwB7EE;uBACDAQ;mBAEHzTiB;yDAKiB8ViB;AAC3BNmB;IACqB/BI;iMAkBjBkHC;IAAAAAA1rBxBnCQ,AAA+B5BO,A;kDA4rBH5WoB;0FAOIyTS;iBAElBsHAA3sBdpEU,A;wDAgtBsBlDO;gDAGQzTiB;+PCyqBnC0aU;ieezhDwB1akB;sBAAAAW;QAAAAa;eAwfP0be;ujBxBpDK9KK;mkBc5aMsLuB;kVKyaxBlcwB;2+PxBm5BWuc0G;CAAAAG;6DAUAC8G;CAAAAG;2DAUACuD;CAAAAG;6DAUAC2D;CAAAAG;" + } +} diff --git a/web/worker.dart.js b/web/worker.dart.js index 5011ab7..549500c 100644 --- a/web/worker.dart.js +++ b/web/worker.dart.js @@ -22,18 +22,17 @@ a[c]=function(){if(a[b]===s){a[b]=d()}a[c]=function(){return this[b]} return a[b]}}function lazyFinal(a,b,c,d){var s=a a[b]=s a[c]=function(){if(a[b]===s){var r=d() -if(a[b]!==s){A.h3(b)}a[b]=r}var q=a[b] +if(a[b]!==s){A.he(b)}a[b]=r}var q=a[b] a[c]=function(){return q} -return q}}function makeConstList(a){a.immutable$list=Array -a.fixed$length=Array +return q}}function makeConstList(a){a.$flags=7 return a}function convertToFastObject(a){function t(){}t.prototype=a new t() return a}function convertAllToFastObject(a){for(var s=0;s").u(d).i("af<1,2>")) -return new A.R(a,b,c.i("@<0>").u(d).i("R<1,2>"))}, -an:function an(a){this.a=a}, +eI(a,b,c,d){if(t.V.b(a))return new A.ag(a,b,c.i("@<0>").u(d).i("ag<1,2>")) +return new A.T(a,b,c.i("@<0>").u(d).i("T<1,2>"))}, +ap:function ap(a){this.a=a}, e:function e(){}, -L:function L(){}, -Z:function Z(a,b,c){var _=this +O:function O(){}, +a_:function a_(a,b,c){var _=this _.a=a _.b=b _.c=0 _.d=null _.$ti=c}, -R:function R(a,b,c){this.a=a +T:function T(a,b,c){this.a=a this.b=b this.$ti=c}, -af:function af(a,b,c){this.a=a +ag:function ag(a,b,c){this.a=a this.b=b this.$ti=c}, -b6:function b6(a,b,c){var _=this +b9:function b9(a,b,c){var _=this _.a=null _.b=a _.c=b _.$ti=c}, -B:function B(a,b,c){this.a=a +C:function C(a,b,c){this.a=a this.b=b this.$ti=c}, -ah:function ah(){}, -e2(a){var s=v.mangledGlobalNames[a] +ai:function ai(){}, +ef(a){var s=v.mangledGlobalNames[a] if(s!=null)return s return"minified:"+a}, -hB(a,b){var s +hM(a,b){var s if(b!=null){s=b.x if(s!=null)return s}return t.p.b(a)}, -o(a){var s +p(a){var s if(typeof a=="string")return a if(typeof a=="number"){if(a!==0)return""+a}else if(!0===a)return"true" else if(!1===a)return"false" else if(a==null)return"null" -s=J.aT(a) +s=J.aX(a) return s}, -at(a){var s,r=$.dg -if(r==null)r=$.dg=Symbol("identityHashCode") +av(a){var s,r=$.dq +if(r==null)r=$.dq=Symbol("identityHashCode") s=a[r] if(s==null){s=Math.random()*0x3fffffff|0 a[r]=s}return s}, -bQ(a){return A.ey(a)}, -ey(a){var s,r,q,p -if(a instanceof A.d)return A.r(A.ae(a),null) -s=J.ad(a) -if(s===B.n||s===B.t||t.o.b(a)){r=B.c(a) +bU(a){return A.eJ(a)}, +eJ(a){var s,r,q,p +if(a instanceof A.d)return A.t(A.af(a),null) +s=J.ae(a) +if(s===B.n||s===B.r||t.o.b(a)){r=B.d(a) if(r!=="Object"&&r!=="")return r q=a.constructor if(typeof q=="function"){p=q.name -if(typeof p=="string"&&p!=="Object"&&p!=="")return p}}return A.r(A.ae(a),null)}, -eA(a){if(typeof a=="number"||A.cy(a))return J.aT(a) +if(typeof p=="string"&&p!=="Object"&&p!=="")return p}}return A.t(A.af(a),null)}, +eL(a){if(typeof a=="number"||A.cD(a))return J.aX(a) if(typeof a=="string")return JSON.stringify(a) -if(a instanceof A.Q)return a.h(0) -return"Instance of '"+A.bQ(a)+"'"}, -ez(a){var s=a.$thrownJsError +if(a instanceof A.S)return a.h(0) +return"Instance of '"+A.bU(a)+"'"}, +eK(a){var s=a.$thrownJsError if(s==null)return null -return A.H(s)}, -z(a,b){if(a==null)J.cM(a) -throw A.b(A.dU(a,b))}, -dU(a,b){var s,r="index" -if(!A.dK(b))return new A.y(!0,b,r,null) -s=J.cM(a) -if(b<0||b>=s)return A.er(b,s,a,r) -return new A.au(null,null,!0,b,r,"Value not in range")}, -b(a){return A.dY(new Error(),a)}, -dY(a,b){var s -if(b==null)b=new A.D() +return A.I(s)}, +dr(a,b){var s +if(a.$thrownJsError==null){s=A.b(a) +a.$thrownJsError=s +s.stack=b.h(0)}}, +A(a,b){if(a==null)J.cT(a) +throw A.b(A.e7(a,b))}, +e7(a,b){var s,r="index" +if(!A.dW(b))return new A.z(!0,b,r,null) +s=J.cT(a) +if(b<0||b>=s)return A.eD(b,s,a,r) +return new A.aw(null,null,!0,b,r,"Value not in range")}, +b(a){return A.eb(new Error(),a)}, +eb(a,b){var s +if(b==null)b=new A.E() a.dartException=b -s=A.h4 +s=A.hg if("defineProperty" in Object){Object.defineProperty(a,"message",{get:s}) a.name=""}else a.toString=s return a}, -h4(){return J.aT(this.dartException)}, -aS(a){throw A.b(a)}, -e0(a,b){throw A.dY(b,a)}, -h2(a){throw A.b(A.bG(a))}, -E(a){var s,r,q,p,o,n -a=A.h1(a.replace(String({}),"$receiver$")) +hg(){return J.aX(this.dartException)}, +bG(a){throw A.b(a)}, +de(a,b){throw A.eb(b,a)}, +hf(a,b,c){var s +if(b==null)b=0 +if(c==null)c=0 +s=Error() +A.de(A.fj(a,b,c),s)}, +fj(a,b,c){var s,r,q,p,o,n,m,l,k +if(typeof b=="string")s=b +else{r="[]=;add;removeWhere;retainWhere;removeRange;setRange;setInt8;setInt16;setInt32;setUint8;setUint16;setUint32;setFloat32;setFloat64".split(";") +q=r.length +p=b +if(p>q){c=p/q|0 +p%=q}s=r[p]}o=typeof c=="string"?c:"modify;remove from;add to".split(";")[c] +n=t.j.b(a)?"list":"ByteData" +m=a.$flags|0 +l="a " +if((m&4)!==0)k="constant " +else if((m&2)!==0){k="unmodifiable " +l="an "}else k=(m&1)!==0?"fixed-length ":"" +return new A.az("'"+s+"': Cannot "+o+" "+l+k+n)}, +hd(a){throw A.b(A.bJ(a))}, +F(a){var s,r,q,p,o,n +a=A.hc(a.replace(String({}),"$receiver$")) s=a.match(/\\\$[a-zA-Z]+\\\$/g) -if(s==null)s=A.bC([],t.s) +if(s==null)s=A.bF([],t.s) r=s.indexOf("\\$arguments\\$") q=s.indexOf("\\$argumentsExpr\\$") p=s.indexOf("\\$expr\\$") o=s.indexOf("\\$method\\$") n=s.indexOf("\\$receiver\\$") -return new A.bV(a.replace(new RegExp("\\\\\\$arguments\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$","g"),"((?:x|[^x])*)"),r,q,p,o,n)}, -bW(a){return function($expr$){var $argumentsExpr$="$arguments$" +return new A.c_(a.replace(new RegExp("\\\\\\$arguments\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$","g"),"((?:x|[^x])*)"),r,q,p,o,n)}, +c0(a){return function($expr$){var $argumentsExpr$="$arguments$" try{$expr$.$method$($argumentsExpr$)}catch(s){return s.message}}(a)}, -dm(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)}, -cQ(a,b){var s=b==null,r=s?null:b.method -return new A.b5(a,r,s?null:b.receiver)}, -P(a){if(a==null)return new A.bP(a) -if(a instanceof A.ag)return A.O(a,a.a) +dw(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)}, +cY(a,b){var s=b==null,r=s?null:b.method +return new A.b8(a,r,s?null:b.receiver)}, +K(a){if(a==null)return new A.bT(a) +if(a instanceof A.ah)return A.R(a,a.a) if(typeof a!=="object")return a -if("dartException" in a)return A.O(a,a.dartException) -return A.fE(a)}, -O(a,b){if(t.Q.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a +if("dartException" in a)return A.R(a,a.dartException) +return A.fP(a)}, +R(a,b){if(t.C.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a return b}, -fE(a){var s,r,q,p,o,n,m,l,k,j,i,h,g +fP(a){var s,r,q,p,o,n,m,l,k,j,i,h,g if(!("message" in a))return a s=a.message if("number" in a&&typeof a.number=="number"){r=a.number q=r&65535 -if((B.p.aF(r,16)&8191)===10)switch(q){case 438:return A.O(a,A.cQ(A.o(s)+" (Error "+q+")",null)) -case 445:case 5007:A.o(s) -return A.O(a,new A.as())}}if(a instanceof TypeError){p=$.e3() -o=$.e4() -n=$.e5() -m=$.e6() -l=$.e9() -k=$.ea() -j=$.e8() -$.e7() -i=$.ec() -h=$.eb() +if((B.p.aH(r,16)&8191)===10)switch(q){case 438:return A.R(a,A.cY(A.p(s)+" (Error "+q+")",null)) +case 445:case 5007:A.p(s) +return A.R(a,new A.au())}}if(a instanceof TypeError){p=$.eg() +o=$.eh() +n=$.ei() +m=$.ej() +l=$.em() +k=$.en() +j=$.el() +$.ek() +i=$.ep() +h=$.eo() g=p.t(s) -if(g!=null)return A.O(a,A.cQ(s,g)) +if(g!=null)return A.R(a,A.cY(s,g)) else{g=o.t(s) if(g!=null){g.method="call" -return A.O(a,A.cQ(s,g))}else if(n.t(s)!=null||m.t(s)!=null||l.t(s)!=null||k.t(s)!=null||j.t(s)!=null||m.t(s)!=null||i.t(s)!=null||h.t(s)!=null)return A.O(a,new A.as())}return A.O(a,new A.bl(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.av() +return A.R(a,A.cY(s,g))}else if(n.t(s)!=null||m.t(s)!=null||l.t(s)!=null||k.t(s)!=null||j.t(s)!=null||m.t(s)!=null||i.t(s)!=null||h.t(s)!=null)return A.R(a,new A.au())}return A.R(a,new A.bo(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.ax() s=function(b){try{return String(b)}catch(f){}return null}(a) -return A.O(a,new A.y(!1,null,null,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.av() +return A.R(a,new A.z(!1,null,null,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.ax() return a}, -H(a){var s -if(a instanceof A.ag)return a.b -if(a==null)return new A.aI(a) +I(a){var s +if(a instanceof A.ah)return a.b +if(a==null)return new A.aM(a) s=a.$cachedTrace if(s!=null)return s -s=new A.aI(a) +s=new A.aM(a) if(typeof a==="object")a.$cachedTrace=s return s}, -d3(a){if(a==null)return J.d7(a) -if(typeof a=="object")return A.at(a) -return J.d7(a)}, -fh(a,b,c,d,e,f){switch(b){case 0:return a.$0() +db(a){if(a==null)return J.dh(a) +if(typeof a=="object")return A.av(a) +return J.dh(a)}, +ft(a,b,c,d,e,f){switch(b){case 0:return a.$0() case 1:return a.$1(c) case 2:return a.$2(c,d) case 3:return a.$3(c,d,e) -case 4:return a.$4(c,d,e,f)}throw A.b(new A.c6("Unsupported number of arguments for wrapped closure"))}, -cD(a,b){var s=a.$identity +case 4:return a.$4(c,d,e,f)}throw A.b(new A.cb("Unsupported number of arguments for wrapped closure"))}, +aV(a,b){var s=a.$identity if(!!s)return s -s=A.fM(a,b) +s=A.fW(a,b) a.$identity=s return s}, -fM(a,b){var s +fW(a,b){var s switch(b){case 0:s=a.$0 break case 1:s=a.$1 @@ -294,10 +314,10 @@ break case 4:s=a.$4 break default:s=null}if(s!=null)return s.bind(a) -return function(c,d,e){return function(f,g,h,i){return e(c,d,f,g,h,i)}}(a,b,A.fh)}, -eo(a2){var s,r,q,p,o,n,m,l,k,j,i=a2.co,h=a2.iS,g=a2.iI,f=a2.nDA,e=a2.aI,d=a2.fs,c=a2.cs,b=d[0],a=c[0],a0=i[b],a1=a2.fT +return function(c,d,e){return function(f,g,h,i){return e(c,d,f,g,h,i)}}(a,b,A.ft)}, +eA(a2){var s,r,q,p,o,n,m,l,k,j,i=a2.co,h=a2.iS,g=a2.iI,f=a2.nDA,e=a2.aI,d=a2.fs,c=a2.cs,b=d[0],a=c[0],a0=i[b],a1=a2.fT a1.toString -s=h?Object.create(new A.bR().constructor.prototype):Object.create(new A.aZ(null,null).constructor.prototype) +s=h?Object.create(new A.bW().constructor.prototype):Object.create(new A.b1(null,null).constructor.prototype) s.$initialize=s.constructor r=h?function static_tear_off(){this.$initialize()}:function tear_off(a3,a4){this.$initialize(a3,a4)} s.constructor=r @@ -305,24 +325,24 @@ r.prototype=s s.$_name=b s.$_target=a0 q=!h -if(q)p=A.dd(b,a0,g,f) +if(q)p=A.dn(b,a0,g,f) else{s.$static_name=b -p=a0}s.$S=A.ek(a1,h,g) +p=a0}s.$S=A.ew(a1,h,g) s[a]=p for(o=p,n=1;n>>0!==a||a>=c)throw A.b(A.dU(b,a))}, -b7:function b7(){}, -aq:function aq(){}, -b8:function b8(){}, -a0:function a0(){}, -ao:function ao(){}, -ap:function ap(){}, -b9:function b9(){}, +bt:function bt(a){this.a=a}, +bl:function bl(a){this.a=a}, +cI:function cI(a){this.a=a}, +cJ:function cJ(a){this.a=a}, +cK:function cK(a){this.a=a}, +X(a,b,c){if(a>>>0!==a||a>=c)throw A.b(A.e7(b,a))}, ba:function ba(){}, +as:function as(){}, bb:function bb(){}, +a1:function a1(){}, +aq:function aq(){}, +ar:function ar(){}, bc:function bc(){}, bd:function bd(){}, be:function be(){}, bf:function bf(){}, -ar:function ar(){}, bg:function bg(){}, -aD:function aD(){}, -aE:function aE(){}, -aF:function aF(){}, -aG:function aG(){}, -dh(a,b){var s=b.c -return s==null?b.c=A.cU(a,b.x,!0):s}, -cR(a,b){var s=b.c -return s==null?b.c=A.aN(a,"X",[b.x]):s}, -di(a){var s=a.w -if(s===6||s===7||s===8)return A.di(a.x) +bh:function bh(){}, +bi:function bi(){}, +at:function at(){}, +bj:function bj(){}, +aH:function aH(){}, +aI:function aI(){}, +aJ:function aJ(){}, +aK:function aK(){}, +ds(a,b){var s=b.c +return s==null?b.c=A.d1(a,b.x,!0):s}, +cZ(a,b){var s=b.c +return s==null?b.c=A.aR(a,"Z",[b.x]):s}, +dt(a){var s=a.w +if(s===6||s===7||s===8)return A.dt(a.x) return s===12||s===13}, -eC(a){return a.as}, -dV(a){return A.by(v.typeUniverse,a,!1)}, -N(a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=a2.w +eN(a){return a.as}, +e8(a){return A.bB(v.typeUniverse,a,!1)}, +Q(a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=a2.w switch(a0){case 5:case 1:case 2:case 3:case 4:return a2 case 6:s=a2.x -r=A.N(a1,s,a3,a4) +r=A.Q(a1,s,a3,a4) if(r===s)return a2 -return A.dD(a1,r,!0) +return A.dL(a1,r,!0) case 7:s=a2.x -r=A.N(a1,s,a3,a4) +r=A.Q(a1,s,a3,a4) if(r===s)return a2 -return A.cU(a1,r,!0) +return A.d1(a1,r,!0) case 8:s=a2.x -r=A.N(a1,s,a3,a4) +r=A.Q(a1,s,a3,a4) if(r===s)return a2 -return A.dB(a1,r,!0) +return A.dJ(a1,r,!0) case 9:q=a2.y -p=A.ab(a1,q,a3,a4) +p=A.ac(a1,q,a3,a4) if(p===q)return a2 -return A.aN(a1,a2.x,p) +return A.aR(a1,a2.x,p) case 10:o=a2.x -n=A.N(a1,o,a3,a4) +n=A.Q(a1,o,a3,a4) m=a2.y -l=A.ab(a1,m,a3,a4) +l=A.ac(a1,m,a3,a4) if(n===o&&l===m)return a2 -return A.cS(a1,n,l) +return A.d_(a1,n,l) case 11:k=a2.x j=a2.y -i=A.ab(a1,j,a3,a4) +i=A.ac(a1,j,a3,a4) if(i===j)return a2 -return A.dC(a1,k,i) +return A.dK(a1,k,i) case 12:h=a2.x -g=A.N(a1,h,a3,a4) +g=A.Q(a1,h,a3,a4) f=a2.y -e=A.fB(a1,f,a3,a4) +e=A.fM(a1,f,a3,a4) if(g===h&&e===f)return a2 -return A.dA(a1,g,e) +return A.dI(a1,g,e) case 13:d=a2.y a4+=d.length -c=A.ab(a1,d,a3,a4) +c=A.ac(a1,d,a3,a4) o=a2.x -n=A.N(a1,o,a3,a4) +n=A.Q(a1,o,a3,a4) if(c===d&&n===o)return a2 -return A.cT(a1,n,c,!0) +return A.d0(a1,n,c,!0) case 14:b=a2.x if(b=0)p+=" "+r[q];++q}return p+"})"}, -dI(a4,a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=", ",a3=null +dU(a4,a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=", ",a3=null if(a6!=null){s=a6.length -if(a5==null)a5=A.bC([],t.s) +if(a5==null)a5=A.bF([],t.s) else a3=a5.length r=a5.length for(q=s;q>0;--q)a5.push("T"+(r+q)) for(p=t.X,o=t._,n="<",m="",q=0;q=0))return A.z(a5,k) -n=B.q.ai(n+m,a5[k]) +if(!(k>=0))return A.A(a5,k) +n=n+m+a5[k] j=a6[q] i=j.w if(!(i===2||i===3||i===4||i===5||j===p))l=j===o else l=!0 -if(!l)n+=" extends "+A.r(j,a5)}n+=">"}else n="" +if(!l)n+=" extends "+A.t(j,a5)}n+=">"}else n="" p=a4.x h=a4.y g=h.a @@ -749,263 +771,263 @@ e=h.b d=e.length c=h.c b=c.length -a=A.r(p,a5) -for(a0="",a1="",q=0;q0){a0+=a1+"[" -for(a1="",q=0;q0){a0+=a1+"{" for(a1="",q=0;q "+a}, -r(a,b){var s,r,q,p,o,n,m,l=a.w +t(a,b){var s,r,q,p,o,n,m,l=a.w if(l===5)return"erased" if(l===2)return"dynamic" if(l===3)return"void" if(l===1)return"Never" if(l===4)return"any" -if(l===6)return A.r(a.x,b) +if(l===6)return A.t(a.x,b) if(l===7){s=a.x -r=A.r(s,b) +r=A.t(s,b) q=s.w -return(q===12||q===13?"("+r+")":r)+"?"}if(l===8)return"FutureOr<"+A.r(a.x,b)+">" -if(l===9){p=A.fD(a.x) +return(q===12||q===13?"("+r+")":r)+"?"}if(l===8)return"FutureOr<"+A.t(a.x,b)+">" +if(l===9){p=A.fO(a.x) o=a.y -return o.length>0?p+("<"+A.dP(o,b)+">"):p}if(l===11)return A.fv(a,b) -if(l===12)return A.dI(a,b,null) -if(l===13)return A.dI(a.x,b,a.y) +return o.length>0?p+("<"+A.e1(o,b)+">"):p}if(l===11)return A.fG(a,b) +if(l===12)return A.dU(a,b,null) +if(l===13)return A.dU(a.x,b,a.y) if(l===14){n=a.x m=b.length n=m-1-n -if(!(n>=0&&n=0&&n0)p+="<"+A.aM(c)+">" +aR(a,b,c){var s,r,q,p=b +if(c.length>0)p+="<"+A.aQ(c)+">" s=a.eC.get(p) if(s!=null)return s -r=new A.w(null,null) +r=new A.x(null,null) r.w=9 r.x=b r.y=c if(c.length>0)r.c=c[0] r.as=p -q=A.F(a,r) +q=A.G(a,r) a.eC.set(p,q) return q}, -cS(a,b,c){var s,r,q,p,o,n +d_(a,b,c){var s,r,q,p,o,n if(b.w===10){s=b.x r=b.y.concat(c)}else{r=c -s=b}q=s.as+(";<"+A.aM(r)+">") +s=b}q=s.as+(";<"+A.aQ(r)+">") p=a.eC.get(q) if(p!=null)return p -o=new A.w(null,null) +o=new A.x(null,null) o.w=10 o.x=s o.y=r o.as=q -n=A.F(a,o) +n=A.G(a,o) a.eC.set(q,n) return n}, -dC(a,b,c){var s,r,q="+"+(b+"("+A.aM(c)+")"),p=a.eC.get(q) +dK(a,b,c){var s,r,q="+"+(b+"("+A.aQ(c)+")"),p=a.eC.get(q) if(p!=null)return p -s=new A.w(null,null) +s=new A.x(null,null) s.w=11 s.x=b s.y=c s.as=q -r=A.F(a,s) +r=A.G(a,s) a.eC.set(q,r) return r}, -dA(a,b,c){var s,r,q,p,o,n=b.as,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.aM(m) +dI(a,b,c){var s,r,q,p,o,n=b.as,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.aQ(m) if(j>0){s=l>0?",":"" -g+=s+"["+A.aM(k)+"]"}if(h>0){s=l>0?",":"" -g+=s+"{"+A.eT(i)+"}"}r=n+(g+")") +g+=s+"["+A.aQ(k)+"]"}if(h>0){s=l>0?",":"" +g+=s+"{"+A.f4(i)+"}"}r=n+(g+")") q=a.eC.get(r) if(q!=null)return q -p=new A.w(null,null) +p=new A.x(null,null) p.w=12 p.x=b p.y=c p.as=r -o=A.F(a,p) +o=A.G(a,p) a.eC.set(r,o) return o}, -cT(a,b,c,d){var s,r=b.as+("<"+A.aM(c)+">"),q=a.eC.get(r) +d0(a,b,c,d){var s,r=b.as+("<"+A.aQ(c)+">"),q=a.eC.get(r) if(q!=null)return q -s=A.eV(a,b,c,r,d) +s=A.f6(a,b,c,r,d) a.eC.set(r,s) return s}, -eV(a,b,c,d,e){var s,r,q,p,o,n,m,l +f6(a,b,c,d,e){var s,r,q,p,o,n,m,l if(e){s=c.length -r=A.ct(s) +r=A.cy(s) for(q=0,p=0;p0){n=A.N(a,b,r,0) -m=A.ab(a,c,r,0) -return A.cT(a,n,m,c!==m)}}l=new A.w(null,null) +if(o.w===1){r[p]=o;++q}}if(q>0){n=A.Q(a,b,r,0) +m=A.ac(a,c,r,0) +return A.d0(a,n,m,c!==m)}}l=new A.x(null,null) l.w=13 l.x=b l.y=c l.as=d -return A.F(a,l)}, -dw(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}}, -dy(a){var s,r,q,p,o,n,m,l=a.r,k=a.s +return A.G(a,l)}, +dE(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}}, +dG(a){var s,r,q,p,o,n,m,l=a.r,k=a.s for(s=l.length,r=0;r=48&&q<=57)r=A.eM(r+1,q,l,k) -else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.dx(a,r,l,k,!1) -else if(q===46)r=A.dx(a,r,l,k,!0) +if(q>=48&&q<=57)r=A.eY(r+1,q,l,k) +else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.dF(a,r,l,k,!1) +else if(q===46)r=A.dF(a,r,l,k,!0) else{++r switch(q){case 44:break case 58:k.push(!1) break case 33:k.push(!0) break -case 59:k.push(A.M(a.u,a.e,k.pop())) +case 59:k.push(A.P(a.u,a.e,k.pop())) break -case 94:k.push(A.eY(a.u,k.pop())) +case 94:k.push(A.f9(a.u,k.pop())) break -case 35:k.push(A.aO(a.u,5,"#")) +case 35:k.push(A.aS(a.u,5,"#")) break -case 64:k.push(A.aO(a.u,2,"@")) +case 64:k.push(A.aS(a.u,2,"@")) break -case 126:k.push(A.aO(a.u,3,"~")) +case 126:k.push(A.aS(a.u,3,"~")) break case 60:k.push(a.p) a.p=k.length break -case 62:A.eO(a,k) +case 62:A.f_(a,k) break -case 38:A.eN(a,k) +case 38:A.eZ(a,k) break case 42:p=a.u -k.push(A.dD(p,A.M(p,a.e,k.pop()),a.n)) +k.push(A.dL(p,A.P(p,a.e,k.pop()),a.n)) break case 63:p=a.u -k.push(A.cU(p,A.M(p,a.e,k.pop()),a.n)) +k.push(A.d1(p,A.P(p,a.e,k.pop()),a.n)) break case 47:p=a.u -k.push(A.dB(p,A.M(p,a.e,k.pop()),a.n)) +k.push(A.dJ(p,A.P(p,a.e,k.pop()),a.n)) break case 40:k.push(-3) k.push(a.p) a.p=k.length break -case 41:A.eL(a,k) +case 41:A.eX(a,k) break case 91:k.push(a.p) a.p=k.length break case 93:o=k.splice(a.p) -A.dz(a.u,a.e,o) +A.dH(a.u,a.e,o) a.p=k.pop() k.push(o) k.push(-1) @@ -1014,7 +1036,7 @@ case 123:k.push(a.p) a.p=k.length break case 125:o=k.splice(a.p) -A.eQ(a.u,a.e,o) +A.f1(a.u,a.e,o) a.p=k.pop() k.push(o) k.push(-2) @@ -1027,13 +1049,13 @@ a.p=k.length r=n+1 break default:throw"Bad character "+q}}}m=k.pop() -return A.M(a.u,a.e,m)}, -eM(a,b,c,d){var s,r,q=b-48 +return A.P(a.u,a.e,m)}, +eY(a,b,c,d){var s,r,q=b-48 for(s=c.length;a=48&&r<=57))break q=q*10+(r-48)}d.push(q) return a}, -dx(a,b,c,d,e){var s,r,q,p,o,n,m=b+1 +dF(a,b,c,d,e){var s,r,q,p,o,n,m=b+1 for(s=c.length;m>>0)-97&65535)<26||r===95||r===36||r===124))q=r>=48&&r<=57 @@ -1042,55 +1064,55 @@ if(!q)break}}p=c.substring(b,m) if(e){s=a.u o=a.e if(o.w===10)o=o.x -n=A.f2(s,o.x)[p] -if(n==null)A.aS('No "'+p+'" in "'+A.eC(o)+'"') -d.push(A.cs(s,o,n))}else d.push(p) +n=A.fe(s,o.x)[p] +if(n==null)A.bG('No "'+p+'" in "'+A.eN(o)+'"') +d.push(A.cx(s,o,n))}else d.push(p) return m}, -eO(a,b){var s,r=a.u,q=A.dv(a,b),p=b.pop() -if(typeof p=="string")b.push(A.aN(r,p,q)) -else{s=A.M(r,a.e,p) -switch(s.w){case 12:b.push(A.cT(r,s,q,a.n)) +f_(a,b){var s,r=a.u,q=A.dD(a,b),p=b.pop() +if(typeof p=="string")b.push(A.aR(r,p,q)) +else{s=A.P(r,a.e,p) +switch(s.w){case 12:b.push(A.d0(r,s,q,a.n)) break -default:b.push(A.cS(r,s,q)) +default:b.push(A.d_(r,s,q)) break}}}, -eL(a,b){var s,r,q,p=a.u,o=b.pop(),n=null,m=null +eX(a,b){var s,r,q,p=a.u,o=b.pop(),n=null,m=null if(typeof o=="number")switch(o){case-1:n=b.pop() break case-2:m=b.pop() break default:b.push(o) break}else b.push(o) -s=A.dv(a,b) +s=A.dD(a,b) o=b.pop() switch(o){case-3:o=b.pop() if(n==null)n=p.sEA if(m==null)m=p.sEA -r=A.M(p,a.e,o) -q=new A.bt() +r=A.P(p,a.e,o) +q=new A.bw() q.a=s q.b=n q.c=m -b.push(A.dA(p,r,q)) +b.push(A.dI(p,r,q)) return -case-4:b.push(A.dC(p,b.pop(),s)) +case-4:b.push(A.dK(p,b.pop(),s)) return -default:throw A.b(A.aX("Unexpected state under `()`: "+A.o(o)))}}, -eN(a,b){var s=b.pop() -if(0===s){b.push(A.aO(a.u,1,"0&")) -return}if(1===s){b.push(A.aO(a.u,4,"1&")) -return}throw A.b(A.aX("Unexpected extended operation "+A.o(s)))}, -dv(a,b){var s=b.splice(a.p) -A.dz(a.u,a.e,s) +default:throw A.b(A.b0("Unexpected state under `()`: "+A.p(o)))}}, +eZ(a,b){var s=b.pop() +if(0===s){b.push(A.aS(a.u,1,"0&")) +return}if(1===s){b.push(A.aS(a.u,4,"1&")) +return}throw A.b(A.b0("Unexpected extended operation "+A.p(s)))}, +dD(a,b){var s=b.splice(a.p) +A.dH(a.u,a.e,s) a.p=b.pop() return s}, -M(a,b,c){if(typeof c=="string")return A.aN(a,c,a.sEA) +P(a,b,c){if(typeof c=="string")return A.aR(a,c,a.sEA) else if(typeof c=="number"){b.toString -return A.eP(a,b,c)}else return c}, -dz(a,b,c){var s,r=c.length -for(s=0;s0?new Array(q):v.typeUniverse.sEA -for(o=0;o0?new Array(a):v.typeUniverse.sEA}, -w:function w(a,b){var _=this +cy(a){return a>0?new Array(a):v.typeUniverse.sEA}, +x:function x(a,b){var _=this _.a=a _.b=b _.r=_.f=_.d=_.c=null _.w=0 _.as=_.Q=_.z=_.y=_.x=null}, -bt:function bt(){this.c=this.b=this.a=null}, -cr:function cr(a){this.a=a}, -bs:function bs(){}, -aL:function aL(a){this.a=a}, -eE(){var s,r,q={} -if(self.scheduleImmediate!=null)return A.fG() +bw:function bw(){this.c=this.b=this.a=null}, +cw:function cw(a){this.a=a}, +bv:function bv(){}, +aP:function aP(a){this.a=a}, +eQ(){var s,r,q={} +if(self.scheduleImmediate!=null)return A.fQ() if(self.MutationObserver!=null&&self.document!=null){s=self.document.createElement("div") r=self.document.createElement("span") q.a=null -new self.MutationObserver(A.cD(new A.c3(q),1)).observe(s,{childList:true}) -return new A.c2(q,s,r)}else if(self.setImmediate!=null)return A.fH() -return A.fI()}, -eF(a){self.scheduleImmediate(A.cD(new A.c4(a),0))}, -eG(a){self.setImmediate(A.cD(new A.c5(a),0))}, -eH(a){A.eR(0,a)}, -eR(a,b){var s=new A.cp() -s.am(a,b) +new self.MutationObserver(A.aV(new A.c8(q),1)).observe(s,{childList:true}) +return new A.c7(q,s,r)}else if(self.setImmediate!=null)return A.fR() +return A.fS()}, +eR(a){self.scheduleImmediate(A.aV(new A.c9(a),0))}, +eS(a){self.setImmediate(A.aV(new A.ca(a),0))}, +eT(a){A.f2(0,a)}, +f2(a,b){var s=new A.cu() +s.ao(a,b) return s}, -fs(a){return new A.bn(new A.n($.i,a.i("n<0>")),a.i("bn<0>"))}, -f7(a,b){a.$2(0,null) +dY(a){return new A.bp(new A.m($.h,a.i("m<0>")),a.i("bp<0>"))}, +dR(a,b){a.$2(0,null) b.b=!0 return b.a}, -hA(a,b){A.f8(a,b)}, -f6(a,b){var s,r=a==null?b.$ti.c.a(a):a -if(!b.b)b.a.a2(r) -else{s=b.a -if(b.$ti.i("X<1>").b(r))s.a4(r) -else s.L(r)}}, -f5(a,b){var s=A.P(a),r=A.H(a),q=b.a -if(b.b)q.v(s,r) -else q.K(s,r)}, -f8(a,b){var s,r,q=new A.cw(b),p=new A.cx(b) -if(a instanceof A.n)a.ac(q,p,t.z) +dO(a,b){A.fh(a,b)}, +dQ(a,b){b.W(a)}, +dP(a,b){b.X(A.K(a),A.I(a))}, +fh(a,b){var s,r,q=new A.cB(b),p=new A.cC(b) +if(a instanceof A.m)a.ae(q,p,t.z) else{s=t.z -if(a instanceof A.n)a.Z(q,p,s) -else{r=new A.n($.i,t.d) +if(a instanceof A.m)a.a1(q,p,s) +else{r=new A.m($.h,t.d) r.a=8 r.c=a -r.ac(q,p,s)}}}, -fF(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e) +r.ae(q,p,s)}}}, +e3(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e) break}catch(r){e=r d=c}}}}(a,1) -return $.i.X(new A.cA(s))}, -bD(a,b){var s=A.cC(a,"error",t.K) -return new A.aY(s,b==null?A.eh(a):b)}, -eh(a){var s -if(t.Q.b(a)){s=a.gH() -if(s!=null)return s}return B.m}, -ds(a,b){var s,r +return $.h.a_(new A.cF(s))}, +cU(a){var s +if(t.C.b(a)){s=a.gB() +if(s!=null)return s}return B.b}, +fr(a,b){if($.h===B.a)return null +return null}, +fs(a,b){if($.h!==B.a)A.fr(a,b) +if(b==null)if(t.C.b(a)){b=a.gB() +if(b==null){A.dr(a,B.b) +b=B.b}}else b=B.b +else if(t.C.b(a))A.dr(a,b) +return new A.L(a,b)}, +dA(a,b){var s,r for(;s=a.a,(s&4)!==0;)a=a.c -if(a===b){b.K(new A.y(!0,a,null,"Cannot complete a future with itself"),A.dj()) +if(a===b){b.C(new A.z(!0,a,null,"Cannot complete a future with itself"),A.du()) return}s|=b.a&1 a.a=s -if((s&24)!==0){r=b.C() -b.B(a) -A.a7(b,r)}else{r=b.c -b.aa(a) -a.T(r)}}, -eJ(a,b){var s,r,q={},p=q.a=a +if((s&24)!==0){r=b.E() +b.D(a) +A.a8(b,r)}else{r=b.c +b.ac(a) +a.U(r)}}, +eV(a,b){var s,r,q={},p=q.a=a for(;s=p.a,(s&4)!==0;){p=p.c -q.a=p}if(p===b){b.K(new A.y(!0,p,null,"Cannot complete a future with itself"),A.dj()) +q.a=p}if(p===b){b.C(new A.z(!0,p,null,"Cannot complete a future with itself"),A.du()) return}if((s&24)===0){r=b.c -b.aa(p) -q.a.T(r) -return}if((s&16)===0&&b.c==null){b.B(p) +b.ac(p) +q.a.U(r) +return}if((s&16)===0&&b.c==null){b.D(p) return}b.a^=2 -A.aa(null,null,b.b,new A.ca(q,b))}, -a7(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g={},f=g.a=a +A.ab(null,null,b.b,new A.cf(q,b))}, +a8(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g={},f=g.a=a for(;!0;){s={} r=f.a q=(r&16)===0 p=!q if(b==null){if(p&&(r&1)===0){f=f.c -A.bA(f.a,f.b)}return}s.a=b +A.bD(f.a,f.b)}return}s.a=b o=b.a for(f=b;o!=null;f=o,o=n){f.a=null -A.a7(g.a,f) +A.a8(g.a,f) s.a=o n=o.a}r=g.a m=r.c @@ -1311,116 +1333,116 @@ l=(l&1)!==0||(l&15)===8}else l=!0 if(l){k=f.b.b if(p){r=r.b===k r=!(r||r)}else r=!1 -if(r){A.bA(m.a,m.b) -return}j=$.i -if(j!==k)$.i=k +if(r){A.bD(m.a,m.b) +return}j=$.h +if(j!==k)$.h=k else j=null f=f.c -if((f&15)===8)new A.ch(s,g,p).$0() -else if(q){if((f&1)!==0)new A.cg(s,m).$0()}else if((f&2)!==0)new A.cf(g,s).$0() -if(j!=null)$.i=j +if((f&15)===8)new A.cm(s,g,p).$0() +else if(q){if((f&1)!==0)new A.cl(s,m).$0()}else if((f&2)!==0)new A.ck(g,s).$0() +if(j!=null)$.h=j f=s.c -if(f instanceof A.n){r=s.a.$ti -r=r.i("X<2>").b(f)||!r.y[1].b(f)}else r=!1 +if(f instanceof A.m){r=s.a.$ti +r=r.i("Z<2>").b(f)||!r.y[1].b(f)}else r=!1 if(r){i=s.a.b if((f.a&24)!==0){h=i.c i.c=null -b=i.D(h) +b=i.F(h) i.a=f.a&30|i.a&1 i.c=f.c g.a=f -continue}else A.ds(f,i) +continue}else A.dA(f,i) return}}i=s.a.b h=i.c i.c=null -b=i.D(h) +b=i.F(h) f=s.b r=s.c if(!f){i.a=8 i.c=r}else{i.a=i.a&1|16 i.c=r}g.a=i f=i}}, -fw(a,b){if(t.C.b(a))return b.X(a) +fH(a,b){if(t.Q.b(a))return b.a_(a) if(t.v.b(a))return a -throw A.b(A.d8(a,"onError",u.c))}, -ft(){var s,r -for(s=$.a9;s!=null;s=$.a9){$.aQ=null +throw A.b(A.di(a,"onError",u.c))}, +fE(){var s,r +for(s=$.aa;s!=null;s=$.aa){$.aU=null r=s.b -$.a9=r -if(r==null)$.aP=null +$.aa=r +if(r==null)$.aT=null s.a.$0()}}, -fz(){$.cW=!0 -try{A.ft()}finally{$.aQ=null -$.cW=!1 -if($.a9!=null)$.d6().$1(A.dS())}}, -dQ(a){var s=new A.bo(a),r=$.aP -if(r==null){$.a9=$.aP=s -if(!$.cW)$.d6().$1(A.dS())}else $.aP=r.b=s}, -fy(a){var s,r,q,p=$.a9 -if(p==null){A.dQ(a) -$.aQ=$.aP -return}s=new A.bo(a) -r=$.aQ +fK(){$.d3=!0 +try{A.fE()}finally{$.aU=null +$.d3=!1 +if($.aa!=null)$.dg().$1(A.e5())}}, +e2(a){var s=new A.bq(a),r=$.aT +if(r==null){$.aa=$.aT=s +if(!$.d3)$.dg().$1(A.e5())}else $.aT=r.b=s}, +fJ(a){var s,r,q,p=$.aa +if(p==null){A.e2(a) +$.aU=$.aT +return}s=new A.bq(a) +r=$.aU if(r==null){s.b=p -$.a9=$.aQ=s}else{q=r.b +$.aa=$.aU=s}else{q=r.b s.b=q -$.aQ=r.b=s -if(q==null)$.aP=s}}, -d4(a){var s=null,r=$.i -if(B.a===r){A.aa(s,s,B.a,a) -return}A.aa(s,s,r,r.ae(a))}, -h9(a){A.cC(a,"stream",t.K) -return new A.bw()}, -bB(a){return}, -eI(a,b,c,d,e){var s=$.i,r=e?1:0,q=c!=null?32:0 -A.dq(s,c) -return new A.a4(a,b,s,r|q)}, -dq(a,b){if(b==null)b=A.fJ() -if(t.f.b(b))return a.X(b) +$.aU=r.b=s +if(q==null)$.aT=s}}, +dd(a){var s=null,r=$.h +if(B.a===r){A.ab(s,s,B.a,a) +return}A.ab(s,s,r,r.ag(a))}, +hl(a){A.d4(a,"stream",t.K) +return new A.bz()}, +bE(a){return}, +eU(a,b,c,d,e){var s=$.h,r=e?1:0,q=c!=null?32:0 +A.dy(s,c) +return new A.a5(a,b,s,r|q)}, +dy(a,b){if(b==null)b=A.fT() +if(t.f.b(b))return a.a_(b) if(t.u.b(b))return b -throw A.b(A.aU("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.",null))}, -fu(a,b){A.bA(a,b)}, -bA(a,b){A.fy(new A.cz(a,b))}, -dN(a,b,c,d){var s,r=$.i +throw A.b(A.aY("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.",null))}, +fF(a,b){A.bD(a,b)}, +bD(a,b){A.fJ(new A.cE(a,b))}, +e_(a,b,c,d){var s,r=$.h if(r===c)return d.$0() -$.i=c +$.h=c s=r try{r=d.$0() -return r}finally{$.i=s}}, -dO(a,b,c,d,e){var s,r=$.i +return r}finally{$.h=s}}, +e0(a,b,c,d,e){var s,r=$.h if(r===c)return d.$1(e) -$.i=c +$.h=c s=r try{r=d.$1(e) -return r}finally{$.i=s}}, -fx(a,b,c,d,e,f){var s,r=$.i +return r}finally{$.h=s}}, +fI(a,b,c,d,e,f){var s,r=$.h if(r===c)return d.$2(e,f) -$.i=c +$.h=c s=r try{r=d.$2(e,f) -return r}finally{$.i=s}}, -aa(a,b,c,d){if(B.a!==c)d=c.ae(d) -A.dQ(d)}, -c3:function c3(a){this.a=a}, -c2:function c2(a,b,c){this.a=a +return r}finally{$.h=s}}, +ab(a,b,c,d){if(B.a!==c)d=c.ag(d) +A.e2(d)}, +c8:function c8(a){this.a=a}, +c7:function c7(a,b,c){this.a=a this.b=b this.c=c}, -c4:function c4(a){this.a=a}, -c5:function c5(a){this.a=a}, -cp:function cp(){}, -cq:function cq(a,b){this.a=a +c9:function c9(a){this.a=a}, +ca:function ca(a){this.a=a}, +cu:function cu(){}, +cv:function cv(a,b){this.a=a this.b=b}, -bn:function bn(a,b){this.a=a +bp:function bp(a,b){this.a=a this.b=!1 this.$ti=b}, -cw:function cw(a){this.a=a}, -cx:function cx(a){this.a=a}, -cA:function cA(a){this.a=a}, -aY:function aY(a,b){this.a=a +cB:function cB(a){this.a=a}, +cC:function cC(a){this.a=a}, +cF:function cF(a){this.a=a}, +L:function L(a,b){this.a=a this.b=b}, -ax:function ax(a,b){this.a=a +aB:function aB(a,b){this.a=a this.$ti=b}, -ay:function ay(a,b,c,d){var _=this +aC:function aC(a,b,c,d){var _=this _.ay=0 _.CW=_.ch=null _.w=a @@ -1428,334 +1450,377 @@ _.a=b _.d=c _.e=d _.r=null}, -a3:function a3(){}, -aK:function aK(a,b,c){var _=this +a4:function a4(){}, +aO:function aO(a,b,c){var _=this _.a=a _.b=b _.c=0 _.e=_.d=null _.$ti=c}, -co:function co(a,b){this.a=a +ct:function ct(a,b){this.a=a this.b=b}, -a6:function a6(a,b,c,d,e){var _=this +bs:function bs(){}, +aA:function aA(a,b){this.a=a +this.$ti=b}, +a7:function a7(a,b,c,d,e){var _=this _.a=null _.b=a _.c=b _.d=c _.e=d _.$ti=e}, -n:function n(a,b){var _=this +m:function m(a,b){var _=this _.a=0 _.b=a _.c=null _.$ti=b}, -c7:function c7(a,b){this.a=a +cc:function cc(a,b){this.a=a this.b=b}, -ce:function ce(a,b){this.a=a +cj:function cj(a,b){this.a=a this.b=b}, -cb:function cb(a){this.a=a}, -cc:function cc(a){this.a=a}, -cd:function cd(a,b,c){this.a=a +cg:function cg(a){this.a=a}, +ch:function ch(a){this.a=a}, +ci:function ci(a,b,c){this.a=a this.b=b this.c=c}, -ca:function ca(a,b){this.a=a +cf:function cf(a,b){this.a=a this.b=b}, -c9:function c9(a,b){this.a=a +ce:function ce(a,b){this.a=a this.b=b}, -c8:function c8(a,b,c){this.a=a +cd:function cd(a,b,c){this.a=a this.b=b this.c=c}, -ch:function ch(a,b,c){this.a=a +cm:function cm(a,b,c){this.a=a this.b=b this.c=c}, -ci:function ci(a){this.a=a}, -cg:function cg(a,b){this.a=a +cn:function cn(a){this.a=a}, +cl:function cl(a,b){this.a=a this.b=b}, -cf:function cf(a,b){this.a=a +ck:function ck(a,b){this.a=a this.b=b}, -bo:function bo(a){this.a=a +bq:function bq(a){this.a=a this.b=null}, -a1:function a1(){}, -bS:function bS(a,b){this.a=a +a2:function a2(){}, +bX:function bX(a,b){this.a=a this.b=b}, -bT:function bT(a,b){this.a=a +bY:function bY(a,b){this.a=a this.b=b}, -bv:function bv(){}, -cn:function cn(a){this.a=a}, -bp:function bp(){}, -a2:function a2(a,b,c,d){var _=this +by:function by(){}, +cs:function cs(a){this.a=a}, +br:function br(){}, +a3:function a3(a,b,c,d){var _=this _.a=null _.b=0 _.d=a _.e=b _.f=c _.$ti=d}, -U:function U(a,b){this.a=a +W:function W(a,b){this.a=a this.$ti=b}, -a4:function a4(a,b,c,d){var _=this +a5:function a5(a,b,c,d){var _=this _.w=a _.a=b _.d=c _.e=d _.r=null}, -T:function T(){}, -aJ:function aJ(){}, -br:function br(){}, -a5:function a5(a){this.b=a +V:function V(){}, +aN:function aN(){}, +bu:function bu(){}, +a6:function a6(a){this.b=a this.a=null}, -aH:function aH(){this.a=0 +aL:function aL(){this.a=0 this.c=this.b=null}, -ck:function ck(a,b){this.a=a +cp:function cp(a,b){this.a=a this.b=b}, -az:function az(a){this.a=1 +aD:function aD(a){this.a=1 this.b=a this.c=null}, -bw:function bw(){}, -cu:function cu(){}, -cz:function cz(a,b){this.a=a +bz:function bz(){}, +cz:function cz(){}, +cE:function cE(a,b){this.a=a this.b=b}, -cl:function cl(){}, -cm:function cm(a,b){this.a=a +cq:function cq(){}, +cr:function cr(a,b){this.a=a this.b=b}, -dt(a,b){var s=a[b] +dB(a,b){var s=a[b] return s===a?null:s}, -du(a,b,c){if(c==null)a[b]=a +dC(a,b,c){if(c==null)a[b]=a else a[b]=c}, -eK(){var s=Object.create(null) -A.du(s,"",s) +eW(){var s=Object.create(null) +A.dC(s,"",s) delete s[""] return s}, -ew(a){var s,r={} -if(A.d0(a))return"{...}" -s=new A.bj("") -try{$.v.push(a) +eH(a){var s,r={} +if(A.d9(a))return"{...}" +s=new A.bm("") +try{$.w.push(a) s.a+="{" r.a=!0 -a.af(0,new A.bO(r,s)) -s.a+="}"}finally{if(0>=$.v.length)return A.z($.v,-1) -$.v.pop()}r=s.a +a.ai(0,new A.bR(r,s)) +s.a+="}"}finally{if(0>=$.w.length)return A.A($.w,-1) +$.w.pop()}r=s.a return r.charCodeAt(0)==0?r:r}, -aA:function aA(){}, -aC:function aC(a){var _=this +aE:function aE(){}, +aG:function aG(a){var _=this _.a=0 _.e=_.d=_.c=_.b=null _.$ti=a}, -aB:function aB(a,b){this.a=a +aF:function aF(a,b){this.a=a this.$ti=b}, -bu:function bu(a,b,c){var _=this +bx:function bx(a,b,c){var _=this _.a=a _.b=b _.c=0 _.d=null _.$ti=c}, -h:function h(){}, -a_:function a_(){}, -bO:function bO(a,b){this.a=a +k:function k(){}, +a0:function a0(){}, +bR:function bR(a,b){this.a=a this.b=b}, -ep(a,b){a=A.b(a) +eB(a,b){a=A.b(a) a.stack=b.h(0) throw a throw A.b("unreachable")}, -ev(a,b,c){var s -if(a>4294967295)A.aS(A.eB(a,0,4294967295,"length",null)) -s=J.df(A.bC(new Array(a),c.i("t<0>"))) -return s}, -dl(a,b,c){var s=J.ee(b) +eG(a,b,c){var s,r +if(a>4294967295)A.bG(A.eM(a,0,4294967295,"length",null)) +s=A.bF(new Array(a),c.i("u<0>")) +s.$flags=1 +r=s +return r}, +dv(a,b,c){var s=J.er(b) if(!s.l())return a -if(c.length===0){do a+=A.o(s.gm()) -while(s.l())}else{a+=A.o(s.gm()) -for(;s.l();)a=a+c+A.o(s.gm())}return a}, -dj(){return A.H(new Error())}, -bH(a){if(typeof a=="number"||A.cy(a)||a==null)return J.aT(a) +if(c.length===0){do a+=A.p(s.gm()) +while(s.l())}else{a+=A.p(s.gm()) +for(;s.l();)a=a+c+A.p(s.gm())}return a}, +du(){return A.I(new Error())}, +bK(a){if(typeof a=="number"||A.cD(a)||a==null)return J.aX(a) if(typeof a=="string")return JSON.stringify(a) -return A.eA(a)}, -eq(a,b){A.cC(a,"error",t.K) -A.cC(b,"stackTrace",t.l) -A.ep(a,b)}, -aX(a){return new A.aW(a)}, -aU(a,b){return new A.y(!1,null,b,a)}, -d8(a,b,c){return new A.y(!0,a,b,c)}, -eB(a,b,c,d,e){return new A.au(b,c,!0,a,d,"Invalid value")}, -er(a,b,c,d){return new A.b0(b,!0,a,d,"Index out of range")}, -dp(a){return new A.bm(a)}, -dn(a){return new A.bk(a)}, -dk(a){return new A.C(a)}, -bG(a){return new A.b_(a)}, -es(a,b,c){var s,r -if(A.d0(a)){if(b==="("&&c===")")return"(...)" -return b+"..."+c}s=A.bC([],t.s) -$.v.push(a) -try{A.fr(a,s)}finally{if(0>=$.v.length)return A.z($.v,-1) -$.v.pop()}r=A.dl(b,s,", ")+c +return A.eL(a)}, +eC(a,b){A.d4(a,"error",t.K) +A.d4(b,"stackTrace",t.l) +A.eB(a,b)}, +b0(a){return new A.b_(a)}, +aY(a,b){return new A.z(!1,null,b,a)}, +di(a,b,c){return new A.z(!0,a,b,c)}, +eM(a,b,c,d,e){return new A.aw(b,c,!0,a,d,"Invalid value")}, +eD(a,b,c,d){return new A.b3(b,!0,a,d,"Index out of range")}, +eO(a){return new A.az(a)}, +dx(a){return new A.bn(a)}, +bV(a){return new A.D(a)}, +bJ(a){return new A.b2(a)}, +eE(a,b,c){var s,r +if(A.d9(a)){if(b==="("&&c===")")return"(...)" +return b+"..."+c}s=A.bF([],t.s) +$.w.push(a) +try{A.fD(a,s)}finally{if(0>=$.w.length)return A.A($.w,-1) +$.w.pop()}r=A.dv(b,s,", ")+c return r.charCodeAt(0)==0?r:r}, -de(a,b,c){var s,r -if(A.d0(a))return b+"..."+c -s=new A.bj(b) -$.v.push(a) +dp(a,b,c){var s,r +if(A.d9(a))return b+"..."+c +s=new A.bm(b) +$.w.push(a) try{r=s -r.a=A.dl(r.a,a,", ")}finally{if(0>=$.v.length)return A.z($.v,-1) -$.v.pop()}s.a+=c +r.a=A.dv(r.a,a,", ")}finally{if(0>=$.w.length)return A.A($.w,-1) +$.w.pop()}s.a+=c r=s.a return r.charCodeAt(0)==0?r:r}, -fr(a,b){var s,r,q,p,o,n,m,l=a.gq(a),k=0,j=0 +fD(a,b){var s,r,q,p,o,n,m,l=a.gq(a),k=0,j=0 while(!0){if(!(k<80||j<3))break if(!l.l())return -s=A.o(l.gm()) +s=A.p(l.gm()) b.push(s) k+=s.length+2;++j}if(!l.l()){if(j<=5)return -if(0>=b.length)return A.z(b,-1) +if(0>=b.length)return A.A(b,-1) r=b.pop() -if(0>=b.length)return A.z(b,-1) +if(0>=b.length)return A.A(b,-1) q=b.pop()}else{p=l.gm();++j -if(!l.l()){if(j<=4){b.push(A.o(p)) -return}r=A.o(p) -if(0>=b.length)return A.z(b,-1) +if(!l.l()){if(j<=4){b.push(A.p(p)) +return}r=A.p(p) +if(0>=b.length)return A.A(b,-1) q=b.pop() k+=r.length+2}else{o=l.gm();++j for(;l.l();p=o,o=n){n=l.gm();++j if(j>100){while(!0){if(!(k>75&&j>3))break -if(0>=b.length)return A.z(b,-1) +if(0>=b.length)return A.A(b,-1) k-=b.pop().length+2;--j}b.push("...") -return}}q=A.o(p) -r=A.o(o) +return}}q=A.p(p) +r=A.p(o) k+=r.length+q.length+4}}if(j>b.length+2){k+=5 m="..."}else m=null while(!0){if(!(k>80&&b.length>3))break -if(0>=b.length)return A.z(b,-1) +if(0>=b.length)return A.A(b,-1) k-=b.pop().length+2 if(m==null){k+=5 m="..."}}if(m!=null)b.push(m) b.push(q) b.push(r)}, -j:function j(){}, -aW:function aW(a){this.a=a}, -D:function D(){}, -y:function y(a,b,c,d){var _=this +dc(a){A.ha(a)}, +l:function l(){}, +b_:function b_(a){this.a=a}, +E:function E(){}, +z:function z(a,b,c,d){var _=this _.a=a _.b=b _.c=c _.d=d}, -au:function au(a,b,c,d,e,f){var _=this +aw:function aw(a,b,c,d,e,f){var _=this _.e=a _.f=b _.a=c _.b=d _.c=e _.d=f}, -b0:function b0(a,b,c,d,e){var _=this +b3:function b3(a,b,c,d,e){var _=this _.f=a _.a=b _.b=c _.c=d _.d=e}, -bm:function bm(a){this.a=a}, -bk:function bk(a){this.a=a}, -C:function C(a){this.a=a}, -b_:function b_(a){this.a=a}, -av:function av(){}, -c6:function c6(a){this.a=a}, +az:function az(a){this.a=a}, +bn:function bn(a){this.a=a}, +D:function D(a){this.a=a}, +b2:function b2(a){this.a=a}, +ax:function ax(){}, +cb:function cb(a){this.a=a}, c:function c(){}, -p:function p(){}, +q:function q(){}, d:function d(){}, -bx:function bx(){}, -bj:function bj(a){this.a=a}, -f9(a,b,c){if(c>=1)return a.$1(b) +bA:function bA(){}, +bm:function bm(a){this.a=a}, +fi(a,b,c){if(c>=1)return a.$1(b) return a.$0()}, -dM(a){return a==null||A.cy(a)||typeof a=="number"||typeof a=="string"||t.U.b(a)||t.E.b(a)||t.e.b(a)||t.O.b(a)||t.D.b(a)||t.k.b(a)||t.w.b(a)||t.B.b(a)||t.q.b(a)||t.J.b(a)||t.Y.b(a)}, -fX(a){if(A.dM(a))return a -return new A.cJ(new A.aC(t.F)).$1(a)}, -cJ:function cJ(a){this.a=a}, -fL(a,b,c,d,e){var s,r=e.i("aK<0>"),q=new A.aK(null,null,r),p=new A.cB(q,c,d) -if(typeof p=="function")A.aS(A.aU("Attempting to rewrap a JS function.",null)) -s=function(f,g){return function(h){return f(g,h,arguments.length)}}(A.f9,p) -s[$.d5()]=p +dZ(a){return a==null||A.cD(a)||typeof a=="number"||typeof a=="string"||t.U.b(a)||t.E.b(a)||t.e.b(a)||t.O.b(a)||t.D.b(a)||t.k.b(a)||t.w.b(a)||t.B.b(a)||t.q.b(a)||t.J.b(a)||t.Y.b(a)}, +h6(a){if(A.dZ(a))return a +return new A.cN(new A.aG(t.F)).$1(a)}, +hb(a,b){var s=new A.m($.h,b.i("m<0>")),r=new A.aA(s,b.i("aA<0>")) +a.then(A.aV(new A.cR(r),1),A.aV(new A.cS(r),1)) +return s}, +cN:function cN(a){this.a=a}, +cR:function cR(a){this.a=a}, +cS:function cS(a){this.a=a}, +bS:function bS(a){this.a=a}, +cL(){var s=0,r=A.dY(t.m),q,p=2,o,n,m,l,k,j,i +var $async$cL=A.e3(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:p=4 +k=self +n=k.RecorderModule() +s=7 +return A.dO(A.hb(n,t.m),$async$cL) +case 7:m=b +k.self.RecorderModule=m +A.dc("RecorderModule initialized and set globally.") +q=m +s=1 +break +p=2 +s=6 +break +case 4:p=3 +i=o +l=A.K(i) +A.dc("Failed to initialize RecorderModule: "+A.p(l)) +throw i +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.dQ(q,r) +case 2:return A.dP(o,r)}}) +return A.dR($async$cL,r)}, +fV(a,b,c,d,e){var s,r=e.i("aO<0>"),q=new A.aO(null,null,r),p=new A.cG(q,c,d) +if(typeof p=="function")A.bG(A.aY("Attempting to rewrap a JS function.",null)) +s=function(f,g){return function(h){return f(g,h,arguments.length)}}(A.fi,p) +s[$.df()]=p a[b]=s -return new A.ax(q,r.i("ax<1>"))}, -eD(){var s=new A.c0() -s.al() +return new A.aB(q,r.i("aB<1>"))}, +eP(){var s=new A.c5() +s.an() return s}, -d1(){var s=0,r=A.fs(t.n),q,p -var $async$d1=A.fF(function(a,b){if(a===1)return A.f5(b,r) -while(true)switch(s){case 0:q=A.eD() +cO(){var s=0,r=A.dY(t.n),q,p +var $async$cO=A.e3(function(a,b){if(a===1)return A.dP(b,r) +while(true)switch(s){case 0:s=2 +return A.dO(A.cL(),$async$cO) +case 2:q=A.eP() p=q.a -p===$&&A.e1() -new A.U(p,A.a8(p).i("U<1>")).aK(new A.cK(q)) -return A.f6(null,r)}}) -return A.f7($async$d1,r)}, -cB:function cB(a,b,c){this.a=a +p===$&&A.ee() +new A.W(p,A.a9(p).i("W<1>")).aM(new A.cP(q)) +return A.dQ(null,r)}}) +return A.dR($async$cO,r)}, +cG:function cG(a,b,c){this.a=a this.b=b this.c=c}, -c0:function c0(){this.a=$}, -c1:function c1(a){this.a=a}, -cK:function cK(a){this.a=a}, -h0(a){if(typeof dartPrint=="function"){dartPrint(a) +c5:function c5(){this.a=$}, +c6:function c6(a){this.a=a}, +cP:function cP(a){this.a=a}, +ha(a){if(typeof dartPrint=="function"){dartPrint(a) return}if(typeof console=="object"&&typeof console.log!="undefined"){console.log(a) return}if(typeof print=="function"){print(a) return}throw"Unable to print message: "+String(a)}, -h3(a){A.e0(new A.an("Field '"+a+"' has been assigned during initialization."),new Error())}, -e1(){A.e0(new A.an("Field '' has not been initialized."),new Error())}, -et(a,b,c,d,e,f){var s +he(a){A.de(new A.ap("Field '"+a+"' has been assigned during initialization."),new Error())}, +ee(){A.de(new A.ap("Field '' has not been initialized."),new Error())}, +eF(a,b,c,d,e,f){var s if(c==null)return a[b]() else{s=a[b](c) return s}}},B={} var w=[A,J,B] var $={} -A.cP.prototype={} -J.b1.prototype={ -gn(a){return A.at(a)}, -h(a){return"Instance of '"+A.bQ(a)+"'"}, -gk(a){return A.W(A.cV(this))}} -J.b2.prototype={ +A.cX.prototype={} +J.b4.prototype={ +gn(a){return A.av(a)}, +h(a){return"Instance of '"+A.bU(a)+"'"}, +gk(a){return A.Y(A.d2(this))}} +J.b5.prototype={ h(a){return String(a)}, gn(a){return a?519018:218159}, -gk(a){return A.W(t.y)}, +gk(a){return A.Y(t.y)}, $if:1} -J.aj.prototype={ +J.ak.prototype={ h(a){return"null"}, gn(a){return 0}, $if:1, -$ip:1} -J.al.prototype={$im:1} -J.K.prototype={ +$iq:1} +J.an.prototype={$io:1} +J.N.prototype={ gn(a){return 0}, h(a){return String(a)}} -J.bh.prototype={} -J.aw.prototype={} -J.J.prototype={ -h(a){var s=a[$.d5()] -if(s==null)return this.aj(a) -return"JavaScript function for "+J.aT(s)}} -J.ak.prototype={ +J.bk.prototype={} +J.ay.prototype={} +J.M.prototype={ +h(a){var s=a[$.df()] +if(s==null)return this.al(a) +return"JavaScript function for "+J.aX(s)}} +J.am.prototype={ gn(a){return 0}, h(a){return String(a)}} -J.am.prototype={ +J.ao.prototype={ gn(a){return 0}, h(a){return String(a)}} -J.t.prototype={ -aH(a,b){var s -if(!!a.fixed$length)A.aS(A.dp("addAll")) +J.u.prototype={ +aJ(a,b){var s +a.$flags&1&&A.hf(a,"addAll",2) for(s=b.gq(b);s.l();)a.push(s.gm())}, -F(a,b,c){return new A.B(a,b,A.cv(a).i("@<1>").u(c).i("B<1,2>"))}, -E(a,b){if(!(b").u(c).i("C<1,2>"))}, +G(a,b){if(!(b"))}, -gn(a){return A.at(a)}, +h(a){return A.dp(a,"[","]")}, +gq(a){return new J.aZ(a,a.length,A.cA(a).i("aZ<1>"))}, +gn(a){return A.av(a)}, gj(a){return a.length}, $ie:1, -$ic:1} -J.bN.prototype={} -J.aV.prototype={ +$ic:1, +$ij:1} +J.bQ.prototype={} +J.aZ.prototype={ gm(){var s=this.d return s==null?this.$ti.c.a(s):s}, l(){var s,r=this,q=r.a,p=q.length -if(r.b!==p)throw A.b(A.h2(q)) +if(r.b!==p)throw A.b(A.hd(q)) s=r.c if(s>=p){r.d=null return!1}r.d=q[s] r.c=s+1 return!0}} -J.b4.prototype={ +J.b7.prototype={ h(a){if(a===0&&1/a<0)return"-0.0" else return""+a}, gn(a){var s,r,q,p,o=a|0 @@ -1765,22 +1830,21 @@ r=Math.log(s)/0.6931471805599453|0 q=Math.pow(2,r) p=s<1?s/q:q/s return((p*9007199254740992|0)+(p*3542243181176521|0))*599197+r*1259&536870911}, -aF(a,b){var s -if(a>0)s=this.aE(a,b) +aH(a,b){var s +if(a>0)s=this.aG(a,b) else{s=b>31?31:b s=a>>s>>>0}return s}, -aE(a,b){return b>31?0:a>>>b}, -gk(a){return A.W(t.H)}, -$il:1} -J.ai.prototype={ -gk(a){return A.W(t.S)}, +aG(a,b){return b>31?0:a>>>b}, +gk(a){return A.Y(t.H)}, +$ii:1} +J.aj.prototype={ +gk(a){return A.Y(t.S)}, $if:1, $ia:1} -J.b3.prototype={ -gk(a){return A.W(t.i)}, +J.b6.prototype={ +gk(a){return A.Y(t.i)}, $if:1} -J.Y.prototype={ -ai(a,b){return a+b}, +J.al.prototype={ h(a){return a}, gn(a){var s,r,q for(s=a.length,r=0,q=0;q>6}r=r+((r&67108863)<<3)&536870911 r^=r>>11 return r+((r&16383)<<15)&536870911}, -gk(a){return A.W(t.N)}, +gk(a){return A.Y(t.N)}, gj(a){return a.length}, $if:1, -$iS:1} -A.an.prototype={ +$iU:1} +A.ap.prototype={ h(a){return"LateInitializationError: "+this.a}} A.e.prototype={} -A.L.prototype={ -gq(a){return new A.Z(this,this.gj(0),this.$ti.i("Z"))}, -F(a,b,c){return new A.B(this,b,this.$ti.i("@").u(c).i("B<1,2>"))}} -A.Z.prototype={ +A.O.prototype={ +gq(a){return new A.a_(this,this.gj(0),this.$ti.i("a_"))}, +H(a,b,c){return new A.C(this,b,this.$ti.i("@").u(c).i("C<1,2>"))}} +A.a_.prototype={ gm(){var s=this.d return s==null?this.$ti.c.a(s):s}, -l(){var s,r=this,q=r.a,p=J.dW(q),o=p.gj(q) -if(r.b!==o)throw A.b(A.bG(q)) +l(){var s,r=this,q=r.a,p=J.e9(q),o=p.gj(q) +if(r.b!==o)throw A.b(A.bJ(q)) s=r.c if(s>=o){r.d=null -return!1}r.d=p.E(q,s);++r.c +return!1}r.d=p.G(q,s);++r.c return!0}} -A.R.prototype={ +A.T.prototype={ gq(a){var s=this.a -return new A.b6(s.gq(s),this.b,A.a8(this).i("b6<1,2>"))}, +return new A.b9(s.gq(s),this.b,A.a9(this).i("b9<1,2>"))}, gj(a){var s=this.a return s.gj(s)}} -A.af.prototype={$ie:1} -A.b6.prototype={ +A.ag.prototype={$ie:1} +A.b9.prototype={ l(){var s=this,r=s.b if(r.l()){s.a=s.c.$1(r.gm()) return!0}s.a=null return!1}, gm(){var s=this.a return s==null?this.$ti.y[1].a(s):s}} -A.B.prototype={ -gj(a){return J.cM(this.a)}, -E(a,b){return this.b.$1(J.ed(this.a,b))}} -A.ah.prototype={} -A.bV.prototype={ +A.C.prototype={ +gj(a){return J.cT(this.a)}, +G(a,b){return this.b.$1(J.eq(this.a,b))}} +A.ai.prototype={} +A.c_.prototype={ t(a){var s,r,q=this,p=new RegExp(q.a).exec(a) if(p==null)return null s=Object.create(null) @@ -1839,193 +1903,203 @@ if(r!==-1)s.method=p[r+1] r=q.f if(r!==-1)s.receiver=p[r+1] return s}} -A.as.prototype={ +A.au.prototype={ h(a){return"Null check operator used on a null value"}} -A.b5.prototype={ +A.b8.prototype={ h(a){var s,r=this,q="NoSuchMethodError: method not found: '",p=r.b if(p==null)return"NoSuchMethodError: "+r.a s=r.c if(s==null)return q+p+"' ("+r.a+")" return q+p+"' on '"+s+"' ("+r.a+")"}} -A.bl.prototype={ +A.bo.prototype={ h(a){var s=this.a return s.length===0?"Error":"Error: "+s}} -A.bP.prototype={ +A.bT.prototype={ h(a){return"Throw of null ('"+(this.a===null?"null":"undefined")+"' from JavaScript)"}} -A.ag.prototype={} -A.aI.prototype={ +A.ah.prototype={} +A.aM.prototype={ h(a){var s,r=this.b if(r!=null)return r r=this.a s=r!==null&&typeof r==="object"?r.stack:null return this.b=s==null?"":s}, -$ix:1} -A.Q.prototype={ +$iy:1} +A.S.prototype={ h(a){var s=this.constructor,r=s==null?null:s.name -return"Closure '"+A.e2(r==null?"unknown":r)+"'"}, -gaW(){return this}, +return"Closure '"+A.ef(r==null?"unknown":r)+"'"}, +gaY(){return this}, $C:"$1", $R:1, $D:null} -A.bE.prototype={$C:"$0",$R:0} -A.bF.prototype={$C:"$2",$R:2} -A.bU.prototype={} -A.bR.prototype={ +A.bH.prototype={$C:"$0",$R:0} +A.bI.prototype={$C:"$2",$R:2} +A.bZ.prototype={} +A.bW.prototype={ h(a){var s=this.$static_name if(s==null)return"Closure of unknown static method" -return"Closure '"+A.e2(s)+"'"}} -A.aZ.prototype={ -gn(a){return(A.d3(this.a)^A.at(this.$_target))>>>0}, -h(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.bQ(this.a)+"'")}} -A.bq.prototype={ +return"Closure '"+A.ef(s)+"'"}} +A.b1.prototype={ +gn(a){return(A.db(this.a)^A.av(this.$_target))>>>0}, +h(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.bU(this.a)+"'")}} +A.bt.prototype={ h(a){return"Reading static variable '"+this.a+"' during its initialization"}} -A.bi.prototype={ +A.bl.prototype={ h(a){return"RuntimeError: "+this.a}} -A.cF.prototype={ +A.cI.prototype={ $1(a){return this.a(a)}, $S:6} -A.cG.prototype={ +A.cJ.prototype={ $2(a,b){return this.a(a,b)}, $S:7} -A.cH.prototype={ +A.cK.prototype={ $1(a){return this.a(a)}, $S:8} -A.b7.prototype={ -gk(a){return B.u}, +A.ba.prototype={ +gk(a){return B.t}, $if:1, -$icN:1} -A.aq.prototype={} -A.b8.prototype={ -gk(a){return B.v}, +$icV:1} +A.as.prototype={} +A.bb.prototype={ +gk(a){return B.u}, $if:1, -$icO:1} -A.a0.prototype={ +$icW:1} +A.a1.prototype={ gj(a){return a.length}, -$iu:1} -A.ao.prototype={ -p(a,b){A.V(b,a,a.length) +$iv:1} +A.aq.prototype={ +p(a,b){A.X(b,a,a.length) return a[b]}, $ie:1, -$ic:1} -A.ap.prototype={$ie:1,$ic:1} -A.b9.prototype={ +$ic:1, +$ij:1} +A.ar.prototype={$ie:1,$ic:1,$ij:1} +A.bc.prototype={ +gk(a){return B.v}, +$if:1, +$ibL:1} +A.bd.prototype={ gk(a){return B.w}, $if:1, -$ibI:1} -A.ba.prototype={ +$ibM:1} +A.be.prototype={ gk(a){return B.x}, +p(a,b){A.X(b,a,a.length) +return a[b]}, $if:1, -$ibJ:1} -A.bb.prototype={ +$ibN:1} +A.bf.prototype={ gk(a){return B.y}, -p(a,b){A.V(b,a,a.length) +p(a,b){A.X(b,a,a.length) return a[b]}, $if:1, -$ibK:1} -A.bc.prototype={ +$ibO:1} +A.bg.prototype={ gk(a){return B.z}, -p(a,b){A.V(b,a,a.length) +p(a,b){A.X(b,a,a.length) return a[b]}, $if:1, -$ibL:1} -A.bd.prototype={ +$ibP:1} +A.bh.prototype={ gk(a){return B.A}, -p(a,b){A.V(b,a,a.length) +p(a,b){A.X(b,a,a.length) return a[b]}, $if:1, -$ibM:1} -A.be.prototype={ +$ic1:1} +A.bi.prototype={ gk(a){return B.B}, -p(a,b){A.V(b,a,a.length) +p(a,b){A.X(b,a,a.length) return a[b]}, $if:1, -$ibX:1} -A.bf.prototype={ +$ic2:1} +A.at.prototype={ gk(a){return B.C}, -p(a,b){A.V(b,a,a.length) -return a[b]}, -$if:1, -$ibY:1} -A.ar.prototype={ -gk(a){return B.D}, gj(a){return a.length}, -p(a,b){A.V(b,a,a.length) +p(a,b){A.X(b,a,a.length) return a[b]}, $if:1, -$ibZ:1} -A.bg.prototype={ -gk(a){return B.E}, +$ic3:1} +A.bj.prototype={ +gk(a){return B.D}, gj(a){return a.length}, -p(a,b){A.V(b,a,a.length) +p(a,b){A.X(b,a,a.length) return a[b]}, $if:1, -$ic_:1} -A.aD.prototype={} -A.aE.prototype={} -A.aF.prototype={} -A.aG.prototype={} -A.w.prototype={ -i(a){return A.cs(v.typeUniverse,this,a)}, -u(a){return A.f0(v.typeUniverse,this,a)}} -A.bt.prototype={} -A.cr.prototype={ -h(a){return A.r(this.a,null)}} -A.bs.prototype={ +$ic4:1} +A.aH.prototype={} +A.aI.prototype={} +A.aJ.prototype={} +A.aK.prototype={} +A.x.prototype={ +i(a){return A.cx(v.typeUniverse,this,a)}, +u(a){return A.fc(v.typeUniverse,this,a)}} +A.bw.prototype={} +A.cw.prototype={ +h(a){return A.t(this.a,null)}} +A.bv.prototype={ h(a){return this.a}} -A.aL.prototype={$iD:1} -A.c3.prototype={ +A.aP.prototype={$iE:1} +A.c8.prototype={ $1(a){var s=this.a,r=s.a s.a=null r.$0()}, -$S:2} -A.c2.prototype={ +$S:3} +A.c7.prototype={ $1(a){var s,r this.a.a=a s=this.b r=this.c s.firstChild?s.removeChild(r):s.appendChild(r)}, $S:9} -A.c4.prototype={ +A.c9.prototype={ $0(){this.a.$0()}, -$S:3} -A.c5.prototype={ +$S:4} +A.ca.prototype={ $0(){this.a.$0()}, -$S:3} -A.cp.prototype={ -am(a,b){if(self.setTimeout!=null)self.setTimeout(A.cD(new A.cq(this,b),0),a) -else throw A.b(A.dp("`setTimeout()` not found."))}} -A.cq.prototype={ +$S:4} +A.cu.prototype={ +ao(a,b){if(self.setTimeout!=null)self.setTimeout(A.aV(new A.cv(this,b),0),a) +else throw A.b(A.eO("`setTimeout()` not found."))}} +A.cv.prototype={ $0(){this.b.$0()}, $S:0} -A.bn.prototype={} -A.cw.prototype={ +A.bp.prototype={ +W(a){var s,r=this +if(a==null)a=r.$ti.c.a(a) +if(!r.b)r.a.L(a) +else{s=r.a +if(r.$ti.i("Z<1>").b(a))s.a6(a) +else s.M(a)}}, +X(a,b){var s=this.a +if(this.b)s.v(a,b) +else s.C(a,b)}} +A.cB.prototype={ $1(a){return this.a.$2(0,a)}, -$S:4} -A.cx.prototype={ -$2(a,b){this.a.$2(1,new A.ag(a,b))}, +$S:1} +A.cC.prototype={ +$2(a,b){this.a.$2(1,new A.ah(a,b))}, $S:10} -A.cA.prototype={ +A.cF.prototype={ $2(a,b){this.a(a,b)}, $S:11} -A.aY.prototype={ -h(a){return A.o(this.a)}, -$ij:1, -gH(){return this.b}} -A.ax.prototype={} -A.ay.prototype={ -R(){}, -S(){}} -A.a3.prototype={ -gP(){return this.c<4}, -ab(a,b,c,d){var s,r,q,p,o,n=this -if((n.c&4)!==0){s=new A.az($.i) -A.d4(s.gaz()) +A.L.prototype={ +h(a){return A.p(this.a)}, +$il:1, +gB(){return this.b}} +A.aB.prototype={} +A.aC.prototype={ +S(){}, +T(){}} +A.a4.prototype={ +gR(){return this.c<4}, +ad(a,b,c,d){var s,r,q,p,o,n=this +if((n.c&4)!==0){s=new A.aD($.h) +A.dd(s.gaB()) if(c!=null)s.c=c -return s}s=$.i +return s}s=$.h r=d?1:0 q=b!=null?32:0 -A.dq(s,b) -p=new A.ay(n,a,s,r|q) +A.dy(s,b) +p=new A.aC(n,a,s,r|q) p.CW=p p.ch=p p.ay=n.c&1 @@ -2035,14 +2109,14 @@ p.ch=null p.CW=o if(o==null)n.d=p else o.ch=p -if(n.d===p)A.bB(n.a) +if(n.d===p)A.bE(n.a) return p}, -a8(a){}, -a9(a){}, -I(){if((this.c&4)!==0)return new A.C("Cannot add new events after calling close") -return new A.C("Cannot add new events while doing an addStream")}, -av(a){var s,r,q,p,o=this,n=o.c -if((n&2)!==0)throw A.b(A.dk(u.g)) +aa(a){}, +ab(a){}, +J(){if((this.c&4)!==0)return new A.D("Cannot add new events after calling close") +return new A.D("Cannot add new events while doing an addStream")}, +az(a){var s,r,q,p,o=this,n=o.c +if((n&2)!==0)throw A.b(A.bV(u.g)) s=o.d if(s==null)return r=n&1 @@ -2060,55 +2134,65 @@ else q.CW=p s.CW=s s.ch=s}s.ay=n&4294967293 s=q}else s=s.ch}o.c&=4294967293 -if(o.d==null)o.a3()}, -a3(){if((this.c&4)!==0)if(null.gaX())null.a2(null) -A.bB(this.b)}} -A.aK.prototype={ -gP(){return A.a3.prototype.gP.call(this)&&(this.c&2)===0}, -I(){if((this.c&2)!==0)return new A.C(u.g) -return this.ak()}, +if(o.d==null)o.a5()}, +a5(){if((this.c&4)!==0)if(null.gaZ())null.L(null) +A.bE(this.b)}} +A.aO.prototype={ +gR(){return A.a4.prototype.gR.call(this)&&(this.c&2)===0}, +J(){if((this.c&2)!==0)return new A.D(u.g) +return this.am()}, A(a){var s=this,r=s.d if(r==null)return if(r===s.e){s.c|=2 -r.a0(a) +r.a3(a) s.c&=4294967293 -if(s.d==null)s.a3() -return}s.av(new A.co(s,a))}} -A.co.prototype={ -$1(a){a.a0(this.b)}, -$S(){return this.a.$ti.i("~(T<1>)")}} -A.a6.prototype={ -aL(a){if((this.c&15)!==6)return!0 -return this.b.b.Y(this.d,a.a)}, -aJ(a){var s,r=this.e,q=null,p=a.a,o=this.b.b -if(t.C.b(r))q=o.aQ(r,p,a.b) -else q=o.Y(r,p) +if(s.d==null)s.a5() +return}s.az(new A.ct(s,a))}} +A.ct.prototype={ +$1(a){a.a3(this.b)}, +$S(){return this.a.$ti.i("~(V<1>)")}} +A.bs.prototype={ +X(a,b){var s,r=this.a +if((r.a&30)!==0)throw A.b(A.bV("Future already completed")) +s=A.fs(a,b) +r.C(s.a,s.b)}, +ah(a){return this.X(a,null)}} +A.aA.prototype={ +W(a){var s=this.a +if((s.a&30)!==0)throw A.b(A.bV("Future already completed")) +s.L(a)}} +A.a7.prototype={ +aN(a){if((this.c&15)!==6)return!0 +return this.b.b.a0(this.d,a.a)}, +aL(a){var s,r=this.e,q=null,p=a.a,o=this.b.b +if(t.Q.b(r))q=o.aS(r,p,a.b) +else q=o.a0(r,p) try{p=q -return p}catch(s){if(t.c.b(A.P(s))){if((this.c&1)!==0)throw A.b(A.aU("The error handler of Future.then must return a value of the returned future's type","onError")) -throw A.b(A.aU("The error handler of Future.catchError must return a value of the future's type","onError"))}else throw s}}} -A.n.prototype={ -aa(a){this.a=this.a&1|4 +return p}catch(s){if(t.c.b(A.K(s))){if((this.c&1)!==0)throw A.b(A.aY("The error handler of Future.then must return a value of the returned future's type","onError")) +throw A.b(A.aY("The error handler of Future.catchError must return a value of the future's type","onError"))}else throw s}}} +A.m.prototype={ +ac(a){this.a=this.a&1|4 this.c=a}, -Z(a,b,c){var s,r,q=$.i -if(q===B.a){if(b!=null&&!t.C.b(b)&&!t.v.b(b))throw A.b(A.d8(b,"onError",u.c))}else if(b!=null)b=A.fw(b,q) -s=new A.n(q,c.i("n<0>")) +a1(a,b,c){var s,r,q=$.h +if(q===B.a){if(b!=null&&!t.Q.b(b)&&!t.v.b(b))throw A.b(A.di(b,"onError",u.c))}else if(b!=null)b=A.fH(b,q) +s=new A.m(q,c.i("m<0>")) r=b==null?1:3 -this.J(new A.a6(s,r,a,b,this.$ti.i("@<1>").u(c).i("a6<1,2>"))) +this.K(new A.a7(s,r,a,b,this.$ti.i("@<1>").u(c).i("a7<1,2>"))) return s}, -aV(a,b){return this.Z(a,null,b)}, -ac(a,b,c){var s=new A.n($.i,c.i("n<0>")) -this.J(new A.a6(s,19,a,b,this.$ti.i("@<1>").u(c).i("a6<1,2>"))) +aX(a,b){return this.a1(a,null,b)}, +ae(a,b,c){var s=new A.m($.h,c.i("m<0>")) +this.K(new A.a7(s,19,a,b,this.$ti.i("@<1>").u(c).i("a7<1,2>"))) return s}, -aC(a){this.a=this.a&1|16 +aE(a){this.a=this.a&1|16 this.c=a}, -B(a){this.a=a.a&30|this.a&1 +D(a){this.a=a.a&30|this.a&1 this.c=a.c}, -J(a){var s=this,r=s.a +K(a){var s=this,r=s.a if(r<=3){a.a=s.c s.c=a}else{if((r&4)!==0){r=s.c -if((r.a&24)===0){r.J(a) -return}s.B(r)}A.aa(null,null,s.b,new A.c7(s,a))}}, -T(a){var s,r,q,p,o,n=this,m={} +if((r.a&24)===0){r.K(a) +return}s.D(r)}A.ab(null,null,s.b,new A.cc(s,a))}}, +U(a){var s,r,q,p,o,n=this,m={} m.a=a if(a==null)return s=n.a @@ -2117,187 +2201,196 @@ n.c=a if(r!=null){q=a.a for(p=a;q!=null;p=q,q=o)o=q.a p.a=r}}else{if((s&4)!==0){s=n.c -if((s.a&24)===0){s.T(a) -return}n.B(s)}m.a=n.D(a) -A.aa(null,null,n.b,new A.ce(m,n))}}, -C(){var s=this.c +if((s.a&24)===0){s.U(a) +return}n.D(s)}m.a=n.F(a) +A.ab(null,null,n.b,new A.cj(m,n))}}, +E(){var s=this.c this.c=null -return this.D(s)}, -D(a){var s,r,q +return this.F(s)}, +F(a){var s,r,q for(s=a,r=null;s!=null;r=s,s=q){q=s.a s.a=r}return r}, -ap(a){var s,r,q,p=this +ar(a){var s,r,q,p=this p.a^=2 -try{a.Z(new A.cb(p),new A.cc(p),t.P)}catch(q){s=A.P(q) -r=A.H(q) -A.d4(new A.cd(p,s,r))}}, -L(a){var s=this,r=s.C() +try{a.a1(new A.cg(p),new A.ch(p),t.P)}catch(q){s=A.K(q) +r=A.I(q) +A.dd(new A.ci(p,s,r))}}, +M(a){var s=this,r=s.E() s.a=8 s.c=a -A.a7(s,r)}, -v(a,b){var s=this.C() -this.aC(A.bD(a,b)) -A.a7(this,s)}, -a2(a){if(this.$ti.i("X<1>").b(a)){this.a4(a) -return}this.an(a)}, -an(a){this.a^=2 -A.aa(null,null,this.b,new A.c9(this,a))}, -a4(a){if(this.$ti.b(a)){A.eJ(a,this) +A.a8(s,r)}, +v(a,b){var s=this.E() +this.aE(new A.L(a,b)) +A.a8(this,s)}, +L(a){if(this.$ti.i("Z<1>").b(a)){this.a6(a) return}this.ap(a)}, -K(a,b){this.a^=2 -A.aa(null,null,this.b,new A.c8(this,a,b))}, -$iX:1} -A.c7.prototype={ -$0(){A.a7(this.a,this.b)}, +ap(a){this.a^=2 +A.ab(null,null,this.b,new A.ce(this,a))}, +a6(a){if(this.$ti.b(a)){A.eV(a,this) +return}this.ar(a)}, +C(a,b){this.a^=2 +A.ab(null,null,this.b,new A.cd(this,a,b))}, +$iZ:1} +A.cc.prototype={ +$0(){A.a8(this.a,this.b)}, $S:0} -A.ce.prototype={ -$0(){A.a7(this.b,this.a.a)}, +A.cj.prototype={ +$0(){A.a8(this.b,this.a.a)}, $S:0} -A.cb.prototype={ +A.cg.prototype={ $1(a){var s,r,q,p=this.a p.a^=2 -try{p.L(p.$ti.c.a(a))}catch(q){s=A.P(q) -r=A.H(q) +try{p.M(p.$ti.c.a(a))}catch(q){s=A.K(q) +r=A.I(q) p.v(s,r)}}, -$S:2} -A.cc.prototype={ +$S:3} +A.ch.prototype={ $2(a,b){this.a.v(a,b)}, $S:12} -A.cd.prototype={ +A.ci.prototype={ $0(){this.a.v(this.b,this.c)}, $S:0} -A.ca.prototype={ -$0(){A.ds(this.a.a,this.b)}, +A.cf.prototype={ +$0(){A.dA(this.a.a,this.b)}, $S:0} -A.c9.prototype={ -$0(){this.a.L(this.b)}, +A.ce.prototype={ +$0(){this.a.M(this.b)}, $S:0} -A.c8.prototype={ +A.cd.prototype={ $0(){this.a.v(this.b,this.c)}, $S:0} -A.ch.prototype={ -$0(){var s,r,q,p,o,n,m=this,l=null -try{q=m.a.a -l=q.b.b.aO(q.d)}catch(p){s=A.P(p) -r=A.H(p) -q=m.c&&m.b.a.c.a===s -o=m.a -if(q)o.c=m.b.a.c -else o.c=A.bD(s,r) -o.b=!0 -return}if(l instanceof A.n&&(l.a&24)!==0){if((l.a&16)!==0){q=m.a -q.c=l.c -q.b=!0}return}if(l instanceof A.n){n=m.b.a -q=m.a -q.c=l.aV(new A.ci(n),t.z) +A.cm.prototype={ +$0(){var s,r,q,p,o,n,m,l=this,k=null +try{q=l.a.a +k=q.b.b.aQ(q.d)}catch(p){s=A.K(p) +r=A.I(p) +if(l.c&&l.b.a.c.a===s){q=l.a +q.c=l.b.a.c}else{q=s +o=r +if(o==null)o=A.cU(q) +n=l.a +n.c=new A.L(q,o) +q=n}q.b=!0 +return}if(k instanceof A.m&&(k.a&24)!==0){if((k.a&16)!==0){q=l.a +q.c=k.c +q.b=!0}return}if(k instanceof A.m){m=l.b.a +q=l.a +q.c=k.aX(new A.cn(m),t.z) q.b=!1}}, $S:0} -A.ci.prototype={ +A.cn.prototype={ $1(a){return this.a}, $S:13} -A.cg.prototype={ -$0(){var s,r,q,p,o +A.cl.prototype={ +$0(){var s,r,q,p,o,n try{q=this.a p=q.a -q.c=p.b.b.Y(p.d,this.b)}catch(o){s=A.P(o) -r=A.H(o) -q=this.a -q.c=A.bD(s,r) -q.b=!0}}, -$S:0} -A.cf.prototype={ -$0(){var s,r,q,p,o,n,m=this -try{s=m.a.a.c -p=m.b -if(p.a.aL(s)&&p.a.e!=null){p.c=p.a.aJ(s) -p.b=!1}}catch(o){r=A.P(o) -q=A.H(o) -p=m.a.a.c -n=m.b -if(p.a===r)n.c=p -else n.c=A.bD(r,q) +q.c=p.b.b.a0(p.d,this.b)}catch(o){s=A.K(o) +r=A.I(o) +q=s +p=r +if(p==null)p=A.cU(q) +n=this.a +n.c=new A.L(q,p) n.b=!0}}, $S:0} -A.bo.prototype={} -A.a1.prototype={ -gj(a){var s={},r=new A.n($.i,t.a) +A.ck.prototype={ +$0(){var s,r,q,p,o,n,m,l=this +try{s=l.a.a.c +p=l.b +if(p.a.aN(s)&&p.a.e!=null){p.c=p.a.aL(s) +p.b=!1}}catch(o){r=A.K(o) +q=A.I(o) +p=l.a.a.c +if(p.a===r){n=l.b +n.c=p +p=n}else{p=r +n=q +if(n==null)n=A.cU(p) +m=l.b +m.c=new A.L(p,n) +p=m}p.b=!0}}, +$S:0} +A.bq.prototype={} +A.a2.prototype={ +gj(a){var s={},r=new A.m($.h,t.a) s.a=0 -this.ag(new A.bS(s,this),!0,new A.bT(s,r),r.gaq()) +this.aj(new A.bX(s,this),!0,new A.bY(s,r),r.gau()) return r}} -A.bS.prototype={ +A.bX.prototype={ $1(a){++this.a.a}, -$S(){return A.a8(this.b).i("~(1)")}} -A.bT.prototype={ -$0(){var s=this.b,r=this.a.a,q=s.C() +$S(){return A.a9(this.b).i("~(1)")}} +A.bY.prototype={ +$0(){var s=this.b,r=this.a.a,q=s.E() s.a=8 s.c=r -A.a7(s,q)}, +A.a8(s,q)}, $S:0} -A.bv.prototype={ -gaB(){if((this.b&8)===0)return this.a -return this.a.gU()}, -au(){var s,r=this +A.by.prototype={ +gaD(){if((this.b&8)===0)return this.a +return this.a.gV()}, +aw(){var s,r=this if((r.b&8)===0){s=r.a -return s==null?r.a=new A.aH():s}s=r.a.gU() +return s==null?r.a=new A.aL():s}s=r.a.gV() return s}, -gaG(){var s=this.a -return(this.b&8)!==0?s.gU():s}, -ao(){if((this.b&4)!==0)return new A.C("Cannot add event after closing") -return new A.C("Cannot add event while adding a stream")}, -ab(a,b,c,d){var s,r,q,p,o=this -if((o.b&3)!==0)throw A.b(A.dk("Stream has already been listened to.")) -s=A.eI(o,a,b,c,d) -r=o.gaB() +gaI(){var s=this.a +return(this.b&8)!==0?s.gV():s}, +aq(){if((this.b&4)!==0)return new A.D("Cannot add event after closing") +return new A.D("Cannot add event while adding a stream")}, +ad(a,b,c,d){var s,r,q,p,o=this +if((o.b&3)!==0)throw A.b(A.bV("Stream has already been listened to.")) +s=A.eU(o,a,b,c,d) +r=o.gaD() q=o.b|=1 if((q&8)!==0){p=o.a -p.sU(s) -p.aN()}else o.a=s -s.aD(r) +p.sV(s) +p.aP()}else o.a=s +s.aF(r) q=s.e s.e=q|64 -new A.cn(o).$0() +new A.cs(o).$0() s.e&=4294967231 -s.a5((q&4)!==0) +s.a7((q&4)!==0) return s}, -a8(a){if((this.b&8)!==0)this.a.aY() -A.bB(this.e)}, -a9(a){if((this.b&8)!==0)this.a.aN() -A.bB(this.f)}} -A.cn.prototype={ -$0(){A.bB(this.a.d)}, +aa(a){if((this.b&8)!==0)this.a.b_() +A.bE(this.e)}, +ab(a){if((this.b&8)!==0)this.a.aP() +A.bE(this.f)}} +A.cs.prototype={ +$0(){A.bE(this.a.d)}, $S:0} -A.bp.prototype={ -A(a){this.gaG().a1(new A.a5(a))}} -A.a2.prototype={} -A.U.prototype={ -gn(a){return(A.at(this.a)^892482866)>>>0}} -A.a4.prototype={ -R(){this.w.a8(this)}, -S(){this.w.a9(this)}} -A.T.prototype={ -aD(a){if(a==null)return +A.br.prototype={ +A(a){this.gaI().a4(new A.a6(a))}} +A.a3.prototype={} +A.W.prototype={ +gn(a){return(A.av(this.a)^892482866)>>>0}} +A.a5.prototype={ +S(){this.w.aa(this)}, +T(){this.w.ab(this)}} +A.V.prototype={ +aF(a){if(a==null)return this.r=a if(a.c!=null){this.e|=128 -a.G(this)}}, -a0(a){var s=this.e +a.I(this)}}, +a3(a){var s=this.e if((s&8)!==0)return if(s<64)this.A(a) -else this.a1(new A.a5(a))}, -R(){}, +else this.a4(new A.a6(a))}, S(){}, -a1(a){var s,r=this,q=r.r -if(q==null)q=r.r=new A.aH() -q.ad(0,a) +T(){}, +a4(a){var s,r=this,q=r.r +if(q==null)q=r.r=new A.aL() +q.af(0,a) s=r.e if((s&128)===0){s|=128 r.e=s -if(s<256)q.G(r)}}, +if(s<256)q.I(r)}}, A(a){var s=this,r=s.e s.e=r|64 -s.d.aU(s.a,a) +s.d.aW(s.a,a) s.e&=4294967231 -s.a5((r&4)!==0)}, -a5(a){var s,r,q=this,p=q.e +s.a7((r&4)!==0)}, +a7(a){var s,r,q=this,p=q.e if((p&128)!==0&&q.r.c==null){p=q.e=p&4294967167 s=!1 if((p&4)!==0)if(p<256){s=q.r @@ -2307,24 +2400,24 @@ q.e=p}}for(;!0;a=r){if((p&8)!==0){q.r=null return}r=(p&4)!==0 if(a===r)break q.e=p^64 -if(r)q.R() -else q.S() -p=q.e&=4294967231}if((p&128)!==0&&p<256)q.r.G(q)}} -A.aJ.prototype={ -ag(a,b,c,d){return this.a.ab(a,d,c,b===!0)}, -aK(a){return this.ag(a,null,null,null)}} -A.br.prototype={} -A.a5.prototype={} -A.aH.prototype={ -G(a){var s=this,r=s.a +if(r)q.S() +else q.T() +p=q.e&=4294967231}if((p&128)!==0&&p<256)q.r.I(q)}} +A.aN.prototype={ +aj(a,b,c,d){return this.a.ad(a,d,c,b===!0)}, +aM(a){return this.aj(a,null,null,null)}} +A.bu.prototype={} +A.a6.prototype={} +A.aL.prototype={ +I(a){var s=this,r=s.a if(r===1)return if(r>=1){s.a=1 -return}A.d4(new A.ck(s,a)) +return}A.dd(new A.cp(s,a)) s.a=1}, -ad(a,b){var s=this,r=s.c +af(a,b){var s=this,r=s.c if(r==null)s.b=s.c=b else s.c=r.a=b}} -A.ck.prototype={ +A.cp.prototype={ $0(){var s,r,q=this.a,p=q.a q.a=0 if(p===3)return @@ -2334,85 +2427,85 @@ q.b=r if(r==null)q.c=null this.b.A(s.b)}, $S:0} -A.az.prototype={ -aA(){var s,r=this,q=r.a-1 +A.aD.prototype={ +aC(){var s,r=this,q=r.a-1 if(q===0){r.a=-1 s=r.c if(s!=null){r.c=null -r.b.ah(s)}}else r.a=q}} -A.bw.prototype={} -A.cu.prototype={} -A.cz.prototype={ -$0(){A.eq(this.a,this.b)}, +r.b.ak(s)}}else r.a=q}} +A.bz.prototype={} +A.cz.prototype={} +A.cE.prototype={ +$0(){A.eC(this.a,this.b)}, $S:0} -A.cl.prototype={ -ah(a){var s,r,q -try{if(B.a===$.i){a.$0() -return}A.dN(null,null,this,a)}catch(q){s=A.P(q) -r=A.H(q) -A.bA(s,r)}}, -aT(a,b){var s,r,q -try{if(B.a===$.i){a.$1(b) -return}A.dO(null,null,this,a,b)}catch(q){s=A.P(q) -r=A.H(q) -A.bA(s,r)}}, -aU(a,b){return this.aT(a,b,t.z)}, -ae(a){return new A.cm(this,a)}, -aP(a){if($.i===B.a)return a.$0() -return A.dN(null,null,this,a)}, -aO(a){return this.aP(a,t.z)}, -aS(a,b){if($.i===B.a)return a.$1(b) -return A.dO(null,null,this,a,b)}, -Y(a,b){var s=t.z -return this.aS(a,b,s,s)}, -aR(a,b,c){if($.i===B.a)return a.$2(b,c) -return A.fx(null,null,this,a,b,c)}, -aQ(a,b,c){var s=t.z -return this.aR(a,b,c,s,s,s)}, -aM(a){return a}, -X(a){var s=t.z -return this.aM(a,s,s,s)}} -A.cm.prototype={ -$0(){return this.a.ah(this.b)}, +A.cq.prototype={ +ak(a){var s,r,q +try{if(B.a===$.h){a.$0() +return}A.e_(null,null,this,a)}catch(q){s=A.K(q) +r=A.I(q) +A.bD(s,r)}}, +aV(a,b){var s,r,q +try{if(B.a===$.h){a.$1(b) +return}A.e0(null,null,this,a,b)}catch(q){s=A.K(q) +r=A.I(q) +A.bD(s,r)}}, +aW(a,b){return this.aV(a,b,t.z)}, +ag(a){return new A.cr(this,a)}, +aR(a){if($.h===B.a)return a.$0() +return A.e_(null,null,this,a)}, +aQ(a){return this.aR(a,t.z)}, +aU(a,b){if($.h===B.a)return a.$1(b) +return A.e0(null,null,this,a,b)}, +a0(a,b){var s=t.z +return this.aU(a,b,s,s)}, +aT(a,b,c){if($.h===B.a)return a.$2(b,c) +return A.fI(null,null,this,a,b,c)}, +aS(a,b,c){var s=t.z +return this.aT(a,b,c,s,s,s)}, +aO(a){return a}, +a_(a){var s=t.z +return this.aO(a,s,s,s)}} +A.cr.prototype={ +$0(){return this.a.ak(this.b)}, $S:0} -A.aA.prototype={ +A.aE.prototype={ gj(a){return this.a}, -gW(){return new A.aB(this,this.$ti.i("aB<1>"))}, -aI(a){var s,r +gZ(){return new A.aF(this,this.$ti.i("aF<1>"))}, +aK(a){var s,r if(typeof a=="string"&&a!=="__proto__"){s=this.b return s==null?!1:s[a]!=null}else if(typeof a=="number"&&(a&1073741823)===a){r=this.c -return r==null?!1:r[a]!=null}else return this.ar(a)}, -ar(a){var s=this.d +return r==null?!1:r[a]!=null}else return this.av(a)}, +av(a){var s=this.d if(s==null)return!1 -return this.O(this.a7(s,a),a)>=0}, +return this.P(this.a9(s,a),a)>=0}, p(a,b){var s,r,q if(typeof b=="string"&&b!=="__proto__"){s=this.b -r=s==null?null:A.dt(s,b) +r=s==null?null:A.dB(s,b) return r}else if(typeof b=="number"&&(b&1073741823)===b){q=this.c -r=q==null?null:A.dt(q,b) -return r}else return this.aw(b)}, -aw(a){var s,r,q=this.d +r=q==null?null:A.dB(q,b) +return r}else return this.aA(b)}, +aA(a){var s,r,q=this.d if(q==null)return null -s=this.a7(q,a) -r=this.O(s,a) +s=this.a9(q,a) +r=this.P(s,a) return r<0?null:s[r+1]}, -a_(a,b,c){var s,r,q,p=this,o=p.d -if(o==null)o=p.d=A.eK() -s=A.d3(b)&1073741823 +a2(a,b,c){var s,r,q,p=this,o=p.d +if(o==null)o=p.d=A.eW() +s=A.db(b)&1073741823 r=o[s] -if(r==null){A.du(o,s,[b,c]);++p.a -p.e=null}else{q=p.O(r,b) +if(r==null){A.dC(o,s,[b,c]);++p.a +p.e=null}else{q=p.P(r,b) if(q>=0)r[q+1]=c else{r.push(b,c);++p.a p.e=null}}}, -af(a,b){var s,r,q,p,o,n=this,m=n.a6() +ai(a,b){var s,r,q,p,o,n=this,m=n.a8() for(s=m.length,r=n.$ti.y[1],q=0;q"))}} -A.bu.prototype={ +return new A.bx(s,s.a8(),this.$ti.i("bx<1>"))}} +A.bx.prototype={ gm(){var s=this.d return s==null?this.$ti.c.a(s):s}, l(){var s=this,r=s.b,q=s.c,p=s.a -if(r!==p.e)throw A.b(A.bG(p)) +if(r!==p.e)throw A.b(A.bJ(p)) else if(q>=r.length){s.d=null return!1}else{s.d=r[q] s.c=q+1 return!0}}} -A.h.prototype={ -gq(a){return new A.Z(a,this.gj(a),A.ae(a).i("Z"))}, -E(a,b){return this.p(a,b)}, -F(a,b,c){return new A.B(a,b,A.ae(a).i("@").u(c).i("B<1,2>"))}, -h(a){return A.de(a,"[","]")}} -A.a_.prototype={ -af(a,b){var s,r,q,p -for(s=this.gW(),s=s.gq(s),r=A.a8(this).y[1];s.l();){q=s.gm() +A.k.prototype={ +gq(a){return new A.a_(a,this.gj(a),A.af(a).i("a_"))}, +G(a,b){return this.p(a,b)}, +H(a,b,c){return new A.C(a,b,A.af(a).i("@").u(c).i("C<1,2>"))}, +h(a){return A.dp(a,"[","]")}} +A.a0.prototype={ +ai(a,b){var s,r,q,p +for(s=this.gZ(),s=s.gq(s),r=A.a9(this).y[1];s.l();){q=s.gm() p=this.p(0,q) b.$2(q,p==null?r.a(p):p)}}, -gj(a){var s=this.gW() +gj(a){var s=this.gZ() return s.gj(s)}, -h(a){return A.ew(this)}} -A.bO.prototype={ +h(a){return A.eH(this)}} +A.bR.prototype={ $2(a,b){var s,r=this.a if(!r.a)this.b.a+=", " r.a=!1 r=this.b -s=A.o(a) +s=A.p(a) s=r.a+=s r.a=s+": " -s=A.o(b) +s=A.p(b) r.a+=s}, $S:14} -A.j.prototype={ -gH(){return A.ez(this)}} -A.aW.prototype={ +A.l.prototype={ +gB(){return A.eK(this)}} +A.b_.prototype={ h(a){var s=this.a -if(s!=null)return"Assertion failed: "+A.bH(s) +if(s!=null)return"Assertion failed: "+A.bK(s) return"Assertion failed"}} -A.D.prototype={} -A.y.prototype={ -gN(){return"Invalid argument"+(!this.a?"(s)":"")}, -gM(){return""}, -h(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+p,n=s.gN()+q+o +A.E.prototype={} +A.z.prototype={ +gO(){return"Invalid argument"+(!this.a?"(s)":"")}, +gN(){return""}, +h(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+p,n=s.gO()+q+o if(!s.a)return n -return n+s.gM()+": "+A.bH(s.gV())}, -gV(){return this.b}} -A.au.prototype={ -gV(){return this.b}, -gN(){return"RangeError"}, -gM(){var s,r=this.e,q=this.f -if(r==null)s=q!=null?": Not less than or equal to "+A.o(q):"" -else if(q==null)s=": Not greater than or equal to "+A.o(r) -else if(q>r)s=": Not in inclusive range "+A.o(r)+".."+A.o(q) -else s=qr)s=": Not in inclusive range "+A.p(r)+".."+A.p(q) +else s=q=4)A.aS(q.ao()) +if(s>=4)A.bG(q.aq()) if((s&1)!==0)q.A(r) -else if((s&3)===0)q.au().ad(0,new A.a5(r))}, +else if((s&3)===0)q.aw().af(0,new A.a6(r))}, $S:17} -A.cK.prototype={ +A.cP.prototype={ $1(a){var s,r try{s=t.m.a(self) -A.et(s,"postMessage",A.fX(a==null?t.K.a(a):a),null,null,null)}catch(r){A.h0("Received data from WASM worker but it's not a String!\n")}}, -$S:4};(function aliases(){var s=J.K.prototype -s.aj=s.h -s=A.a3.prototype -s.ak=s.I})();(function installTearOffs(){var s=hunkHelpers._static_1,r=hunkHelpers._static_0,q=hunkHelpers._static_2,p=hunkHelpers._instance_2u,o=hunkHelpers._instance_0u -s(A,"fG","eF",1) -s(A,"fH","eG",1) -s(A,"fI","eH",1) -r(A,"dS","fz",0) -q(A,"fJ","fu",5) -p(A.n.prototype,"gaq","v",5) -o(A.az.prototype,"gaz","aA",0)})();(function inheritance(){var s=hunkHelpers.mixin,r=hunkHelpers.inherit,q=hunkHelpers.inheritMany +A.eF(s,"postMessage",A.h6(a==null?t.K.a(a):a),null,null,null)}catch(r){A.dc("Received data from WASM worker but it's not a String!\n")}}, +$S:1};(function aliases(){var s=J.N.prototype +s.al=s.h +s=A.a4.prototype +s.am=s.J})();(function installTearOffs(){var s=hunkHelpers._static_1,r=hunkHelpers._static_0,q=hunkHelpers._static_2,p=hunkHelpers._instance_2u,o=hunkHelpers._instance_0u +s(A,"fQ","eR",2) +s(A,"fR","eS",2) +s(A,"fS","eT",2) +r(A,"e5","fK",0) +q(A,"fT","fF",5) +p(A.m.prototype,"gau","v",5) +o(A.aD.prototype,"gaB","aC",0)})();(function inheritance(){var s=hunkHelpers.mixin,r=hunkHelpers.inherit,q=hunkHelpers.inheritMany r(A.d,null) -q(A.d,[A.cP,J.b1,J.aV,A.j,A.c,A.Z,A.b6,A.ah,A.bV,A.bP,A.ag,A.aI,A.Q,A.w,A.bt,A.cr,A.cp,A.bn,A.aY,A.a1,A.T,A.a3,A.a6,A.n,A.bo,A.bv,A.bp,A.br,A.aH,A.az,A.bw,A.cu,A.a_,A.bu,A.h,A.av,A.c6,A.p,A.bx,A.bj,A.c0]) -q(J.b1,[J.b2,J.aj,J.al,J.ak,J.am,J.b4,J.Y]) -q(J.al,[J.K,J.t,A.b7,A.aq]) -q(J.K,[J.bh,J.aw,J.J]) -r(J.bN,J.t) -q(J.b4,[J.ai,J.b3]) -q(A.j,[A.an,A.D,A.b5,A.bl,A.bq,A.bi,A.bs,A.aW,A.y,A.bm,A.bk,A.C,A.b_]) -q(A.c,[A.e,A.R]) -q(A.e,[A.L,A.aB]) -r(A.af,A.R) -r(A.B,A.L) -r(A.as,A.D) -q(A.Q,[A.bE,A.bF,A.bU,A.cF,A.cH,A.c3,A.c2,A.cw,A.co,A.cb,A.ci,A.bS,A.cJ,A.cB,A.c1,A.cK]) -q(A.bU,[A.bR,A.aZ]) -q(A.bF,[A.cG,A.cx,A.cA,A.cc,A.bO]) -q(A.aq,[A.b8,A.a0]) -q(A.a0,[A.aD,A.aF]) -r(A.aE,A.aD) -r(A.ao,A.aE) -r(A.aG,A.aF) -r(A.ap,A.aG) -q(A.ao,[A.b9,A.ba]) -q(A.ap,[A.bb,A.bc,A.bd,A.be,A.bf,A.ar,A.bg]) -r(A.aL,A.bs) -q(A.bE,[A.c4,A.c5,A.cq,A.c7,A.ce,A.cd,A.ca,A.c9,A.c8,A.ch,A.cg,A.cf,A.bT,A.cn,A.ck,A.cz,A.cm]) -r(A.aJ,A.a1) -r(A.U,A.aJ) -r(A.ax,A.U) -r(A.a4,A.T) -r(A.ay,A.a4) -r(A.aK,A.a3) -r(A.a2,A.bv) -r(A.a5,A.br) -r(A.cl,A.cu) -r(A.aA,A.a_) -r(A.aC,A.aA) -q(A.y,[A.au,A.b0]) -s(A.aD,A.h) -s(A.aE,A.ah) -s(A.aF,A.h) -s(A.aG,A.ah) -s(A.a2,A.bp)})() -var v={typeUniverse:{eC:new Map(),tR:{},eT:{},tPV:{},sEA:[]},mangledGlobalNames:{a:"int",l:"double",h_:"num",S:"String",fK:"bool",p:"Null",eu:"List",d:"Object",h7:"Map"},mangledNames:{},types:["~()","~(~())","p(@)","p()","~(@)","~(d,x)","@(@)","@(@,S)","@(S)","p(~())","p(@,x)","~(a,@)","p(d,x)","n<@>(@)","~(d?,d?)","d?(d?)","~(d)","p(m)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti")} -A.f_(v.typeUniverse,JSON.parse('{"bh":"K","aw":"K","J":"K","b2":{"f":[]},"aj":{"p":[],"f":[]},"al":{"m":[]},"K":{"m":[]},"t":{"e":["1"],"m":[],"c":["1"]},"bN":{"t":["1"],"e":["1"],"m":[],"c":["1"]},"b4":{"l":[]},"ai":{"l":[],"a":[],"f":[]},"b3":{"l":[],"f":[]},"Y":{"S":[],"f":[]},"an":{"j":[]},"e":{"c":["1"]},"L":{"e":["1"],"c":["1"]},"R":{"c":["2"],"c.E":"2"},"af":{"R":["1","2"],"e":["2"],"c":["2"],"c.E":"2"},"B":{"L":["2"],"e":["2"],"c":["2"],"c.E":"2","L.E":"2"},"as":{"D":[],"j":[]},"b5":{"j":[]},"bl":{"j":[]},"aI":{"x":[]},"bq":{"j":[]},"bi":{"j":[]},"b7":{"m":[],"cN":[],"f":[]},"aq":{"m":[]},"b8":{"cO":[],"m":[],"f":[]},"a0":{"u":["1"],"m":[]},"ao":{"h":["l"],"u":["l"],"e":["l"],"m":[],"c":["l"]},"ap":{"h":["a"],"u":["a"],"e":["a"],"m":[],"c":["a"]},"b9":{"bI":[],"h":["l"],"u":["l"],"e":["l"],"m":[],"c":["l"],"f":[],"h.E":"l"},"ba":{"bJ":[],"h":["l"],"u":["l"],"e":["l"],"m":[],"c":["l"],"f":[],"h.E":"l"},"bb":{"bK":[],"h":["a"],"u":["a"],"e":["a"],"m":[],"c":["a"],"f":[],"h.E":"a"},"bc":{"bL":[],"h":["a"],"u":["a"],"e":["a"],"m":[],"c":["a"],"f":[],"h.E":"a"},"bd":{"bM":[],"h":["a"],"u":["a"],"e":["a"],"m":[],"c":["a"],"f":[],"h.E":"a"},"be":{"bX":[],"h":["a"],"u":["a"],"e":["a"],"m":[],"c":["a"],"f":[],"h.E":"a"},"bf":{"bY":[],"h":["a"],"u":["a"],"e":["a"],"m":[],"c":["a"],"f":[],"h.E":"a"},"ar":{"bZ":[],"h":["a"],"u":["a"],"e":["a"],"m":[],"c":["a"],"f":[],"h.E":"a"},"bg":{"c_":[],"h":["a"],"u":["a"],"e":["a"],"m":[],"c":["a"],"f":[],"h.E":"a"},"bs":{"j":[]},"aL":{"D":[],"j":[]},"n":{"X":["1"]},"aY":{"j":[]},"ax":{"U":["1"],"a1":["1"]},"ay":{"T":["1"]},"aK":{"a3":["1"]},"a2":{"bv":["1"]},"U":{"a1":["1"]},"a4":{"T":["1"]},"aJ":{"a1":["1"]},"aA":{"a_":["1","2"]},"aC":{"aA":["1","2"],"a_":["1","2"]},"aB":{"e":["1"],"c":["1"],"c.E":"1"},"aW":{"j":[]},"D":{"j":[]},"y":{"j":[]},"au":{"j":[]},"b0":{"j":[]},"bm":{"j":[]},"bk":{"j":[]},"C":{"j":[]},"b_":{"j":[]},"av":{"j":[]},"bx":{"x":[]},"bM":{"e":["a"],"c":["a"]},"c_":{"e":["a"],"c":["a"]},"bZ":{"e":["a"],"c":["a"]},"bK":{"e":["a"],"c":["a"]},"bX":{"e":["a"],"c":["a"]},"bL":{"e":["a"],"c":["a"]},"bY":{"e":["a"],"c":["a"]},"bI":{"e":["l"],"c":["l"]},"bJ":{"e":["l"],"c":["l"]}}')) -A.eZ(v.typeUniverse,JSON.parse('{"e":1,"ah":1,"a0":1,"T":1,"ay":1,"bp":1,"a4":1,"aJ":1,"br":1,"a5":1,"aH":1,"az":1,"bw":1}')) +q(A.d,[A.cX,J.b4,J.aZ,A.l,A.c,A.a_,A.b9,A.ai,A.c_,A.bT,A.ah,A.aM,A.S,A.x,A.bw,A.cw,A.cu,A.bp,A.L,A.a2,A.V,A.a4,A.bs,A.a7,A.m,A.bq,A.by,A.br,A.bu,A.aL,A.aD,A.bz,A.cz,A.a0,A.bx,A.k,A.ax,A.cb,A.q,A.bA,A.bm,A.bS,A.c5]) +q(J.b4,[J.b5,J.ak,J.an,J.am,J.ao,J.b7,J.al]) +q(J.an,[J.N,J.u,A.ba,A.as]) +q(J.N,[J.bk,J.ay,J.M]) +r(J.bQ,J.u) +q(J.b7,[J.aj,J.b6]) +q(A.l,[A.ap,A.E,A.b8,A.bo,A.bt,A.bl,A.bv,A.b_,A.z,A.az,A.bn,A.D,A.b2]) +q(A.c,[A.e,A.T]) +q(A.e,[A.O,A.aF]) +r(A.ag,A.T) +r(A.C,A.O) +r(A.au,A.E) +q(A.S,[A.bH,A.bI,A.bZ,A.cI,A.cK,A.c8,A.c7,A.cB,A.ct,A.cg,A.cn,A.bX,A.cN,A.cR,A.cS,A.cG,A.c6,A.cP]) +q(A.bZ,[A.bW,A.b1]) +q(A.bI,[A.cJ,A.cC,A.cF,A.ch,A.bR]) +q(A.as,[A.bb,A.a1]) +q(A.a1,[A.aH,A.aJ]) +r(A.aI,A.aH) +r(A.aq,A.aI) +r(A.aK,A.aJ) +r(A.ar,A.aK) +q(A.aq,[A.bc,A.bd]) +q(A.ar,[A.be,A.bf,A.bg,A.bh,A.bi,A.at,A.bj]) +r(A.aP,A.bv) +q(A.bH,[A.c9,A.ca,A.cv,A.cc,A.cj,A.ci,A.cf,A.ce,A.cd,A.cm,A.cl,A.ck,A.bY,A.cs,A.cp,A.cE,A.cr]) +r(A.aN,A.a2) +r(A.W,A.aN) +r(A.aB,A.W) +r(A.a5,A.V) +r(A.aC,A.a5) +r(A.aO,A.a4) +r(A.aA,A.bs) +r(A.a3,A.by) +r(A.a6,A.bu) +r(A.cq,A.cz) +r(A.aE,A.a0) +r(A.aG,A.aE) +q(A.z,[A.aw,A.b3]) +s(A.aH,A.k) +s(A.aI,A.ai) +s(A.aJ,A.k) +s(A.aK,A.ai) +s(A.a3,A.br)})() +var v={typeUniverse:{eC:new Map(),tR:{},eT:{},tPV:{},sEA:[]},mangledGlobalNames:{a:"int",i:"double",h9:"num",U:"String",fU:"bool",q:"Null",j:"List",d:"Object",hj:"Map"},mangledNames:{},types:["~()","~(@)","~(~())","q(@)","q()","~(d,y)","@(@)","@(@,U)","@(U)","q(~())","q(@,y)","~(a,@)","q(d,y)","m<@>(@)","~(d?,d?)","d?(d?)","~(d)","q(o)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti")} +A.fb(v.typeUniverse,JSON.parse('{"bk":"N","ay":"N","M":"N","b5":{"f":[]},"ak":{"q":[],"f":[]},"an":{"o":[]},"N":{"o":[]},"u":{"j":["1"],"e":["1"],"o":[],"c":["1"]},"bQ":{"u":["1"],"j":["1"],"e":["1"],"o":[],"c":["1"]},"b7":{"i":[]},"aj":{"i":[],"a":[],"f":[]},"b6":{"i":[],"f":[]},"al":{"U":[],"f":[]},"ap":{"l":[]},"e":{"c":["1"]},"O":{"e":["1"],"c":["1"]},"T":{"c":["2"],"c.E":"2"},"ag":{"T":["1","2"],"e":["2"],"c":["2"],"c.E":"2"},"C":{"O":["2"],"e":["2"],"c":["2"],"c.E":"2","O.E":"2"},"au":{"E":[],"l":[]},"b8":{"l":[]},"bo":{"l":[]},"aM":{"y":[]},"bt":{"l":[]},"bl":{"l":[]},"ba":{"o":[],"cV":[],"f":[]},"as":{"o":[]},"bb":{"cW":[],"o":[],"f":[]},"a1":{"v":["1"],"o":[]},"aq":{"k":["i"],"j":["i"],"v":["i"],"e":["i"],"o":[],"c":["i"]},"ar":{"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"]},"bc":{"bL":[],"k":["i"],"j":["i"],"v":["i"],"e":["i"],"o":[],"c":["i"],"f":[],"k.E":"i"},"bd":{"bM":[],"k":["i"],"j":["i"],"v":["i"],"e":["i"],"o":[],"c":["i"],"f":[],"k.E":"i"},"be":{"bN":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"bf":{"bO":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"bg":{"bP":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"bh":{"c1":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"bi":{"c2":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"at":{"c3":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"bj":{"c4":[],"k":["a"],"j":["a"],"v":["a"],"e":["a"],"o":[],"c":["a"],"f":[],"k.E":"a"},"bv":{"l":[]},"aP":{"E":[],"l":[]},"m":{"Z":["1"]},"L":{"l":[]},"aB":{"W":["1"],"a2":["1"]},"aC":{"V":["1"]},"aO":{"a4":["1"]},"aA":{"bs":["1"]},"a3":{"by":["1"]},"W":{"a2":["1"]},"a5":{"V":["1"]},"aN":{"a2":["1"]},"aE":{"a0":["1","2"]},"aG":{"aE":["1","2"],"a0":["1","2"]},"aF":{"e":["1"],"c":["1"],"c.E":"1"},"b_":{"l":[]},"E":{"l":[]},"z":{"l":[]},"aw":{"l":[]},"b3":{"l":[]},"az":{"l":[]},"bn":{"l":[]},"D":{"l":[]},"b2":{"l":[]},"ax":{"l":[]},"bA":{"y":[]},"bP":{"j":["a"],"e":["a"],"c":["a"]},"c4":{"j":["a"],"e":["a"],"c":["a"]},"c3":{"j":["a"],"e":["a"],"c":["a"]},"bN":{"j":["a"],"e":["a"],"c":["a"]},"c1":{"j":["a"],"e":["a"],"c":["a"]},"bO":{"j":["a"],"e":["a"],"c":["a"]},"c2":{"j":["a"],"e":["a"],"c":["a"]},"bL":{"j":["i"],"e":["i"],"c":["i"]},"bM":{"j":["i"],"e":["i"],"c":["i"]}}')) +A.fa(v.typeUniverse,JSON.parse('{"e":1,"ai":1,"a1":1,"V":1,"aC":1,"br":1,"a5":1,"aN":1,"bu":1,"a6":1,"aL":1,"aD":1,"bz":1}')) var u={g:"Cannot fire new event. Controller is already firing an event",c:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type"} -var t=(function rtii(){var s=A.dV -return{J:s("cN"),Y:s("cO"),V:s("e<@>"),Q:s("j"),B:s("bI"),q:s("bJ"),Z:s("h6"),O:s("bK"),k:s("bL"),U:s("bM"),x:s("c"),s:s("t"),b:s("t<@>"),T:s("aj"),m:s("m"),g:s("J"),p:s("u<@>"),P:s("p"),K:s("d"),L:s("h8"),l:s("x"),N:s("S"),R:s("f"),c:s("D"),D:s("bX"),w:s("bY"),e:s("bZ"),E:s("c_"),o:s("aw"),I:s("a2<@>"),d:s("n<@>"),a:s("n"),F:s("aC"),y:s("fK"),i:s("l"),z:s("@"),v:s("@(d)"),C:s("@(d,x)"),S:s("a"),A:s("0&*"),_:s("d*"),W:s("X